Process
- 실행 중인 프로그램
- 운영체제에 의해 각 프로세스 마다 독립적인 주소공간(virtual adress)이 할당된다.
- 프로그램은 일련의 명령어들로 구성된 파일이다.
- 유닉스의 모든 프로세스는 init 프로그램을 기반으로 하여 fork() 및 exec()이 발생한다.
fork() : 프로세스는 다른 프로세스(parent process)에 의해 생성된다
(예외: init 프로세스, systemd 프로세스는 다른 프로세스에 의해 생성되지 않음)
exec() : 커널은 해당 프로그램을 메인메모리에 장착한다.
exec()을 하게 되면 기존의 a.out 프로그램은 새롭게 부른 /bin/ls에 의해서 덮어지게 된다.
ip(instr. Pointer)를 특정 프로그램의 시작 주소로 세팅하여 해당 프로세스를 시작할 수 있다.
참고
'네트워크' 카테고리의 다른 글
메모리의 구조 (0) | 2020.09.29 |
---|---|
Concurrent server (0) | 2020.09.29 |