[OS] Lecture 3. Process Management (1/2)

2022. 1. 30. 02:45·OS

작업(Job)/ 프로그램

- 실행 할 프로그램+ 데이터

- 디스크에 보관 상태

 

 

프로세스

- 실행 중인 프로그램

- 커널에 등록되고 커널의 관리 하에 있는 작업

- 프로세스 관리(PCB)를 할당 받은 개체

- 능독적인 개체. 실행 중, 자원을 요구, 할당, 반납하여 진행

 

Process Control Block(PCB)

- 커널 공간(kernel space) 내에 존재

- 각 프로세스의 정보를 관리

 

자원(Resource)

- 커널의 관리 아래에 프로세스에 할당/반납 되는 수동적 개체(passive entity)

- 할당/반납은? 커널

 


프로세스의 상태

-프로세스와 자원의 상호작용에 의해 결정

 

1. created state 

- 프로세스= 작업을 커널에 등록

- PCB 할당, 프로세스 생성

- 상태 전이: ready or suspended ready

- 상태 전이 조건: 가용 메모리 공간

- 가용 메모리 있니? ready, 가용 메모리 없니? suspended ready

 

 

2. ready state

- 프로세서(CPU)를 대기 상태= 프로세서 할당 받으면 실행 가능한 상태 

- 즉시 실행 가능한 상태

- dispatch(schedule): CPU를 할당 받음. ready-> running

- preemption: CPU 반납

 

3. running state

- 실제 작업 실행. 프로세서와 필요한 자원을 모두 할당 받은 상태  

 

4. asleep state

- 프로세서 외 다른 자원 할당 요청 상태(ex) I/O). 자원에 따라 각각 관리

- 바로 running 상태로 갈 수 있을까? No. alseep 상태 동안 다른 프로세스의 running을 고려해야 한다.

- 그래서 asleep 상태가 끝나면 ready 상태로 간다(=wakeup)

 

5. suspended state

- 메모리를 할당 받지 못한(빼앗긴)  상태

- asleep(blocked)상태에서 메모리도 빼앗김= suspended blocked

 

5.1 suspended blocked

- 메모리도 빼앗기면 진행 중이었던 작업 정보는 어디에 보관을 할까?  

- memory image 찍어서 swap-deivce에 저장

-swap-device: 작업 정보 저장을 위한 파일 시스템. HW. 하던 일을 저장 

-swap-out(= suspended) : swap-device에 이미지 저장

-swap-in(= resume): swap-device에 이미지 정보로 메모리 할당 받아서 작업 복구

 

6. terminated/zombie state

- 프로세스 수행이 끝난 상태

- 모든 자원을 반납. But 커널 내 일부 PCB 정보만 남아 있는 상태 

- 커널이 PCB 정보를 수집한다. 수집이 완료되면 소멸한다.

- PCB 수집 이유: 프로세스 관리 효율.

어떤 자원을 주로 요청하는지? 일은 얼마나 해야하는지? 다음에 비슷한 작업 수행 시, 수집한 정보를 통해 관리 효율을 높일 수 있다. 

'OS' 카테고리의 다른 글

CPU, Main Memory(Primary Memory), Disk(Secondary Memory)  (0) 2022.02.02
[OS] Lecture 3. OS Process Management (2/2)  (0) 2022.01.31
[OS] Lecture 2. OS Overview (2/2)  (0) 2022.01.26
[OS] Lecture 2. OS Overview (1/2)  (0) 2022.01.26
운영체제_6  (0) 2021.07.15
'OS' 카테고리의 다른 글
  • CPU, Main Memory(Primary Memory), Disk(Secondary Memory)
  • [OS] Lecture 3. OS Process Management (2/2)
  • [OS] Lecture 2. OS Overview (2/2)
  • [OS] Lecture 2. OS Overview (1/2)
사랑우주인
사랑우주인
  • 사랑우주인
    lovelyAlien
    사랑우주인
  • 전체
    오늘
    어제
  • 글쓰기
    관리
    • 분류 전체보기 (209)
      • Programming (4)
        • Spring (28)
        • Java (46)
        • JPA (2)
        • 디자인 패턴 (5)
        • 개발&아키텍처 (0)
      • Network (14)
      • OS (19)
      • Database (1)
      • Kubernetes (0)
      • Kafka (2)
      • Algorithm (49)
        • BaekJoon (1)
        • Programmers (19)
        • Algorithm (5)
        • Socar (2)
        • LeetCode (19)
      • Interview (2)
      • Issues (2)
      • DotJoin (1)
      • Git (4)
      • 독서 (3)
      • 끄적끄적 (1)
      • 외부활동 (26)
        • 항해플러스 (2)
        • JSCODE 네트워크 (19)
        • JSCODE 자바 (5)
      • SQL (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • GitHub
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    runner 기법
    fcfs
    OS
    추상화 클래스
    wildcards
    LinkedList
    algorithm
    Oauth2
    JSCode
    Generic
    운영체제
    @JsonNaming
    Reorder List
    clone graph
    @JsonProperty
    minimum number of arrows to burst balloons
    BFS
    트랜잭션
    Process
    pacific atlantic water flow
    RR
    제네릭
    rotting oranges
    디자인 패턴
    Thread
    socar
    준영속 엔티티
    lower bounded wildcards
    AuthenticationSuccessHandler
    Climbing Stairs
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
사랑우주인
[OS] Lecture 3. Process Management (1/2)
상단으로

티스토리툴바