
Process Memory Layout Normal function을 실행하면 stack영역을 사용한다. System call은 kernel stack에서 사용 후 결괏값을 stack 영역에 저장한다. System call을 호출할 때마다 프로세스 1개당 kernel stack 1개를 할당한다. Stack 영역 함수들이 호출될 때 아래로 차면서 데이터가 저장된다. Heap 영역 동적 메모리가 요청될 때 위로 차면서 데이터가 저장된다. Data segment 전역변수가 저장된다. Text segment 바이너리 프로그램 코드가 저장된다. 왜 프로세는 Physical memory의 같은 Kernel memory 영역을 공유하지? 물리적으로는 1대의 컴퓨터에 1개의 OS만 사용 가능하다. 하지만 1개의 프로세..
System call 프로그래머들은 API를 통해 간접적으로 system call을 사용한다. System call을 직접적으로 호출하지 않고 API를 사용하는 이유 매우 많은 종류의 파라미터가 있기 때문에, system call을 직접적으로 사용하기 어렵다. 이식성 (다른 컴퓨터를 쓰더라도 API를 통해 똑같이 실행할 수 있는 능력) Windows API가 Linux에서 작동하지 않는 이유 OS가 다르기 때문에 전혀 다른 system call을 사용하기 때문. System call types: Communications Message passing 메시지 교환에 기반함 Sender와 Receiver가 우선적으로 확인되어야 한다. Shared memory 프로세스가 system call을 통해 다른 프로..
- Total
- Today
- Yesterday