Dev_Henry

운영체제-반효경 내용정리 (3) 본문

CS/운영체제

운영체제-반효경 내용정리 (3)

데브헨리 2023. 7. 16. 00:21
728x90
  • 프로세스의 개념
    • context : 프로세스의 문맥 → 프로세스의 상태를 나타내는데 필요한 요소들
      • cpu수행 상태를 나타내는 하드웨어 문맥 ( PC, register )
      • 프로세스 주소 공간 (stack,data,code)
      • 프로세스 관련 커널 자료구조 (PCB)

 

 

프로세스 상태
프로세스 상태

  • 프로세스의 상태
    • Running : cpu를 잡고 instruction을 수행중인 상태
    • Ready : cpu를 기다리는 상태 ( 다른 조건을 모두 만족한 상태로)
    • Blocked (wait,sleep) : 당장 cpu를 줘도 수행할 수 없는 상태. (다른 이벤트를 기다리는 상태)
    • new : 프로세스 생성중
    • Terminated : 수행이 끝난 상태. (정리중)

프로세스 큐의 모습
프로세스 큐의 모습


    • 위 그림에서 큐는 커널 데이터 영역에 있음
  •  
  • PCB ( process control block )
    • 프로세스를 관리하기 위해 프로세스당 유지하는 정보 (구조체)

 

PCB구조
PCB구조


    1. os가 관리상 사용하는 정보
    2. cpu수행 관련 하드웨어 값 → 쓰레드마다 별도로 가짐
    3. 메모리 관련
    4. 파일 관련
  • 문맥 교환 (context switch)
    • cpu를 다른 프로세스로 넘겨주는 과정
    • 프로세스 상태를 pcb에 저장, 새 프로세스의 상태를 pcb에서 읽어옴
    • 시스텀콜or인터럽트 발생시 반드시 문맥교환이 일어나는 것은 아님.

 

 

프로세스 큐 흐름
프로세스 큐 흐름

  • 프로세스를 스케줄링하기 위한 큐
    • job queue : 현재 시스템 내에 있는 모든 프로세스의 집합
    • ready queue : 현재 메모리 내에 있으면서 cpu를 잡아서 실행되기 기다리는 프로세스의 집합
    • device queue : IO device의 처리를 기다리는 프로세스의 집합

 

 

  • 스케줄러
    • long-term S ( 장기 스케줄러 or job 스케줄러)
      • 어떤 프로세스를 ready큐로 보낼지 결정.
      • 메모리를 주는 문제
      • degree of multiprogramming 제어 : (메모리에 올라간 프로세스의 수)
      • 시분할 시스템은 보통 장기 스케줄러가 없고 무조건 ready
    • short-term S (단기 or CPU)
      • 어떤 프로세스를 다음에 런 시킬지 결정
      • cpu를 주는 문제
      • 충분히 빨라야함
    • medium-term S (중기 or Swapper)
      • 여유 공간 마련을 위해 프로세스를 메모리에서 쫒아냄.
      • 메모리 뺏는 문제
      • degree of multiprogramming 제어

현대 프로세스 상태
현대 프로세스 상태

  • 현대 OS 프로세스의 상태
    • Suspended (stopped) : 외부적인 이유로 프로세스 정지된 상태. 통째로 디스크에 swap out.
      • 중기 스케줄러로 인해 생김.
      • 사용자가 일시정지 시킨경우. 메모리에 너무 많은 프로세스가 있는 경우. 등..
      • blocked과 차이: 조건이 만족되면 자동으로 ready에 가는지, 외부에서 진행해줘어야 활성화 되는지.

 

 

  • Thread
    • 쓰레드 : 하나의 프로세스 안에 여러가지의 cpu수행 단위
      • pc,resgister,stack 은 쓰레드별로 각각 가짐.
      • code,data,OS자원 등은 공유
      • 하나의 스레드가 blocked상태여도 다른 스레드가 running 될 수 있음. → 빠른 응답성
      • 다중 스레드가 협력하여 높은 처리율, 성능향상, 병렬성
    • 스레드의 이득(장점)
      • 응답성
      • 자원 공유
      • 경제성 : 생성 or 컨텍스트 스위칭할 때 프로세스에 비해 오버헤드가 적음. (각각 30배, 5배)
      • 멀티 프로세서 (cpu여러개) 환경에서 유틸성 : 병렬작업 가능
                                •  
728x90
반응형

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

운영체제-반효경 내용정리 (2)  (0) 2023.07.16
운영체제-반효경 내용정리 (1)  (0) 2023.07.16