CS/운영체제 4

[OS]CPU 스케줄링 알고리즘

* CPU 스케줄러 : CPU 스케줄링 알고리즘에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당 프로그램이 실행될 때, CPU 스케줄링 알고리즘이 어떤 프로그램에 CPU 소유권을 줄 것인지 결정 목표 : CPU 이용률은 높게, 주어진 시간에 많은 일을 하게, 준비 큐에 있는 프로세스는 적게, 응답 시간은 짧게 설정 1. 선점형 방식(preemptive) : 지금 사용하고 있는 프로세스를 알고리즘에 의해 중단시켜 버리고 강제로 다른 프로세스에 CPU 소유권을 할당하는 방식, 현재 운영체제가 쓰는 방식 1) 라운드 로빈(RR, Round Robin) : 우선순위 스케줄링의 일종, 각 프로세스는 동일한 할당 시간을 주고 그 시간 안에 끝나지 않으면 다시준비 큐의 뒤로 가는 알고리즘 2) SRF..

CS/운영체제 2023.12.23

[OS]메모리 관리

운영체제의 대표적인 할 일 중 하나 : 메모리 관리 = 컴퓨터 내의 한정된 메모리를 극한으로 활용 1. 가상 메모리(virtual memory) : 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것 (메모리 관리 기법의 하나) - 가상 주소(logical address) : 가상적으로 주어진 주소 - 실제 주소(physical address) : 실제 메모리 상에 있는 주소 -> 가상 메모리는 메모리관리장치(MMU)에 의해 실제 주소로 변환됨 (= 사용자 : 실제 주소를 의식할 필요 없이 프로그램 구축 가능) - 가상 메모리는 가상 주소와 실제 주소가 매핑되어 있고, 프로세스의 주소 정보가 들어 있는 '페이지 테이블'로 관리됨 * TLB(..

CS/운영체제 2023.12.20

[OS]컴퓨터의 요소: CPU(CU, ALU, Register), DMA Controller, Memory, Timer, Device Controller

컴퓨터 : CPU, DMA 컨트롤러, 메모리, 타이머, 디바이스 컨트롤러 등으로 구성 1. CPU(중앙 처리 장치, Central Processing Unit) : 산술논리연산장치, 제어장치, 레지스터로 구성되어 있는 컴퓨터 장치 즉, 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행/처리하는 가장 핵심적인 컴퓨터의 제어 장치(기억, 해석, 연산, 제어) 인터럽트에 의해 단순히 메모리에 존재하는 명령어를 해석해 실행하는 일꾼 운영체제의 커널(관리자)이 프로그램을 메모리에 올려 프로세스로 만들면, CPU(일꾼)가 처리 1) 제어장치(CU, Control Unit) : 프로세스 조작을 지시하는 CPU의 한 부품 - 입출력장치 간 통신을 제어 - 명령어들을 읽고 해석하며 데이터 처리를 위한 순서를 결정 2023..

CS/운영체제 2023.12.15

[OS]운영체제의 역할, 구조

운영체제(OS, Operating System) : 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스 (= 한정된 메모리나 시스템 자원을 효율적으로 분배 -> 소프트웨어를 관리하는 일꾼) cf. 펌웨어(firmware) : 운영체제와 비슷, 소프트웨어를 추가로 설치할 수 x 1. 운영체제 역할 1) CPU 스케줄링, 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리 2) 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리 3) 디스크 파일 관리 : 디스크 파일을 어떠한 방법으로 보관할지 4) I/O 디바이스 관리 : I/O 디바이스(마우스, 키보드) - 컴퓨터 간에 데이터를 주고받는 것 관리 2. 운영체제 구조 * 맨 ..

CS/운영체제 2023.12.14