ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 운영체제 - 프로세스
    Computer science 2022. 4. 4. 23:59
    반응형

    프로세스 상태

     - 생성,  준비, 실행, 종료, 대기

     

    프로세스 개념

     - 실행중인 프로그램을 의미함

     - CPU, 메모리, 입출력장치, 파일 등 실행에 필요한 자원을 한당

     - 생성, 준비, 실행, 종료, 대기의 다섯 상태 중 하나로 존재함

     - 스케줄링, I/O 대기 등에 따라 준비, 실행, 대기 등으로 상태가 변화되며 동작함

     - 프로세스 제어블록은 프로세스를 명시해주는 다양한 내용을 포함

     - 쓰레드(Thread)란 하나의 프로그램내에서 제어의 단일 순차적 흐름으로 정의되며, 하나의 쓰레드 내에서는 하나의 실행점만이 존재함

     - 하나의 프로세스 내에 하나 이상의 쓰레가 존재할 수 있어 쓰레드를 생성하여 다중처리가 가능

     - 스케줄링을 위해 상위, 하위, 중간 단계의 스케줄링 사용

     - 새로운 프로세스 생성 ex) fork() -> 시스템 프로세스와 사용자 프로세스 모두 부모 프로세스가 될 수 있다

     - 생성된 프로세스의 자원 -> 운영체제로 부터 직접 얻거나 부모 프로세스로부터 일부를 할당(부모 프로세스 자원으로 제한하여 시스템 과부하 방지)

     

    쓰레드

     - 프로세스 내에서 다중처리를 위해 제안된 개념

     - 하나의 쓰레드 내에서는 하나의 실행점만 존재(디스패칭의 단위)

     - 실행에 필요한 최소한의 정보, 자신이 속한 프로세스의 실행환경을 공유

     

    다중 쓰레드의 장점

     - 멀티 CPU 또는 멀티코어 시스템에서 병렬처리가 가능함

     - 처리 속도별로 나누어진 경우 효율적인 처리가 가능 ex) 계산, 입력, 백업을 병렬 처리

     

    스케줄링의 목표 

     - 공정성 : 모든 프로세스가 적정 수준에서 CPU 작업을 할 수 있게 함

     - 균형 : 시스템의 자원들이 충분히 활용될 수 있게 함

     

    선점 스케줄링 : 진행중인 프로세스를 Interrupt하여 다른 프로세스에 할당

     - 높은 우선 순위의 프로세스를 긴급히 처리, 대화식 시분할에서 빠른 응답시간 유지

     - 문맥 교환에 따른 오버헤드 발생, PCB 복원 작업

     

    비선점 스케줄링 : 실행이 시작되면 작업 자체가 I/O Interrupt를 걸거나 작업을 종료할 때 까지 실행됨

     - 모든 프로세스가 공정하게 순서에 따라 실행 -> 응답시간의 예측이 가능

     - 짧은 프로세스가 긴 프로세스를 대기할 수 있음 -> 비효율적 

     

    프로세스 제어 블록(PCB)

     - 프로세스 관리

     - 프로세스 정보를 보관(PID, 프로세스 상태, 프로세스 카운터:현재 실행되는 명령어의 위치, 레지스터, 메모리, 우선순위 등)

     - 프로세스마다 각각 존재함

     - 프로세스가 진행함에 따라 내용이 변경됨

     

     

    반응형

    'Computer science' 카테고리의 다른 글

    운영체제 - 스케줄링 알고리즘  (0) 2022.04.03

    댓글

Designed by Tistory.