ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3.1 Process Concept
    TIL(today i learned)/운영체제 2023. 3. 20. 14:16

    CPU의 활동을 을 부르는 방법

    단일 처리시스템: job

    시분할시스템: user programs  or tasks

    프로세스:실행중인 프로그램(백번은 말한거같다)

    프로그램vs프로세스

    프로그램:명령어 리스트를 내용으로가진 디스크에 저장된파일(수동적인 존재)

    프로세스:실행할 명령어를 지정하는프로그램 카운터와 관련 자원의 집합을 가짐 (능동적인존재)

     

    아래 그림을 보자

     

    Text section :실행 코드

    Data section :전역 변수

    Heap section :프로그램중에 동적으로 할당되는 메모리

    Stack section :함수를 호출할때 임시 저장소(재귀함수 가 깊어지면 안되는 이유)

     

    activation record(활성화 레코드) :함수실행시 매개변수,지역변수,복귀주소를 포함하는 활성화 레코드가 스택에 푸시된다 메모리가 할당됨에따라 힙은 커지고 반환되면 힙은 작아진다 

    OS는 스택과 힙이 서로의 방향으로 커지며 겹치는것을 막아야한다.

     

    Process State(프로세스 상태)[시험에 나온다고 하셨음]

    new:프로세스가 생성중

    ready:프로세스가 처리기에 할당되기를 기다림

    running:명령어들이 실행되는중

    waiting:프로세스가 어떤이벤트(입출력 완료 또는 신호 수신같은것들)가 일어나기를 기다리는것

    terminated:프로세스의 실행이 종료 되었다.

    꼭 외우자 시험에 나온다 하셨다.

     해야할 일을 정하는 것 까지가 Scheduler의 일, 실제로 cpu를 Process에 할당하는 것이 Dispathcer의 일이라고 한다.

     

    Process Control Block (PCB)

    특정 프로세스와 연관된 여러 정보를 수록한것

    다음과 같은 것들을 포함한다.

    프로세스상태:new,ready,waiting,running등등

    프로그램 카운터:이 프로세스가 다음에 실행할 명령어의 주소를 카리킴

    CPU레지스터들:CPU레지스터는 컴퓨터 구조에따라 다양한 수와 유형을 가진다.프로그램카운터와 함께 이 상태정보는, 나중에 프로세스가 다시 스케줄될때 계속 올바르게 실행되도록 하기위해서 인터럽트 발생시 저장되어야한다

    CPU스케줄링 정보:프로세스,우선순위,스케줄 큐에 대한 포인터와 다른 스케줄 매개변수를 포함한다.

    메모리 관리정보:운영체제에 의해 사용되는 메모리 시스템에따라 기준 레지스터와 한계 레지스터의 값,운영체제가 사용하는 메모리 시스템 에따라 페이지 테이블 또는 세그먼트 테이블 등과 같은 정보를 포함한다.

    회계 정보:CPU서용시간과 경과된 실시간,시간 제한,계정 번호,잡 또는 프로세스 번호등을 포함한다.

    입출력상태정보:이프로세스에 할당된 입출력 장치들과 열린파일의 목록 등을 포함한다.

     

    스레드

    현대 OS는 다중 스레드를 지원한다.

    프로세스가 한번에 하나 이상의 일을 수행할수 있도록 허락한다.

    스레드를 지원하는 PCB는 각 스레드에 관한 정보를 포함하도록 확장된다.

     

    Process Scheduling

    프로세스 스케줄러는 코어에서 실행가능한 여려 프로세스중에서 하나의 프로세스를 고른다.

    현재메모리에 있는 프로세스 수를 다중 프로그래밍 정도라고 한다.

     

    IO바운드 프로세스:계산보다IO에 신경 쓴다.

    CPU바운드 프로세스:IO보다 계산에 신경쓴다.

     

    'TIL(today i learned) > 운영체제' 카테고리의 다른 글

    Android Process Hierarchy  (0) 2023.03.27
    3.2.1 Scheduling Queues  (0) 2023.03.22
    용어 정리  (0) 2023.03.19
    2.1 Operating System Services  (0) 2023.03.19
    1.8 Distributed Systems  (0) 2023.03.13
Designed by Tistory.