3. 운영체제

    PCB (프로세스 제어 블록) Process Control Block


    1. PCB 정보

    - 프로세스의 고유 식별자

    - 프로세스의 상태

    - 부모와 자식 프로세스에 대한 포인터

    - 프로그램 카운터

    - 우선순위


    2. 문맥교환과 스레드



    프로세스

    스레드

    정의

    Heavy Weight Process

    Light Weight Process

    실행점

    독립성, 하나의 실행점

    공유, 실행점이 여러개

    실행단위

    Unit of Resource Ownership

    Unit of Dispatching

    병행성

    단순 CPU에서 순차적으로 실행

    단일 CPU에서 동시적으로 수행


    2.1 스레드의 장점

    - 병행성 증진

    - 기억 장소의 낭비가 줄어듬

    - 프로세스의 생성이나 문맥교환등의 오버헤드를 줄여 성능 개선


    3. 버퍼링과 스풀링


    입출력장치와 CPU 사이의 속도를 보완하기 위해 버퍼링 스풀링이 생겨났다.

    즉, 입출력에 비해 CPU가 월등히 빠르므로, 버퍼 공간에 입력받은 것을 담아두었다가 CPU가 후에 처리하는 방식이다.


    스풀링은 하드에 존재하며 처리속도는 느리고, 작업량은 많다.

    버퍼는 메모리에 존재하며 처리속도는 빠르고, 작업량은 단일이다.


    4. CPU 스케쥴링

    공정성과 효율성을 중시한다.


    1. FIFO - (들어온 순서대로 서비스 [ 공정성 ])

    2. SJF - ( 작업의 길이가 짧은것부터 [효율성]), 비선점

    3. SRT - ( 작업의 길이가 짧은것부터), 선점

    4. RR - 시간 할당량에 따라

    5. HRN - SJF의 단점(짧은 시간의 프로세스가 마구 들어오는 것), 대기시간에 따라 우선순위를 높여줌으로써 단점 보완(대기시간+서비스시간/서비스시간)

    6. MQ - 다수의 큐를 운용, 큐에도 우선순위를 가짐

    7. MFQ - 다수의 큐를 운용, 큐사이를 왕복 가능

    8. 기한부 - 시간을 정해놓고 한다

    9. 우선순위 - 우선순위(PCB 생성시)


    +6



















    ' > 운영체제' 카테고리의 다른 글

    2. 운영체제  (0) 2017.11.07
    1. 운영체제  (0) 2017.10.31
    4. 운영체제  (0) 2017.10.03
    2. 운영체제  (0) 2017.09.02
    1. 운영체제  (0) 2017.08.31
    Posted by Config