정처기를 따다말았다보니 기초가 모자른거같아서 ㅠ_ㅠ
컴구랑 운영체제 공부 좀 해야겄습니다
프로세스
- 실행중인 프로그램, 즉 CPU 메모리에 올라와 있는 프로그램.
포그라운드 프로세스
- 사용자가 보는 앞에서 실행되는 프로세스
백그라운드 프로세스
- 사용자가 보지 못하는 뒤편에서 실행되는 프로세스
- 사용자와 상호작용할 수 없는 프로세스를 서비스, 리눅스에선 데몬이라고 부름.
CPU에 모든 프로그램이 한번에 올라가 실행될 수 없어서 자기에게 할당된 시간만큼만 올라올 수 잇음.
시간이 끝났음을 알리는 인터럽트가 발생하면 다음 차례가 올 때까지 또 무한 대기~
여기서 운영체제의 역할!! 빠르게 번갈아 수행되는 프로세스의 실행 순서를 관리하고, 프로세스에 CPU를 비롯한 자원을 배분함.
이를 위해 운영체제는 프로세스 제어 블록(이하 PCB)를 이용합니다.
프로세스 제어 블록(PCB, Process Control Block)
- 프로세스와 관련된 정보를 저장하는 자료 구조
- 메모리의 커널 영역에 생성 됨
- 옷이나 가전제품에 달려 있는 태그에 해당 제품을 식별하기 위한 정보가 있는 것처럼 프로세스 제어 블록에는 해당 프로세스를 식별하기 위해 꼭 필요한 정보들이 저장 됨
- 프로세스 생성 시에 만들어지고 실행이 끝나면 폐기 됨
PCB에 담긴 정보들
- 프로세스 ID
프로세스 ID, 이하 PID는 특정 프로세스를 식별하기 위해 부여하는 고유한 번호
같은 일을 수행하는 프로그램이라 할지라도 두 번 실행하면 PID가 다름
- 레지스터 값
프로세스가 실행하며 사용했던 프로그램 카운터를 비롯한 레지스터 값들
프로세스는 자신의 실행상태가 돌아오면 이전까지 사용했던 레지스터의 중간값들을 모두 복원함(이전까지 진행했던 작업들을 마저 진행해야하니까)
- 프로세스 상태
현재 프로세스의 상태
입출력장치를 사용하기 위해 기다리고 있는지, CPU를 사용하기 위해 기다리고 있는 상태인지, CPU를 이용하고 있는 상태인지 등등
- CPU 스케줄링 정보
프로세스가 언제, 어떤 순서로 CPU를 할당받을지에 대한 정보
- 메모리 관리 정보
프로세스마다 메모리에 저장된 위치가 다르므로 PCB에는 프로세스가 어느 주소에 저장되어 있는지에 대한 정보가 있어야함
- 사용한 파일과 입출력장치 목록
어떤 입출력장치가 이 프로세스에 할당되었는지, 어떤 파일들을 열었는지에 대한 정보
'공부' 카테고리의 다른 글
| [IT 인프라] 클라우드 개념 및 종류, 클라우드 형태, 클라우드 기술 및 용어 (1) | 2026.04.22 |
|---|---|
| [IT 인프라] 서버와 클라이언트, 서버의 역할 및 종류 (0) | 2026.04.20 |
| Node.js 와 Nest.js (1) | 2026.03.17 |
| [PostgreSQL] 아키텍처 및 쿼리 워크플로우 (0) | 2026.03.10 |