본문 바로가기

CS24

[하향식 접근 8판] Chapter 2 애플리케이션 계층 - 2.4~ ※"컴퓨터 네트워킹 하향식 접근 8판" 책을 간단하게 정리한 내용의 글입니다.※2.4 DNS: 인터넷의 디렉터리 서비스2.5 P2P 파일 분배2.6 비디오 스트리밍과 콘텍츠 분배 네트워크2.7 소켓 프로그래밍: 네트워크 애플리케이션 생성2.6절까지 중요 네트워크 애플리케이션을 살펴봤고, 2.7에서는 실제로 네트워크 애플리케이션을 어떻게 작성하는 보게된다.네트워크 애플리케이션은 서버 프로그램과 클라이언트 프로그램으로 구성된다. 이때 두 가지 형태가 있다.형태 1. RFC에 정의된 표준 프로토콜을 철저히 따라서 구현한 애플리케이션형태 2. 개인의 독점적인 네트워크 애플리케이션대부분의 서비스는 클라이언트와 서버를 모두 한 곳에서 개발해서, 형태2로 RFC나 다른 곳에 공식적으로 출판되지 않은 애플리케이션 계층.. 2024. 10. 16.
[하향식 접근 8판] Chapter 2 애플리케이션 계층 - 2.1~2.3 ※"컴퓨터 네트워킹 하향식 접근 8판" 책을 간단하게 정리한 내용의 글입니다.※2.1.1 네트워크 애플리케이션 구조애플리케이션 개발자 입장에서 네트워크 구조는 고정되어 있고 서비스를 제공해준다.애플리케이션 개발자는 애플리케이션 구조만 설계하고 신경쓰면 된다.우리는 그 하위 계층의 네트워크 코어 장비들의 소프트웨어를 개발할 수 없다. 애플리케이션 구조는 대표적으로 다음 두가지가 있다.클라이언트-서버 구조서버는 항상 동작하고 있어야 한다.클라이언트들을 직접 통신하지 않고, 서버를 통해 통신한다.서버는 고정 IP 주소라는 잘 알려진 주소를 갖는다.트래픽이 클 경우 하나의 서버에서 처리하지 못한다. 이 경우에는 데이터 센터가 강력한 가상의 서버를 생성하는 역할로 사용되기도 한다.(구글, 아마존, 등) 추가적으.. 2024. 10. 16.
[컴퓨터구조] 3 컴퓨터 연산 3.1 ~ 3.4 ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※3.1 서론아래의 질문에 답할 수 있는 내용을 배울 예정이다.소수나 실수를 어떻게 표현하는지?컴퓨터로 표현할 수 있는 것보다 더 큰 수가 계산의 결과로 나오면 어떻게 되는지?하드웨어가 실제로 어떻게 곱셈, 나눗셈을 수행하는지?3.2 덧셈과 뺄셈컴퓨터는 덧셈을 할 때 사람이 하는 것처럼 가장 아랫 자리부터 더하고, 올림수는 그 위의 자리에 더한다. 뺄셈은 수의 부호를 바꿔서 더한다.덧셈 시에 오버플로가 발생할 수 있다. 서로 다른 부호의 수를 더할 때는 오버플로가 발생하지 않는다. 뺄셈 시에는 부호가 같을 경우에 오버플로가 발생하지 않는다.(덧셈과 뺄셈은 산술논리연상장치(arithmetic logic uni, A.. 2024. 10. 15.
[컴퓨터구조] 2 명령어: 컴퓨터 언어 2.11 ~ ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※2.11 병렬성과 명령어: 동기화태스크가 병렬로 동작할 때 주의할 점은 태스크들이 경쟁 상태에 놓일 수 있다는 점이다. 이를 위해 태스크 간에 동기화가 필요하다. 동기화란 공유 자원에 접근할 때 서로 간섭 없이 올바르게 작업이 이루어지도록 접근 순서를 조정하는 것이다.이를 위해 동기화 연산인 lock과 unlock을 통해 단 하나의 프로세서만 작업할 수 있는 영역을 만들어서 상호 배제(mutual exclusion)을 구현할 예정이다.동기화를 구현하기 위해서는 메모리 주소에서 데이터를 읽고 수정하는 작업을 원자적으로 처리할 수 있는 하드웨어 프리미티브가 필요하다. 중간에 인터럽트나 다른 스레드가 개입하지 않도록.. 2024. 10. 15.
[컴퓨터구조] 2 명령어: 컴퓨터 언어 2.6~ ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※2.6 논리 연산 명령어지금까지 워드 단위로 처리하는 명령어를 보았다. 하지만 워드 내 일부 비트들 뿐만 아니라 개개 비트에 대한 연산이 필요한 경우도 있다. 비트를 워드로 묶거나(packing), 워드를 비트 단위로 나누는(unpacking) 작업을 하는 명령어가 명령어 집합(instruction set)에 추가되었다. 이런 명령어를 논리 연산 명령어라고 한다.[ Logical operations ][ C operators ][ MIPS instructions ]Shift leftsllShift right>>srlBit-by-bit AND&and, andiBit-by-bit OR|or, oriBit-by-bi.. 2024. 10. 8.
[컴퓨터구조] 2 명령어: 컴퓨터 언어 2.1~2.5 ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※2.1 서론컴퓨터가 사용하는 어휘들을 명령어 집합(instruction set)이라고 한다.명령어 집합은 아키텍처(ISA)에 따라 다르다.2.2 하드웨어 연산add a, b, cb와 c를 더해서 a에 넣는 명령어여기서 add는 연산자(operator)이고, a, b, c는 피연산자(operand)이다.MIPS 대부분의 명령어가 피연산자를 반드시 3개씩 갖도록 하고 있는데, 그 이유는 하드웨어를 단순하게 하기 위함이다. 설계 원칙 1: 간단하게 하기 위해서는 규칙적인 것이 좋다.f = (g + h) - (i + j);이 코드를 MIPS 명령어로 치환하면 다음과 같다.add t0, g, hadd t1, i, js.. 2024. 10. 1.