728x90
프로세스의 배경지식에 대해서 정리해보자.
프로세스에 대한 여러 정의를 정리하자면
1. 수행중인 프로그램
2. 컴퓨터상에 수행중인 프로그램의 인스턴스,
3. 처리기에 할당되어 수행될 수 있는 개체(entitiy)
4. 명령들의 순차수행, 현재상태, 연계된 시스템 자원들의 집합 등에 의해 특징지어지는 활성화 단위
프로세스는 프로그램 코드,와 데이터의 집합으로 이루어져있다.
프로세스를 식별하는 방법은 다양하게 있따.
식별자: 각 프로세스를 다른 모든 프로세스로부터 구별하게 해주는 유일한 식별자(학생으로 치면 학번같은 거)
상태: 러닝인지, 블락인지 서스팬드인지 레디인지 이런거..
우선순위: 다른 프로세스들에 대해 상대적인 우선순위 수준
프로그램 카운터(PC) : 프로그램에서 다음에 수행될 명령어의 주소
메모리 포인터: 프로세스와 연계된 프로그램 코드 및 데이터, 다른 프로세스들과 공유되는 메모리 블록들에 대한 포인터를 포함한다.
문맥 데이터: 프로세스가 수행중일 때, 처리기의 레지스터에 존재하는 데이터
등등...
위의 목록들의 정보는 PCB(Process Control Block)이라는 자료 구조에 저장된다. PCB는 운영체제에 의해 생성되어 관리된다.
어떤 프로세스가 인터럽트될때, PC와 처리기 레지스터(context)들의 현재 값이 PCB의 적당한 필드에 저장된다. 그 후 그 프로세스의 상태가 블록 또는 준비등과 같은 값으로 변경된다.
'운영체제' 카테고리의 다른 글
운영체제 3.3 Process Description (0) | 2021.04.01 |
---|---|
운영체제 3.2 프로세스 상태 (0) | 2021.03.30 |
운영체제 2.1단원 복습 (0) | 2021.03.16 |
운영체제 3월 9일 3번째 수업. (0) | 2021.03.09 |
운영체제 3/3 두번째수업 (0) | 2021.03.03 |