일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mips
- 스케줄링
- 컴퓨터구조
- 스레드
- 동기화
- 기아 상태
- 교착상태
- 페이지 대치
- 트랩
- 페이징
- 알고리즘
- 운영체제
- BOJ
- PYTHON
- 단편화
- 우선순위
- Algorithm
- ALU
- 페이지 부재율
- mutex
- 부동소수점
- Oracle
- concurrency
- 추상화
- 프로세스
- 세마포어
- 인터럽트
- fork()
- 가상 메모리
- 백준
- Today
- Total
목록프로세스 (8)
봉황대 in CS
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 스케줄러 (Scheduler) 컴퓨터가 가진 자원은 한정되어 있고, 이를 여러 프로세스가 효율적으로 사용하기 위해서는 스케줄러(Scheduler)가 필요하다. 스케줄러는 다음 실행 시간에 실행할 수 있는 프로세스들 중 하나를 선택해주는 역할을 해준다. 스케줄러에는 3가지 종류(장기, 중기, 단기 스케줄러)가 있다. 장기 스케줄러 (Long-term scheduler) / 작업 스케줄러 (Job scheduler) 어느 프로그램을 하드 디스크로부터 메모리로 적재할지를 결정하는 스케줄러 일괄처리(batch) 큐를 ..
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. Windows 스레드 각 프로세스는 한 개 또는 그 이상의 스레드를 가질 수 있다. CreateProcess() API를 통해서 스레드를 생성하며, * 참고 : 2022.07.09 - [Computer Science/Operating System] - [Chapter 3. 프로세스] 프로세스 생성과 종료 일대일 대응을 통해 사용자 수준 스레드 하나마다 커널 스레드 하나가 대응된다. Windows 스레드는 3가지 자료구조를 가지며, 다음의 항목들에 대한 정보를 저장하고 있다. 1. ETHREAD (executiv..
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 다중 스레드 프로그램 설계 시 발생하는 문제들이 있다. 여기서는 관련 여러 문제들과 각각에 대한 해결책을 소개한다. fork() 및 exec() 시스템 호출 한 프로세스가 여러 스레드를 가지고 있는 상태라고 하자. 만약 그중 한 스레드가 프로세스를 생성하는 시스템 콜인 fork()를 호출하게 된다면 새로운 프로세스는 모든 스레드를 복제해야 할까, 아니면 해당 스레드 하나만 가지는 프로세스여야 할까?? fork() 뿐만 아니라 만약 exec() 시스템 콜이었다면 프로세스는 어떻게 조치를 취해야 할까?? 1. ex..
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 운영체제 내에서 실행되는 병행 프로세스들은 다음의 두 가지로 구분될 수 있다. 1. 독립적 프로세스 프로세스가 시스템에서 실행 중인 다른 프로세스들에게 영향을 주거나 받지 않는 프로세스 2. 협력적 프로세스 프로세스가 시스템에서 실행 중인 다른 프로세스들에게 영향을 주거나 받는 프로세스 즉, 독립적인 프로세스는 다른 프로세스와 데이터를 공유하지 않으며, 협력적인 프로세스는 공유한다. 협력적 프로세스의 대표적인 예시로는 생산자-소비자 문제(Producer-Consumer Problem)가 있다. 생산자 프로세스는..
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 프로세스는 한 프로세스에 의해 새로 생성될 수 있으며, 생성된 프로세스는 자신에 의해서(수행을 마쳤을 경우) 또는 외부의 요청에 의해서 종료한다. 프로세스 생성 프로세스는 다른 프로세스를 생성할 수 있다. 이때 프로세스를 생성하는 프로세스를 부모 프로세스라고 하며, 생성된 새로운 프로세스는 자식 프로세스라고 한다. 부모 프로세스와 자식 프로세스는 1:N 관계이기에 전체적으로 트리가 구성된다. 프로세스 각각에게는 고유 번호 즉, 프로세스 식별자(PID)가 할당된다. (보통 정수 값) 위의 트리 그림에서 root..
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 프로세스 제어 블록 (Process Control Block, PCB) 커널 내의 프로세스 문맥 정보를 저장하는 자료 구조 프로세스의 일생 동안 해당 프로세스의 모든 정적, 동적인 정보를 가진다. 즉, 커널이 프로세스를 관리하기 위한 실체이다. 문맥 교환 시 커널 수준 문맥은 추후 복구를 위해 PCB에 저장(save), 스케줄링된 새로운 프로세스의 문맥이 적재(restore)된다. 2022.07.07 - [Computer Science/Operating System] - [Chapter 3. 프로세스] 프로세스..
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 프로세스는 실행되면서 그 상태가 변한다. 프로세스의 상태는 그 프로세스의 현재 활동에 따라서 정의된다. * 어느 한순간에 한 처리기 상에서는 오직 한 프로세스만이 실행된다. * 준비 및 대기 상태에는 많은 프로세스가 해당 상태에 있을 수 있다. 생성 (new) 프로세스가 생성된 상태 즉, PCB와 메모리 상의 주소 공간(사용자 문맥)이 마련된 상태이다. 준비 (ready) CPU의 배정을 기다리는 상태 스케줄링에 의하여 선택만 된다면 언제든지 실행이 될 수 있는 상태이며, 준비 리스트 또는 준비 큐에서 기다리고..
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 프로세스 (Process) 실행 중인 프로그램 시스템 콜을 통해 자원을 요구하는 주체 * 운영체제(시스템) 프로세스 : 운영체제가 필요에 의해 생성, 시스템 코드를 실행한다. * 사용자 프로세스 : 사용자 코드(응용 프로그램)를 실행한다. → 자원 경쟁 측면에서 둘은 동일하다. * 프로그램 그 자체는 프로세스가 아니다! [ 프로그램 ] 명령어 리스트를 내용으로 가진 저장 장치에 저장된 파일(실행 파일)을 뜻한다. → 수동적인 존재 [ 프로세스 ] 메인 메모리에 존재하며, 다음에 실행할 명령어를 지정하는 프로그램..