반응형

@혼자공부하는 컴퓨터구조 운영체제

혼공학습단 [혼자공부하는 컴퓨터구조 + 운영체제] 4주차 정리및 미션완료

 

 

 

 

 

벌써 '혼자공부하는 컴퓨터구조+운영체제' 교재를 가지고 학습을 시작한지 절반인 3주차를 끝내고, 

4주차로 접어 들었습니다. 이번주는 챕터 9부터 11까지, 운영체제, 프로세스와 스레드, CPU 스케줄링에 대해서 

학습을 했습니다.

 

 

챕터 9 에서는 책의 제목에도 있는 운영체제에 대해서 공부를 하였습니다.

운영체제는 우리가 사용하는 모든 컴퓨터에 기본적으로 설치를 하여 사용자가 직접적으로 이전 장에서 공부한 각각의 컴퓨터에 연결된 장치에 직접적으로 컨트롤 할필요 없이 운영체제가 어떤 프로그램을 사용하던 중간에서 연결해주는 역할을 해주기 때문에 프로그래밍을 개발할때 하드웨어를 조작하는 코드들을 작성할 필요 없는 편리함을 제공해 주기도 합니다.

 

 

챕터 10에서는 실행중인 프로그램인 프로세스에 대해서 어떤 것인지 알아보고 프로세스를 관리하는 프로세서 제어 블록(PCB)에 대해서도 공부를 하였으며, 프로그램밍을 공부하다 보면 자주 보이는 프로세스의 메모리 영역인 코드영역, 데이터영역, 힙영역, 스택영역에 대해서도 알아보았으며, PCB에 기록하는 프로세서의 상태인 생성, 준비, 실행, 대기, 종료 등에서도 공부하였습니다.

스레드에 대해서도 공부를 하였는데, 스레드는 이전 2주차에서 공부한 챕터 5에서 코어와 함께 스레드에 대해서도 어떤 것인지 공부를 했었는데요, 이번 장에서는 좀더 구체적으로 멀티스레드에 대해서 이해하는데 도움이 되어서, 코딩을 하면서 멀티스레드로 작성하는데 도움이 되었습니다.

 

 

챕터 11에서는  CPU스케줄링에 대해서 알아보는 시간이였는데요, 작업을 하기 위한 프로세스들을 CPU 가 어떤 순으로 순서를 정해서 프로세스들을 실행하는지 순서를 정하는 우선순위와 우선순위를 정하는 알고리즘에 대해서 배웠습니다.

 

 

Process Explorer - Sysinternals | Microsoft Learn

 

Process Explorer - Sysinternals

Find out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more.

learn.microsoft.com

 

윈도우에서 프로세서 우선순위를 확인하기 위해서는 따로 Processor Explorer라는 프로그램을 사용하면 되는데요, 위에 사이트 링크에 가시면 Process Explorer 프로그램을 다운 받으실수 있고, 따로 설치할 필요 없이 압축을 푸신후, 사용하시는 CPU에 맞는 프로그램을 실행하면 확인하실수 있습니다.

 

 

 

 

기본미션 : P.304의 확인 문제 1번 풀고 인증하기

 

 

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

 

 

아래의 교재 298페이지를 참고해서, 

1. 생성 상태,  2. 준비 상태,  3. 실행 상태,  4. 종료 상태,  5. 대기 상태 로 

프로세서의 상태는 이렇게 5가지로 운영체즈는 프로세스의 상태를 PCB를 통해 인식하고 관리 합니다.

 

 

 

 

 

선택미션 : Ch.11 (11-2) 준비 큐에 A,B,C,D 순으로 삽입될 때 선입 선처리, 최단 작업 우선, 라운드 로빈, 우선순위 스케줄링에서 어떤 프로세스로 CPU를 할당 받는지 정리해보기

 

준비된 큐에서 순서대로 A, B, C, D 순으로 CPU를 할당받습니다.

선입 선처리 스케쥴링은 준비 큐에 삽입된 순서대로 프로세스들을 처리하는 비선점형 스케줄링 방식이기 때문에, 

A, B, C, D 순으로 순서대로 CPU 를 할당 받아서 실행이 됩니다.

 

최단 작업 우선은 준비 큐에 삽입된 프로세서들 중 CPU 이용 시간이 가장 짧은 프로세스부터 실행하는 스케줄링 방식으로 A, B, C, D의 에서 어떤게 프로세스 실행시간이 가장 짧은게 어떤 것인지 알수 없어서 순서를 모르겠습니다.

프로세스 실행 시간이 가장 짧은 순으로 실행을 합니다.

 

라운드 로빈은 선입 선처리 스케줄링에 타임 슬라이스 개념이 더해져서, 정해진 타임 슬라이스만큼의 시간 동안 돌아가면서 CPU를 이용하는 선점형 스케줄링 이기 때문에, 정한 타임슬라이스 시간에 따라서 A, B, C, D중에 어떤게 더 짧은지를 알수 없어서 순서를 알수 없습니다.

 

우선순위 스케줄링은 프로세스들에 우선순위를 부여해서 가장 높은 우선순위를 가진 프로세스부터 실행하는 알고리즘이기 때문에,  A, B, C, D 중에 우선순위를 알수 없어서 순서를 알수 없습니다.

 

 

반응형

+ Recent posts