CHAAANY ARCHIVE

ostep

5개의 기록을 주제별로 둘러보세요.

OSTEP Limited Direct Execution: 프로세스는 직접 실행되는데 OS는 어떻게 제어할까

OSTEP의 「Mechanism: Limited Direct Execution」을 읽으며 가장 먼저 생긴 질문은 이것이었다. 사용자 프로그램을 CPU에서 직접 실행해야 빠르다면, 무한 루프에 빠지거나 특권 명령을 시도하는 프로그램으로부터 운영체제는 어떻게 제어권을 되찾을까?답은 평소에는 직접 실행하되, 위험하거나 제어가 필요한 경계에서는 하드웨어가 커널로 전환하도록 제한하는 것이다. 이 결합을 Limited Direct Execution(LDE)이라고 한다.OSTEP 6장: Mechanism — Limited Direct Execution왜 ‘Limited’가 필요한가모든 명령을 kernel이 대신 해석하면 통제하기는 쉽지만 느리다. 반대로 user program에 CPU를 완전히 맡기면 다음 문제가 생..

OSTEP Process API 학습노트: fork·exec·wait와 pipe가 이어지는 방식

OSTEP의 「Interlude: Process API」를 읽으며 fork(), exec(), wait()을 각각 외우기보다 shell이 한 명령을 실행하는 흐름으로 다시 묶었다.부모가 fork로 자식을 만든다 → 자식이 file descriptor를 정리한다 → 자식이 exec로 새 program을 실행한다 → 부모가 waitpid로 종료 상태를 회수한다OSTEP 5장: Interlude — Process APIfork: 현재 실행 흐름을 둘로 나눈다fork()가 성공하면 parent에는 child PID를, child에는 0을 반환한다. 두 process가 같은 다음 instruction부터 독립적으로 계속 실행되므로 반환값으로 역할을 나눈다.pid_t child = fork();if (chil..

OSTEP 프로세스 추상화: 프로그램·상태·PCB·컨텍스트 스위치

OSTEP의 「The Abstraction: The Process」를 읽고 다시 정리했다. 기존 글은 제목과 달리 CPU 스케줄링 정책을 설명하고 있었는데, 그 내용은 CPU 스케줄링 기초 글과 겹쳤다. 여기서는 한 단계 앞선 질문, 운영체제는 실행 중인 프로그램을 어떻게 하나의 ‘프로세스’로 다루는가에만 집중한다.한 문장으로 답하면프로그램은 디스크에 저장된 명령과 데이터이고, 프로세스는 그 프로그램이 실행되면서 생긴 주소 공간, 레지스터 값, 열린 파일 같은 실행 상태를 묶은 운영체제의 관리 단위다.하나의 프로그램 파일에서 여러 프로세스를 만들 수도 있다. 터미널 두 곳에서 같은 실행 파일을 시작하면 코드는 같지만 PID, 메모리, 레지스터, 열린 파일은 서로 다른 프로세스가 된다.구분프로그램프로세스성..

OSTEP 비례 배분 스케줄링: Lottery·Stride와 Linux EEVDF 비교

OSTEP의 ‘Scheduling: Proportional Share’를 읽으며 Lottery와 Stride 스케줄링을 정리했다. 두 방식은 각 작업에 티켓이라는 지분을 주고 CPU 시간을 그 비율에 가깝게 나누려 한다.예전 글에서는 이를 Linux CFS와 곧바로 비교했지만, 현재 Linux 스케줄러 설명에는 업데이트가 필요하다. Linux 커널은 6.6부터 CFS의 선택 방식을 EEVDF로 전환하기 시작했다. Lottery·Stride는 비례 배분을 배우기 위한 모델이고, CFS·EEVDF는 실제 커널의 다양한 제약을 다루는 설계다.비례 배분 문제작업 A에 75장, B에 25장의 티켓을 주면 목표 지분은 75%와 25%다. 여기에는 서로 다른 두 질문이 있다.긴 시간 동안 목표 비율에 가까워지는가?짧..

운영체제 원서에서 만난 영어 표현 24개: 기술 문맥까지 함께 정리

2025년 8월 24일, 운영체제 원서를 읽다가 뜻은 알아도 문장 안에서 바로 해석되지 않았던 표현을 따로 적었다. 일반 영어와 시스템 용어가 한데 섞이니 단어만 외우는 것보다 책에서 어떤 의미로 쓰였는지 함께 묶는 편이 낫다.설명의 깊이와 논지를 말하는 표현표현문맥에서의 뜻짧은 예문richer treatment더 깊고 정교한 설명The next chapter gives threads a richer treatment.crux논의의 핵심The crux is the cost of a context switch.delve into주제를 자세히 파고들다We delve into virtual memory.dive into곧바로 시작하거나 몰입하다Let's dive into the example.ground to..

728x90