본문 바로가기

CS 전공지식/운영체제4

4. CPU 스케줄링 알고리즘 ⭐CPU 스케줄러란? CPU 스케줄링 알고리즘에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당 프로그램이 실행될 때, CPU 스케줄링 알고리즘이 어떤 프로그램에 CPU 소유권을 줄 것인지 결정함 목표 CPU 이용률은 높게, 주어진 시간에 많은 일을 하게, 준비 큐(ready queue)에 있는 프로세스는 적게, 응답 시간은 짧게 설정하는 것 1. 비선점형 방식(non-preemptive)이란? 프로세스가 스스로 CPU 소유권을 포기하는 방식 강제로 프로세스를 중지하지 않음 컨텍스트 스위칭으로 인한 부하가 적음 FCFS (First Come, First Served) 가장 먼저 온 것을 가장 먼저 처리하는 알고리즘 단점 길게 수행되는 프로세스 때문에 ‘준비 큐에서 오래 기다리는 현상(con.. 2023. 8. 2.
3. 프로세스와 스레드 ⭐프로세스와 스레드란? 프로세스(process) : 컴퓨터에서 실행되고 있는 프로그램 = CPU 스케줄링의 대상이 되는 작업(task) 스레드(thread) : 프로세스 내 작업의 흐름을 지칭 1. 프로세스와 컴파일 과정 프로세스 프로그램으로부터 인스턴스화된 것 프로그램 컴파일러가 컴파일 과정을 거쳐 컴퓨터가 이해할 수 있는 기계어로 번역되어 실행될 수 있는 파일이 되는 것 컴파일 과정 C 언어 기반의 프로그램을 의미, 인터프리터 언어(파이썬 등)로 된 프로그램과는 다름 전처리 : 소스코드의 주석제거, 헤더파일 병합 > 매크로 치환 컴파일러 : 오류 처리 , 코드 최적화 작업 > 어셈블리어로 변환 어셈블러 : 어셈블리어를 목적코드로 변환 링커 : 프로그램 내에 있는 라이브러리 함수, 다른 파일들과 목적코.. 2023. 8. 2.
2. 메모리란? ⭐CPU는 ‘메모리’에 올라와 있는 프로그램의 명령어들을 실행한다 그렇다면 메모리 계층과 메모리 관리란? 1. 메모리 계층이란? 종류 휘발성 속도 기억 용량 레지스터 CPU 안에 있는 작은 메모리 가장 빠름 가장 빠름 가장 적 캐시 L1, L2 캐시 (, L3 캐시) 빠름 빠름 적음 주기억장치 RAM 보통 보통 보통 보조기억장치 HDD, SSD 비휘발성 낮음 많음 계층이 올라갈수록 가격, 속도 UP, 용량 DOWN 계층이 있는 이유 경제성(속도가 느린것이 더 저렴함) 과 캐시 때문 RAM 하드디스크로부터 일정량의 데이터를 복사해서 임시저장하고 이를 필요시마다 CPU에 빠르게 전달하는 역할을 함 캐시(cache) 데이터를 미리 복사해 놓는 임시 저장소 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상.. 2023. 8. 2.
1. 운영체제와 컴퓨터 ⭐운영체제(OS, Operating System) 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스 한정된 메모리나 시스템 자원을 효율적으로 분배 * 펌웨어(firmware) : 운영체제와 유사하지만 소프트웨어를 추가로 설치할 수 없는 것 1. 운영체제의 역할과 구조는? 운영체제의 역할 1. CPU 스케줄링과 프로세스 관리: CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리 2. 메모리 관리: 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리 3. 디스크 파일 관리: 디스크 파일을 어떠한 방법으로 보관할지 관리 4. I/O 디바이스 관리: I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리 운영체제의 구조 유저 프로그램 GU.. 2023. 7. 26.