ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Program & Process
    CS/OS(운영체제) 2022. 4. 12. 01:53
    728x90

    Program Vs Process

     

    Program - 디스크에 저장되는 수동적인 entity ( binary sequence )

    Process - 활동적인 entity ( execution sequence ) , 프로세서에 할당하고 실행할 수 있는 entity

    실행 파일을 메모리에 로드할 때, 프로그램이 프로세스로 전환됨.

    하나의 프로그램이 여러 프로세스 일 수 있음.

    프로세스는 또한 Program Code와 그 코드에 관련된 데이터의 집합을 필수적인 elements로 가짐.

     

    Execution Sequence and Stack

    실행 순서를 제어하기 위한 공통된 기술

    Stack - last-in-first-out (LIFO) 구조

    Call Stack - 프로그램의 서브 루틴에 대한 정보를 저장하는 스택 데이터 구조

    프로세서가 호출을 실행할 때, 스택에 리턴 주소를 push함.

     

    Stack pointer - 스택의 현재 top 주소를 포함한다.

    Stack Base(Higher Address) <= SP <= Stack Limit

    오늘날 대부분의 프로세서에서 스택은 높은 주소에서 낮은 주소로 실행함.

    return address를 쌓고 , 호출된 procedure에 전달할 parameter를 쌓고 , return parameters는 return address 아래에 배치될 수도 있음.

     

    Process Description

    1. System-level Context

    운영체제가 프로세스를 관리하는데 필요로 하는 정보를 포함하고 있음.

    PCB(Process Control Block) - 프로세스 신원 / 프로세스 제어 정보 / 프로세스 상태 정보

     

    2. User-level Context(memory)

    유저의 프로그램(text and data areas)의 기본 구성요소들을 포함하고 있음.

    프로세스가 실행하는 동안 프로세서는 스택을 사용함. User text / User data / User stack

     

    3. Hardware Context(register)

    레지스터들의 내용으로 구성됨.

    PC , SP , PSW + General-purpose registers

     

    PCB(Process Control Block)

    - 운영체제에서 가장 중요한 데이터 구조.

    - 운영체제가 필요로하는 프로세스에 대한 모든 정보를 포함함.

    - 운영체제가 다중 프로세스를 지원하기 가능하게 하고 멀티 프로세싱을 제공함.

    - OS안에 있는 모든 모듈에 의해 block들이 read하거나 modified함.

     

    Process Image

    운영체제가 프로세스를 제어하고 관리하기 위해 반드시 알아야 할 것이 무엇일지 생각해보자.

    프로세스가 어디에 위치하고 있는지를 알아야 할 것이고, 프로세스를 관리하기 위해 필요한 프로세스의 속성 등을 알아야 할 것이다.

    그래서 운영체제는 각 프로세스의 설명 수단으로서 process image를 유지한다. ( 프로세스가 실행되는 주소 공간 및 PCB)

     

    Two-State Process Model

    프로세스는 프로세서에 의해 실행되거나 , 실행되지 않는다.

    Five-State Process Model

    실행 중이 아닌 상태의 일부 프로세스들은 실행 준비가 되어 있고, 다른 프로세스는 차단되어 I/O 작업이 완료될 때까지 대기하고 있음.

     

    728x90

    'CS > OS(운영체제)' 카테고리의 다른 글

    인터럽트(Interrupts)  (0) 2022.04.17
    컴퓨터 하드웨어(Computer Hardware)  (0) 2022.04.17
    Process Scheduling  (0) 2022.04.12
    Process Switch  (0) 2022.04.12
    Resource Protection & System Call  (0) 2022.04.11
Designed by Tistory.