no image
Chapter 11. Network Programming
11.1 The Client-Server Programming Model 서버-클라이언트 모델 서버 프로세스는 한 개 또는 여러 개의 클라이언트 프로세스로 구성된다. 서버 : 리소스 관리, 리소스 조작 → 클라이언트를 위한 서비스 제공 서버-클라이언트의 근본적인 연산은 ‘트랜잭션’이다. 아래와 같은 총 4가지 스텝으로 트랜잭션이 이루어진다. ⚠️ 클라이언트와 서버는 프로세스이며, 머신이나 호스트는 아니다. 11.2 Networks 클라이언트와 서버는 별도의 호스트에서 돌아가며, 컴퓨터 네트워크의 H/W 및 S/W를 사용해서 통신한다. 호스트에게 네트워크는 또 다른 I/O 디바이스 이다. I/O bus의 확장 슬롯에 어댑터가 꽂혀있으며, 네트워크에 물리적인 인터페이스를 제공한다. 네트워크에서 수신한 데이터..
2022.12.20
no image
Ch9. Dynamic Memory Allocation(9.9)
추가적인 가상메모리를 런타임에 획득할 필요가 있을 때 동적 메모리 할당을 사용한다. 편리성, 호환성 Intro. 동적 메모리 할당 malloc, garbage collector 힙(heap)을 관리한다. 프로세스의 가상메모리 영역 초기화되지않은 데이터 영역 직후에 시작해서 위쪽(낮은 주소에서 높은 주소로) 커지는 메모리 영역 각각의 프로세스에 대해서 커널은 힙의 꼭대기를 가리키는 변수 brk(break) 를 사용한다. 힙을 다양한 크기의 블록들의 집합으로 관리한다. 각 블록은 할당 or 가용한 가상메모리의 연속적인 묶음이다. 할당된 블록 : 응용하기 위해 명시적으로 보존된다. Ex. C의 malloc으로 동적 메모리가 할당된 상태 할당된 블록은 메모리 할당기에 자신에 의해 ‘명시적(..
2022.12.06
no image
Ch1. A Tour of Computer Systems(1.7 ~ 1.9)
1-7. The Operating System Manages the Hardware 운영체제 : 하드웨어와 소프트웨어 사이에 위치한 소프트웨어 계층 응용 프로그램이 하드웨어를 제어하려면 언제나 운영체제를 통해야한다. 운영체제의 목적 응용프로그램들이 하드웨어를 잘못 사용하는 것 방지 응용프로그램이 저수준의 하드웨어 장치를 효율적으로 조작할 수 있도록 함 운영체제의 추상화 운영체제의 목적을 추상화(abstraction)를 통해 달성한다. 파일 : 입출력 장치의 추상화 가상메모리 : 메인 메모리와 디스크 입출력 장치의 추상화 프로세스 : 프로세서, 메인 메모리, 입출력 장치 모두의 추상화 결과 💡 운영체제에서의 추상화(Abstraction)? 정의하고자 하는 대상의 디테일, 자세하고 사소한 특징들을 숨기고 주..
2022.12.06
no image
Ch1. A Tour of Computer Systems(1.1 ~ 1.6)
프로그램 실행 이전에 어떤 일이 일어나는 가를 탐구 1-1. Information is bits + Context 소스 프로그램 : 비트들의 연속, 8 비트라 불리는 바이트로 구성되어 있다. 대부분의 컴퓨터 시스템에서는 바이트 표준으로 텍스트 문자를 표현한다. hello.c 프로그램은 일련의 byte로 저장이된다. (Figure 1.2) 각 바이트는 일부 문자와 해당하는 정수 값을 의미한다. 이후 \n 개행 문자에 의해 줄 바꿈이 일어난다. ASCII 문자로 구성된 파일을 텍스트 파일이라고 한다. 그 외에 다른 모든 파일들은 바이너리 파일이다. 시스템의 모든 정보는 모두 비트 묶음으로 표시된다. 동일한 바이트 시퀀스더라도 정수형, 실수형, 문자열, 기계어로 나타낼 수 있다. 프로그램 실행시, 각 문자열을..
2022.11.03