일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 대규모 시스템 설계
- Helm V3
- Logrus
- go
- 배포 프로세스
- apollo router
- 배포 파이프라인
- Kubernetes
- 윈도우키보드
- elasticsearch
- golang
- GoF
- Golines
- goland
- UnBuffered channel
- body size
- 컴포지트패턴
- System Design
- GoF 디자인패턴
- 디자인패턴
- Intellij
- Infra
- intellij ide
- AWS
- Buffered channel
- http 413
- 티스토리챌린지
- gitops
- 오블완
- notification system
Archives
- Today
- Total
Fall in IT.
Process Management 알아보기 본문
안녕하세요.
오늘은 프로세스 관리(Process Management)하는 방법에 대해서 알아보도록 하겠습니다.
프로세스를 관리하는 시스템콜 4가지
- fork()
- 부모 프로세스를 복제하는 시스템 콜 - exec()
- 어떤 프로그램을 새로운 프로세스로 태어나도록 하는 시스템 콜 - wait()
- 자식 프로세스가 종료될때까지 기다렸다가(blocked) 자식이 죽으면 ready 상태로 변경되는 시스템 콜
- shell(command) 프로그램도 wait()시스템 콜을 사용하는 대표적인 프로그램 입니다. - exit()
- 프로세스를 종료하는 시스템 콜
- kill, break 등으로 프로세스를 죽이는 경우, 또는 윈도우창에서 X버튼을 누르는 경우 모두 해당 됩니다.
조금 더 자세히 알아보겠습니다.
fork()
- 부모 프로세스 id는 양수로 할당되고, 자식 프로세스 id는 0으로 할당 됩니다.
- 부모 프로세스를 복제하여 생성된 자식 프로세스는 메모리를 처음에는 공유합니다.
(최초에는 Program Counter만 복제해서 같은 주소공간을 바라보고 있습니다.) - 나중에는 자식 프로세스가 write하는 순간(즉, 별도의 데이터 저장이 필요한 순간) 메모리를 할당 받습니다.
- 이를 Copy-on-write(COW)라고 합니다.
- 자식 프로세스는 fork()된 시점 이후 문맥부터 실행됩니다.
fork() / exec() / wait() / exit()
- 전체적인 흐름도
참조
- http://www.kocw.net/home/search/kemView.do?kemId=1046323#
'컴퓨터 & 네트워크 > 운영체제' 카테고리의 다른 글
CPU Scheduling (0) | 2018.01.23 |
---|---|
운영체제 프로세스 개념과 흐름 알아보기 (1) | 2018.01.16 |
운영체제란? 간단하게 알아보기 (0) | 2018.01.15 |
Comments