[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
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

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

티스토리툴바