ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 운영체제_1
    CS 2020. 6. 27. 20:01

    운영체제란?

    컴퓨터 하드웨어와 응용프로그램간의 중재자 역할을 하는 시스템 소프트웨어로서 프로세서, 메모리, 입출력 장치, 통신 장치 등의 시스템 자원을 효율적으로 관리하며 시스템 및 응용 프로그램의 실행을 지원한다.

    운영체제의 핵심 구성요소

    • 프로세스 스케쥴러(Process Scheduler)
    • 메모리 관리자 (Memory Manager)
    • 입출력 관리자 (I/O Manager)
    • 프로세스간 통신 관리자(IPC, InterProcess Communication Manager)
    • 파일 시스템 관리자(File System Manager)

     


    프로세스(Process)

    정의
    실행 중인 프로그램
    프로세스 제어 블록(PCB, Process Control Block)을 가진 프로그램
    운영체제가 관리하는 실행의 단위

     

    작업(Job) 또는 태스크(Task)라 불린다

    1) 프로세스의 상태

    프로세스는 생명 주기 동안 구분된 프로세스 상태(State)를 갖는다.

     

     

    • 생성 : 프로세스가 생성되었으나 아직 운영체제에 의해 실행 가능하게 되지 못한 상태

    • 준비 : 프로세스가 실행을 위해 CPU를 할당 받기를 기다리는 상태

    • 실행 : 프로세스가 CPU를 차지하고 있는 상태

    • 종료 : 프로세스의 실행이 끝나고 CPU할당이 해제된 상태

    • 대기 : 프로세스가 CPU를 할당 받아 실행되다가 입/출력 완료 등과 같은 어떤 사건이 발생해 주기를 기다리고 있는 상태

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

    프로세스 제어블록은 운영체제가 프로세스 관리를 위해 필요한 정보를 저장하는 것이다.

    프로세스가 생성될 때마다 고유의 PCB가 생성되고 프로세스가 완료되면 PCB는 제거된다.

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

    프로세스 식별번호(PID, Process Identification Number)
    프로세스 상태(state)
    프로그램 카운터(PC, Program Counter 다음에 실행할 명령어를 가리키는 값)
    스케줄링 우선 순위
    레지스터 정보
    주기억 장치 관리 정보
    기타 등등..

    3) 쓰레드(Thread)

    프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당 받아 실행하는 프로그램의 단위

     

    • 하드웨어/운영체제의 성능과 응용프로그램의 처리율을 향상시킴으로써 응용프로그램의 응답시간 단축이 가능하다.

    • 쓰레드는 프로세스 생성과는 다르게 운영체제가 부모 프로세스와 공유할 자원을 초기화할 필요가 없다.

    • 쓰레드는 하나의 프로세스를 여러 개의 쓰레드로 생성하여 병행성을 증진시킨다.

    • 공통적으로 접근 가능한 기억 장치를 통한 효율적인 통신을 지원한다.

    • 실행 환경의 공유로 기억 장소의 낭비를 감소시킨다.

    • 생성과 종료를 위한 오버헤드가 적다.

     

    'CS' 카테고리의 다른 글

    DataBase  (0) 2020.08.16
    운영체제_2  (0) 2020.07.08
    알고리즘_1  (0) 2020.06.27
    자료구조_1  (0) 2020.06.26
    소프트웨어 공학_1  (0) 2020.06.26
Designed by Tistory.