프로세스의 이해

iseon_u·2023년 7월 23일
0

OS

목록 보기
4/4
post-thumbnail

프로세스의 이해


Process

  • 실행 중인 프로그램
  • 운영체제 작업의 단위
  • 운영체제가 해야할 가장 기본적인 것
    • 프로세스 관리

프로세스의 메모리 레이아웃 세션

  • 텍스트 세션
    • 명령어 코드
  • 데이터 세션
    • 전역 변수
  • 힙 영역 세션
    • 메모리 관련
    • new 키워드
  • 스택 영역 세션
    • 함수
      • 함수 파라미터
      • 반환 주소
      • 지역 변수

프로세스의 생명주기

  • New
    • 프로세스가 생성된 상태
  • Running
    • CPU를 점유하여 프로세스의 명령어를 CPU에 로드 하여 실행하는 상태
  • Waiting
    • 프로세스가 이벤트를 기다리는 상태
    • I/O 대기
  • Ready
    • 점유 큐에 올라가 CPU 점유를 대기하는 상태
  • Terminated
    • 모든 작업을 끝낸 상태

PCB Process Control Block

TCB Task Control Block

  • 프로세스 관리 구조체
  • 각 프로세스가 가져야 할 정보를 PCB에 저장
  • PCB를 통해 운영체제는 프로세스 관리
  • PCB 정보
    • 프로세스 상태 (New, Running, Waiting, Ready, Terminated)
    • 프로그램 카운터
      • IR을 통해 메모리에서 명령어를 가져올 때 주소
    • CPU registers
      • IR Instruction Register, DR Data Register
    • CPU-scheduling 정보
    • Memory-management 정보
    • 계정 정보
    • I/O 상태 정보

프로세스

  • 싱글 쓰레드의 실행
  • OS의 주요 기능
    • 멀티 태스킹, 멀티 프로세싱
  • 멀티 쓰레딩
    • 프로세스 여러 개보단 쓰레드 여러 개가 장점이 많다

컨텍스트 스위치

  • 컨텍스트
    • 프로세스가 사용되고 있는 상태
    • PCB 정보
  • CPU 코어를 다른 프로세스에 넘겨주는 것
    • 현재 프로세스의 상태를 저장
    • 새로운 프로세스의 상태를 보관
profile
🧑🏻‍💻 Hello World!

1개의 댓글

comment-user-thumbnail
2023년 7월 23일

정보 감사합니다.

답글 달기