[CS] 운영체제 - 프로세스

FE 개발자 신상오·2022년 8월 1일
0

CS

목록 보기
3/5
post-thumbnail

📚 프로세스

프로그램이 실행 중인 상태로 특정 메모리 공간에 프로그램의 코드가 적재되고 CPU가 해당 명령어를 하나씩 수행하고 있는 상태

📗 프로세스 구성요소

1. 유저 메모리 영역 관리
프로세스 별로 독립된 영역을 가지고있는 공간
2. 핸들 테이블
프로세스에서 사용하는 모든 핸들에 대한 커널 객체 포인터 정보를 배열 형태로 가지고 있는 공간
3. 독립적인 메모리 공간
프로세스 단위로 관리되는 자원 중 가장 웅요한 구별점은 메모리로
페이징 기법을 이용하여 프로세스마다 별도의 고유한 메모리를 사용할 수 있도록 함

📗 프로세스 특징

- 자원 소유의 단위
각각의 프로세스는 자신의 실행 이미지 로드와 실행에 필요한 추가적인 메모리 공간이 필요함, 단위는 해당 프로세스가 접근하고자 하는 파일, 입출력 장치들에 대해 프로세서 단위로 할당 받아 관리되어야 함
- 디스패칭의 단위 (스레드)
프로세스는 하나의 프로그램이 운영체제로부터 CPU 자원을 일정 기간 동안 할당 받아 명령어를 실행하는 것이며, 여러개의 프로세스가 병렬적으로 실행되게 하기 위해
CPU의 사용 시간을 각각의 프로세스에 골고루 나누어 주어야 함
하나의 프로세스에서 여러 개의 디스패칭 단위가 실행될 수 있도록 하고 있다.

📗 프로세스 상태

- 실행 : 프로세스가 프로세서를 차지하여 서비스를 받고 있는 상태
- 준비 : 실행될 수 있도록 준비되는 상태
- 대기 : CPU의 사용이 아니라 입출력 사건을 기다리는 상태

📗 프로세스 VS 프로세서

프로세서?

- 하드웨어적 측면
프로그램 수행 하드웨어 유닛 : CPU (하나 이상의 ALU 레지스터 내장)
- 소프트웨어적 측면
데이터 포맷 변환 역할, 데이터 처리 시스템 : 워드프로세서, 컴파일러

프로세스?

특정 목적 수행하기 위해 나열된 작업의 목록
메모리에 적재 되어 프로세서에 의해 실행 중인 프로그램

profile
주간 회고용 블로그입니다 (개발일지와 정보글은 티스토리에 작성합니다.)

0개의 댓글