일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 페이지 대치
- BOJ
- 부동소수점
- 교착상태
- PYTHON
- 트랩
- 프로세스
- 추상화
- 가상 메모리
- 컴퓨터구조
- Oracle
- 단편화
- concurrency
- fork()
- 세마포어
- mutex
- Algorithm
- 페이징
- mips
- 운영체제
- ALU
- 스케줄링
- 스레드
- 기아 상태
- 동기화
- 인터럽트
- 우선순위
- 페이지 부재율
- 백준
- 알고리즘
- Today
- Total
목록exec() (2)
봉황대 in CS

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 다중 스레드 프로그램 설계 시 발생하는 문제들이 있다. 여기서는 관련 여러 문제들과 각각에 대한 해결책을 소개한다. fork() 및 exec() 시스템 호출 한 프로세스가 여러 스레드를 가지고 있는 상태라고 하자. 만약 그중 한 스레드가 프로세스를 생성하는 시스템 콜인 fork()를 호출하게 된다면 새로운 프로세스는 모든 스레드를 복제해야 할까, 아니면 해당 스레드 하나만 가지는 프로세스여야 할까?? fork() 뿐만 아니라 만약 exec() 시스템 콜이었다면 프로세스는 어떻게 조치를 취해야 할까?? 1. ex..

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 프로세스는 한 프로세스에 의해 새로 생성될 수 있으며, 생성된 프로세스는 자신에 의해서(수행을 마쳤을 경우) 또는 외부의 요청에 의해서 종료한다. 프로세스 생성 프로세스는 다른 프로세스를 생성할 수 있다. 이때 프로세스를 생성하는 프로세스를 부모 프로세스라고 하며, 생성된 새로운 프로세스는 자식 프로세스라고 한다. 부모 프로세스와 자식 프로세스는 1:N 관계이기에 전체적으로 트리가 구성된다. 프로세스 각각에게는 고유 번호 즉, 프로세스 식별자(PID)가 할당된다. (보통 정수 값) 위의 트리 그림에서 root..