728x90
반응형
OS는 프로세스가 정보를 공유하고 교환할 수 있도록 리소스를 할당해야 한다. 각 프로세스의 리소스를 보호하고 프로세스 간의 동기화를 허용하기도 한다. 생성, 스케줄링, 프로세스 종료 및 교착 상태와 같은 다양한 작업을 포함한다.
- 프로세스 : 실행중인 응용 프로그램의 인스턴스
- 스택 : 스택은 함수 매개변수, 반환 주소 및 지역 변수와 같은 임시 데이터 저장
- 힙 : 런타임 동안 처리될 수 있는 메모리를 할당
- 데이터 : 변수를 포함. 텍스트, 프로그램 코드, 전역 변수, 데이터 섹션
- 텍스트 : 프로그램 카운터 값으로 표시되는 현재 활동이 포함
- 응용 프로그램을 실행하기 위한 모든 데이터를 캡슐화
- 임시데이터(함수 매개변수, 반환 주소 및 지역 변수)를 포함하는 프로세스 스택 캡슐화
- 실행 중의 후입선출(LIFO) 순서로 증가 및 축소되는 프로세스 상태의 동적 부분
- PCB(공정 제어 블록) : 모든 프로세스에 대해 운영 체제에서 유지 관리하는 데이터 구조
- pid(프로세스 id)로 식별
- 프로세서 레지스터의 내용을 저장
- 프로세스 상태 : 프로세스는 신규, 준비, 실행 중, 대기 중 등일 수 있다.
- 프로그램 카운터: 프로그램 카운터는 해당 프로세스에 대해 실행되어야 하는 다음 명령어의 주소를 준다.
- CPU 레지스터: 누산기, 인덱스 및 범용 레지스터, 조건 코드 정보
- CPU 스케줄링 정보: 프로세스 우선순위, 스케줄링 대기열에 대한 포인터 및 기타 다양한 스케줄링 매개변수
- 회계 및 비즈니스 정보: CPU 사용량 및 실시간 사용, 작업 또는 프로세스 번호 등과 같은 시간 유틸리티
- 메모리 관리 정보: 기본 및 제한 레지스터, 페이지 또는 세그먼트 테이블의 값. 운영 체제에서 사용하는 메모리 시스템에 따라 다름
- I/O 상태 정보: 열린 파일 목록, 프로세스에 할당된 I/O 장치 목록 등
출처 : https://medium.com/@akhandmishra/operating-system-process-and-process-management-108d83e8ce60
- new : 특정 프로그램이 2차 메모리/하드 디스크에서 1차 메모리/RAM으로 호출할 때 새 프로세스가 생성
- ready : 준비 상태에서 프로세스는 실행 준비가 된 기본 메모리에 로드되어야 함
- waiting : 프로세스가 실행을 위해 CPU 시간 및 기타 리소스 할당 대기
- running : OS 스케줄러에 의해 프로세스가 프로세서에 할당되어 실행 상태
- interrupt : 어떤 일의 발생으로 준비상태로 되돌아감
- I/O or event : 프로세스가 I/O 작업과 같은 이벤트에 의해 준비상태로 이동
- suspended : 상태는 프로세스가 실행할 준비가 되었지만 OS에 의해 준비 대기열에 배치되지 않은 시간
- terminated : 종료됨 상태는 프로세스가 종료되는 시간을 지정
프로세스 생성 : 프로세스는 자식 프로세스를 만들 수 있다 -> 모든 프로세스는 생성 프로세스가 상위 프로세스. 트리 형태
728x90
반응형
'IT > Back-end' 카테고리의 다른 글
AWS API gateway header 읽지 못하는 문제 (0) | 2023.08.01 |
---|---|
운영체제 (0) | 2022.10.06 |
터미널 사용(terminal usage) (0) | 2022.10.06 |