[혼공컴운]4주차_기본미션, 선택미션

yoon·2024년 1월 27일
0

혼공컴운

목록 보기
4/6
post-thumbnail

09 운영체제 시작하기

09-1 운영체제를 알아야 하는 이유

  • 운영체제는 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램입니다.
  • 운영체제와의 대화를 통해 하드웨어와 프로그램을 더 깊이 이해하고 문제 해결의 실마리를 찾을 수 있습니다.

09-2 운영체제의 큰 그림

  • 커널은 운영체제의 핵심 기능을 담당합니다.
  • 이중 모드는 CPU가 명령어를 실행하는 모드를 커널 모드와 사용자 모드로 구분하는 방식입니다.
  • 시스템 호출은 운영체제의 서비스를 제공받기 위해 커널 모드로 전환하는 방법입니다.
  • 대표적인 운영체제 서비스로 프로세스 관리, 자원 접근 및 할당, 파일 시스템 관리가 있습니다.


10 프로세스와 스레드

10-1 프로세스 개요

  • 프로세스는 실행중인 프로그램입니다. 프로세스의 종류에는 포그라운드 프로세스와 백그라운드 프로세스가 있습니다.
  • 운영체제는 프로세스 제어 블록을 통해 여러 프로세스를 관리합니다.
  • 프로세스 간에 실행을 전환하는 것을 문맥 교환이라고 합니다.
  • 프로세스 사용자 영역에 크게 코드 영역, 데이터 영역, 스택 영역, 힙 영역으로 나뉘어 배치됩니다.

10-2 프로세스 상태와 계층 구조

  • 프로세스 상태에는 생성, 준비, 실행, 대기, 종료가 있습니다.
  • 프로세스가 다른 프로세스를 생성한 경우 프로세스를 생성한 프로세스를 부모 프로세스, 생성된 프로세스를 자식 프로세스라고 부릅니다.
  • 많은 운영체제는 프로세스가 프로세스를 낳는 프로세스 계층 구조로 프로세스들을 관리합니다.

10-3 스레드

  • 스레드는 프로세스 내의 실행 흐름 단위입니다.
  • 여러 프로세스를 동시에 실행하는 것을 멀티프로세스라고 하고, 여러 스레드로 프로세스를 동시에 실행하는 것을 멀티스레드라고 합니다.


11 CPU 스케줄링

11-1 CPU 스케줄링 개요

  • CPU 스케줄링은 공정하고 합리적으로 CPU 자원을 배분하는 방법을 의미합니다.
  • 프로세스는 우선순위를 가지고 있고, 이는 PCB에 명시됩니다.
  • 운영체제는 효율적인 스케줄링을 위해 스케줄링 큐를 사용합니다.
  • 준비 큐는 CPU 할당을 기다리는 프로세스들을 위한 큐를 의미합니다.
  • 대기 큐는 입출력장치를 기다리는 프로세스들을 위한 큐를 의미합니다.
  • 선점형 스케줄링은 프로세스가 이용 중인 자원을 빼앗을 수 있습니다.
  • 비선점형 스케줄링은 프로세스가 이용 중인 자원을 빼앗을 수 없습니다.

11-2 CPU 스케줄링 알고리즘

  • 선입 선처리 스케줄링 알고리즘은 준비 큐에 삽입된 순서대로 CPU를 할당합니다.
  • 최단 작업 우선 스케줄링 알고리즘은 준비 큐에 삽입된 프로세스들 중 CPU 사용 시간의 길이가 가장 짧은 프로세스부터 CPU를 할당합니다.
  • 라운드 로빈 스케줄링 알고리즘은 정해진 시간만큼만 돌아가며 CPU를 할당합니다.
  • 우선순위 스케줄링 알고리즘은 가장 높은 우선순위를 가진 프로세스에 CPU를 할당합니다.
  • 다단계 피드백 큐 스케줄링 알고리즘은 프로세스들이 큐 사이를 이동할 수 있는 다단계 큐 스케줄링입니다.


기본미션

p. 304의 확인 문제 1번 풀고 인증하기

다음은 프로세스 상태를 보여주는 프로세스 상태 다이어 그램입니다. 1부터 5까지 올바른 상태를 적어보세요.

정답: 1번-생성상태, 2번 -준비상태, 3번-실행상태, 4번-종료상태, 5번-대기상태



선택미션

Ch.11(11-2) 준비 큐에 A,B,C,D 순으로 삽입되었다고 가정했을 때, 선입 선처리 스케줄링 알고리즘을 적용하면 어떤 프로세스 순서대로 CPU를 할당받는지 풀어보기

정답: 선입 선처리 스케줄링 알고리즘을 적용하게 되면 큐에 들어온 순서대로 들어옵니다. A,B,C,D 순으로 CPU에 할당 받게 됩니다.

0개의 댓글