728x90
반응형
Chapter 3. Process
프로세스란? 실행중인 프로그램!
프로세스의 문맥을 잘 이해해야 한다.

- 프로세스의 문맥(Context)
- CPU 수행 상태를 나타내는 하드웨어 문맥
- Program Counter
- 각종 Register
- 프로세스의 주소 공간
- Code, Data, Stack
- 프로세스 관련 커널 자료 구조
- Kernel Stack
- PCB(Process Control Block)
- CPU 수행 상태를 나타내는 하드웨어 문맥
State
State 변화
프로세스는 상태(State)가 변경되며 수행된다.

- State
- Running
- CPU를 할당받고 Instruction을 수행중인 상태
- Ready
- CPU를 할당받기를 기다리는 상태(모든 조건을 만족한 상태)
- Blocked
- CPU를 할당받아도 당장 Instruction할 수 없는 상태
- Process 자신이 요청한 Event(ex. I/O Interrupt)가 발생하지 않아 기다리는 상태
- Ex) 디스크에서 파일을 읽어와야 하는 경우,
- New
- 프로세스가 생성중인 상태
- Terminated
- 실행(Execution)이 종료된 상태
- Running
문맥 교환
- CPU를 한 프로세스에서 다른 프로세스로 넘겨주는 과정
- CPU가 다른 프로세스에게 넘어갈 때 → 인터럽트 발생!
- 인터럽트 발생 시, 기존의 프로세스의 상태를 해당 프로세스의 PCB에 저장 → “문맥 저장”이라고 한다
- CPU를 할당받는 프로세스의 상태를 PCB에서 읽음
Scheduling Queue
- Job Queue : 현 시스템 내에 있는 모든 프로세스들의 집합
- Ready Queue : 현재 메모리 내에 있으며, CPU를 할당받아 실행되기를 기다리는 프로세스의 집합
- Device Queue : I/O Device Interrupt를 기다리는 프로세스의 집합
Scheduler
3개의 스케줄러 존재
Long Term Scheduler : 어떤 프로세스를 Ready Queue로 보낼지 결정. Memory에 영향
Medium Term Scheduler
Short Term Scheduler : 어떤 프로세스를 Running 할 지 결정. 빠른 속도 중요
Thread
- 구성 : PC(Program Counter), Register Set, Stack Space
- 다른 스레드와의 공유 → Code Section, Data Section, OS Resource
- 스레드는 하나의 프로세스에서 자원을 공유하고, CPU 단위만 여러개 두고 있는 것이다.
- 스레드를 사용하면 병렬성을 증가할 수 있음.
- 스레드 사용 시, 공유 자원 접근시, 전략을 세워 접근 해야함
- 공유 자원 A 접근 시, 2개 이상의 스레드 접근 시, 데이터 및 무결성 손상 → 데드락 발생
- 임계 영역 설계 필요.
728x90
반응형
'책' 카테고리의 다른 글
[데이터베이스 첫 걸음] 3주차 공부 내용 정리 (0) | 2023.10.17 |
---|---|
[반효경의 운영체제] 4주차 공부 내용 정리 (1) | 2023.10.17 |
[모두의 네트워크] 4주차 공부 내용 정리 (1) | 2023.10.17 |
[모두의 네트워크] 3주차 공부 내용 정리 (0) | 2023.10.17 |
[반효경의 운영체제] 2주차 강의 내용 정리 (0) | 2023.09.24 |
728x90
반응형
Chapter 3. Process
프로세스란? 실행중인 프로그램!
프로세스의 문맥을 잘 이해해야 한다.

- 프로세스의 문맥(Context)
- CPU 수행 상태를 나타내는 하드웨어 문맥
- Program Counter
- 각종 Register
- 프로세스의 주소 공간
- Code, Data, Stack
- 프로세스 관련 커널 자료 구조
- Kernel Stack
- PCB(Process Control Block)
- CPU 수행 상태를 나타내는 하드웨어 문맥
State
State 변화
프로세스는 상태(State)가 변경되며 수행된다.

- State
- Running
- CPU를 할당받고 Instruction을 수행중인 상태
- Ready
- CPU를 할당받기를 기다리는 상태(모든 조건을 만족한 상태)
- Blocked
- CPU를 할당받아도 당장 Instruction할 수 없는 상태
- Process 자신이 요청한 Event(ex. I/O Interrupt)가 발생하지 않아 기다리는 상태
- Ex) 디스크에서 파일을 읽어와야 하는 경우,
- New
- 프로세스가 생성중인 상태
- Terminated
- 실행(Execution)이 종료된 상태
- Running
문맥 교환
- CPU를 한 프로세스에서 다른 프로세스로 넘겨주는 과정
- CPU가 다른 프로세스에게 넘어갈 때 → 인터럽트 발생!
- 인터럽트 발생 시, 기존의 프로세스의 상태를 해당 프로세스의 PCB에 저장 → “문맥 저장”이라고 한다
- CPU를 할당받는 프로세스의 상태를 PCB에서 읽음
Scheduling Queue
- Job Queue : 현 시스템 내에 있는 모든 프로세스들의 집합
- Ready Queue : 현재 메모리 내에 있으며, CPU를 할당받아 실행되기를 기다리는 프로세스의 집합
- Device Queue : I/O Device Interrupt를 기다리는 프로세스의 집합
Scheduler
3개의 스케줄러 존재
Long Term Scheduler : 어떤 프로세스를 Ready Queue로 보낼지 결정. Memory에 영향
Medium Term Scheduler
Short Term Scheduler : 어떤 프로세스를 Running 할 지 결정. 빠른 속도 중요
Thread
- 구성 : PC(Program Counter), Register Set, Stack Space
- 다른 스레드와의 공유 → Code Section, Data Section, OS Resource
- 스레드는 하나의 프로세스에서 자원을 공유하고, CPU 단위만 여러개 두고 있는 것이다.
- 스레드를 사용하면 병렬성을 증가할 수 있음.
- 스레드 사용 시, 공유 자원 접근시, 전략을 세워 접근 해야함
- 공유 자원 A 접근 시, 2개 이상의 스레드 접근 시, 데이터 및 무결성 손상 → 데드락 발생
- 임계 영역 설계 필요.
728x90
반응형
'책' 카테고리의 다른 글
[데이터베이스 첫 걸음] 3주차 공부 내용 정리 (0) | 2023.10.17 |
---|---|
[반효경의 운영체제] 4주차 공부 내용 정리 (1) | 2023.10.17 |
[모두의 네트워크] 4주차 공부 내용 정리 (1) | 2023.10.17 |
[모두의 네트워크] 3주차 공부 내용 정리 (0) | 2023.10.17 |
[반효경의 운영체제] 2주차 강의 내용 정리 (0) | 2023.09.24 |