본문 바로가기

CS Study44

[OS] Ch.5 프로세스 동기화 1. 프로세스 간 통신 1. 프로세스 간 통신의 개념 프로세스는 시스템 내에서 독립적으로 실행되기도 하고 데이터를 주고받으며 협업하기도 함 프로세스가 다른 프로세스와 데이터를 주고받는 프로세스 간 통신(IPC)에는 같은 컴퓨터 내에 있는 프로세스뿐만 아니라 네트워크로 연결된 다른 컴퓨터에 있는 프로세스와의 통신도 포함됨 프로세스 간 통신의 종류 프로세스 내부 데이터 통신 : 하나의 프로세스 내에 2개 이상의 스레드가 존재하는 경우의 통신이다. 프로세스 내부의 스레드는 전역 변수나 파일을 이용하여 데이터를 주고 받는다. 프로세스 간 데이터 통신 : 같은 컴퓨터에 있는 여러 프로세스끼리 통신하는 경우로, 공용 파일 또는 운영체제가 제공하는 파이프를 사용하여 통신한다. 네트워크를 이용한 데이터 통신 : 여러 .. 2024. 2. 22.
[OS] 쉽게 배우는 운영체제 4장 연습문제/심화문제 연습문제 1. 시스템 내 전체 프로세스의 수를 조절하는 것으로, 장기 스케줄링 또는 작업 스케줄링이라 불리는 스케줄링 수준은 무엇인가? 고수준 스케줄링 2. 어떤 프로세스에 CPU를 할당하고 어떤 프로세스를 대기 상태로 보낼지 등을 결정하는 스케줄링 수준은 무엇인가? 저수준 스케줄링 3. 어떤 프로세스가 CPU를 할당받아 실행 중이더라도 운영체제가 CPU를 강제로 빼앗을 수 있는 스케줄링은 무엇인가? 선점 스케줄링 선점형스케줄링 4. 현재 입출력을 진행하는 프로세스로, 사용자와 상호작용이 가능하여 상호작용 프로세스라고도 불리는 것은 무엇인가? 입출력 집중 프로세스 전면 프로세스 5. 준비 큐에 도착한 순서대로 CPU를 할당하는 비선점형 스케줄링 알고리즘은 무엇인가? FCFS 6. 준비 큐에 있는 프로세스.. 2024. 2. 15.
[OS] Ch.4 CPU 스케줄링 1. 스케줄링의 개요 프로세스는 생성, 준비, 실행, 대기와 같은 여러 상태를 거치며 작업이 이루어진다. CPU 스케줄러는 프로세스가 생성된 후 종료될 때까지 모든 상태 변화를 조정하는 일을 한다. 스케줄링의 단계 고수준 스케줄링 시스템 내의 전체 작업 수를 조절 어떤 작업을 시스템이 받아들일지 또는 거부할지를 결정 동시에 실행 가능한 프로세스의 총 개수가 정해짐 저수준 스케줄링 어떤 프로세스에 CPU를 할당할지, 어떤 프로세스를 대기 상태로 보낼지 등을 결정 중간 수준 스케줄링 중지(suspend)와 활성화(active)로 전체 시스템의 활성화된 프로세스 수를 조절하여 과부하를 막음 스케줄링의 목적 공평성 : 모든 프로세스가 자원을 공평하게 배정받아야 하며, 자원 배정 과정에서 특정 프로세스가 배제되어.. 2024. 2. 15.
[OS] 쉽게 배우는 운영체제 3장 연습문제/심화문제 연습문제 1. 프로그램이 프로세스가 되려면 운영체제로부터 무엇을 받아야 하는가? PCB 2. 프로세스의 상태 중 CPU를 할당받기 위해 기다리는 상태는 무엇인가? 준비 3. 프로세스의 상태 중 입출력 작업을 하기 위해 이동하는 상태는 무엇인가? 대기 4. CPU 스케줄러가 준비 상태에 있는 프로세스 중 하나를 골라 CPU를 할당하는 작업을 무엇이라고 하는가? 디스패치 5. 유닉스에서 Ctrl + Z 키를 눌러 프로세스가 중단되면 프로세스는 어떤 상태로 바뀌는가? 휴식 6. 실행 상태에서 하나의 프로세스가 나가고 새로운 프로세스가 들어오는 상황을 무엇이라고 하는가? 문맥 교환 7. 실행 중인 프로세스로부터 새로운 프로세스를 복사하는 시스템 호출은 무엇인가? fork() 8. 프로세스의 골격은 그대로 둔 채.. 2024. 2. 15.
[OS] Ch.3 프로세스와 스레드 프로세스 개요 프로세스의 개념 프로그램 : 저장장치에 저장되어 있는 정적인 상태 프로세스 - PCB = 프로그램 프로세스 : 실행을 위해 메모리에 올라온 동적인 상태 프로그램 + PCB = 프로세스 일괄 작업 방식 한 개가 끝나야 다음 것이 가능 시분할 방식 배분해서 여러가지 동시에 수행(현재 방식) 프로세스의 상태 생성 상태 프로그램 + PCB 한 상태. 이제 준비상태로 옮겨져 기다려야 한다. 준비 상태 실행을 기다리는 모든 프로세스가 자기 차례를 기다리는 상태이다. 실행될 프로세스를 CPU 스케줄러가 선택한다. 실행 상태 선택된 프로세스가 타임 슬라이스를 얻어 CPU를 사용하는 상태이다. 프로세스 사이의 문맥 교환이 일어난다. 대기 상태 실행 상태에 있는 프로세스가 입출력을 요청하면 입출력이 완료될 .. 2024. 2. 15.
[OS] 쉽게 배우는 운영체제 2장 연습문제/심화문제 연습문제 1. CPU의 구성에 대해 설명하시오. 산술논리 연산장치(ALU), 제어장치, 레지스터로 구성되어 있다. 2. 폰노이만 구조의 가장 중요한 특징을 설명하시오. 모든 프로그램은 메모리에 올라와야 실행할 수 있다. 3. 버스의 종류를 나열하시오. 제어 버스, 주소 버스, 데이터 버스 4. 단방향 버스에 대해 설명하시오. 주소 버스가 있다...? 자료가 한 방향으로 전달되는 버스 5. 다음에 실행할 명령어의 주소를 가지고 있는 레지스터는 무엇인가? 프로그램 카운터(PC) 6. 현재 실행 중인 명령어를 보관하는 레지스터는 무엇인가? (문제가 이상하다는 글을 찾아 수정함!) 명령어 레지스터(IR) 7. 메모리 주소를 보관하는 레지스터는 무엇인가? 메모리 주소 레지스터(MAR) 8. 메모리에 저장할 데이터.. 2024. 2. 2.