#system-call
노트 7개
Computer Science › Operating System
셸이 명령을 실행하는 방식셸이 한 줄의 명령을 토큰화·파싱·확장한 뒤 fork·exec·wait와 pipe·dup2로 실행하는 과정. 파이프라인이 동시에 실행되는 이유, 쓰지 않는 파이프 끝을 닫아야 하는 이유, heredoc·서브셸·종료 상태까지 정리한다.
Computer Science › Operating System
운영체제의 시간과 타이머운영체제가 다루는 세 가지 시간(벽시계·단조·프로세스 CPU 시간), 이를 재는 하드웨어(RTC·HPET·TSC), POSIX 시계 API, sleep 계열 함수, alarm과 인터벌 타이머를 정리한다. 경과 시간은 단조 시계로 재야 하는 이유가 핵심이다.
Computer Science › Operating System
컴퓨터 시스템 구조와 인터럽트모드 비트, 타이머, 장치 제어기, 인터럽트, 시스템 콜, 동기식·비동기식과 블로킹·논블로킹 입출력, DMA, 커널 입출력 서브시스템(드라이버 계층, 블록·문자·네트워크 장치, 버퍼링·캐싱·스풀링, 입출력 성능 원칙), 커널 주소 공간을 통해 운영체제가 하드웨어를 다루는 방식과, 시스템 콜·라이브러리 함수의 차이와 man 페이지 섹션을 정리.
Computer Science › Operating System
파일 시스템파일과 디렉터리, 트리 구조 디렉터리와 경로, 디렉터리 엔트리, 파티션, 리눅스 디렉터리 구조(FHS), open() 동작, 파일 보호와 마운트, 접근 방식 등 파일 시스템의 인터페이스.
Computer Science › Operating System
프로세스와 스레드프로세스의 문맥과 메모리 영역(코드·데이터·힙·스택), PCB, 문맥 교환, 스레드의 구조와 장점, 사용자 수준·커널 수준 스레드 모델(N:1·1:1·M:N), 멀티프로세스와 멀티스레드 비교, fork·exec·wait·exit, IPC 수단과 파이프·FIFO·공유 메모리·메시지 큐 사용법.
Computer Science › Operating System
UNIX 시그널커널이나 다른 프로세스가 프로세스에 보내는 비동기 알림인 시그널. 주요 시그널과 기본 동작, sigaction과 핸들러 작성 규칙, 보류·병합 특성, SIGCHLD와 좀비 프로세스, 시그널을 통신에 쓸 때의 한계를 정리한다.
Computer Science › Operating System
UNIX 파일 입출력과 파일 디스크립터프로세스가 파일·파이프·소켓을 정수 하나(파일 디스크립터)로 다루는 UNIX 입출력 모델. 커널의 세 테이블, open 플래그와 read 반환값 처리, dup2와 리다이렉션, stdio 버퍼링 모드와 페이지 캐시, I/O 멀티플렉싱, mmap과 그 한계를 정리한다.