jun-wiki

View My GitHub Profile

Posts (Latest 10 updated) :
Read all
Contents:
  1. OSTEP 5장 막간: 프로세스 API
    1. fork() 시스템 콜
    2. wait() 시스템 콜
    3. exec() 시스템콜
    4. 왜, 이런 API를?
  2. OSTEP 6장
  3. OSTEP 16장
  4. OSTEP 18장
  5. OSTEP 19장

운영체제 아주 쉬운 세 가지 이야기

통칭 OSTEP다

현재 OS 프로젝트 하고 있고 당연하게도 이것이 중요한 참고서가 되기에

관련해서 읽은 거 정리할 계획이다

argument passing와 관련 있는 거 정리한 거 여기에 적겠다

OSTEP 5장 막간: 프로세스 API

Pintos 프로젝트 2에서 fork(), exec(), wait()은 중대사항이다

특히 exec()하고 wait의 규약과 부모-자식 관계 유의깊게 보면 좋다

fork() 시스템 콜

fork 함수를 통해 부모 프로세스를 복사한 자식 프로세스를 만든다

두 프로세스의 차이점은 각자만의 공간을 가지고 있다는 것과 fork() 시스템 콜의 반환값이 서로 다르다는 거다

부모 프로세스는 자식 프로세스의 PID를 반환 받고

자식 프로세스는 0을 반환 받는다

순서를 명확히 해놓지 않는 다면 둘 중 작동 순서는 뭐가 먼저일지 알 수 없다

wait() 시스템 콜

부모 프로세스가 자식 프로세스 대기하는 경우에 필요하다

작동 순서를 명확히 해야 할때 주로 사용한다

wait() 후 리턴이 올 때까지 잠시 중단하고

리턴값이 올경우 부모 프로세스 다시 작동

exec() 시스템콜

별 거 없다

실행 중 프로세스를 새로 주어진 코드와 정적 데이터로 덮어쓰고

힙과 스택 등 프로그램 주소 공간을 새 코드를 위해 초기화한다

왜, 이런 API를?

OSTEP 6장

OSTEP 16장

OSTEP 18장

OSTEP 19장