본문 바로가기

TIL141

CPU 스케줄링 알고리즘 CPU 스케줄러는 CPU 스케줄링 알고리즘에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당한다. 이 알고리즘은 CPU 이용률은 높게, 주어진 시간에 하는 일은 많게, 준비 큐에 있는 프로세스는 적게, 응답 시간은 짧게 설정하는 것을 목표로 한다. 비선점형 방식 프로세스가 스스로 CPU 소유권을 포기하는 방식이며, 강제로 프로세스를 중지하지 않는다. 따라서 컨텍스트 스위칭으로 인한 부하가 적다. FCFS First Come First Served 가장 먼저 온 것을 가장 먼저 처리하는 알고리즘이다. 길게 수행되는 프로세스 때문에 준비큐에서 오래 기다리는 현상(convey effect)이 발생하는 단점이 있다. SJF 실행시간이 가장 짧은 프로세스를 먼저 실행하는 알고리즘이다. 긴 시간을 가.. 2023. 10. 24.
프로세스와 쓰레드 프로세스는 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업이라는 용어와 같은 의미로 쓰인다. 쓰레드는 프로세스 내 작업의 흐름을 지칭한다. 프로세스와 컴파일 과정 프로세스는 프로그램으로부터 인스턴스화된 것을 말한다. 예를 들어 프로그램은 구글 크롬 프로그램과 같은 실행 파일이며, 이를 두 번 클릭하면 구글 크롬 프로세스가 시작되는 것이다. 프로그램은 컴파일러가 컴파일 과정을 거쳐 컴퓨터가 이해할 수 있는 기계어로 번역되어 실행될 수 있는 파일이 되는 것을 의미한다. 다음은 C언어 기반의 프로그램 컴파일 과정이다. 여타 인터프리터 언어와는 다르다. 전처리 - 소스 코드의 주석을 제거하고 #include 등 헤더 파일을 병합하여 매크로를 치환한다. 컴파일러 - 오류 처리, 코드.. 2023. 10. 23.
메모리 메모리 계층 레지스터 : CPU 안에 있는 작은 메모리, 휘발성, 속도 가장 빠름, 기억 용량이 가장 적음 캐시(L1, L2 캐시) : L1, L2 캐시를 지칭, 휘발성, 속도 빠름, 기억 용량이 적음 메모리(RAM)/ 주기억장치 : RAM을 가리킴, 휘발성, 속도 보통, 기억 용량이 보통 저장장치(HDD, SDD)/ 보조기억장치 : HDD, SDD를 가리킴, 휘발성, 속도 낮음, 기억 용량이 많음 이러한 계층이 있는 이유는 계층 위로 갈수록 속도는 빨라지지만 용량은 작아지고 가격이 비싸지기 때문이다. 즉, 경제성 때문이다. 캐시 데이터를 미리 복사해 놓는 임시 저장소이자 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리를 말한다. 데이터를 접근하는 시간이 오래 걸리는 경우를 .. 2023. 10. 20.
운영체제 운영체제(OS)는 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스이다. 한정된 메모리나 시스템 자원을 효율적으로 분배하는 역할을 한다. 참고로 운영체제와 유사하나 소프트웨어를 추가로 설치할 수 없는 것을 펌웨어라고 한다. 운영체제의 역할과 구조 운영체제의 역할 CPU 스케줄링과 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리한다. 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼만큼 할당해야 하는지 관리한다. 디스크 파일 관리 : 디스크 파일을 어떠한 방법으로 보관할지 관리한다. I/O 디바이스 관리 : I/O 디바우스들은 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리한다. 운영체제의 구조 유저 프로그램 - GUI - 시스템콜.. 2023. 10. 19.