[CPU 스케줄링 알고리즘]
·
CS/OS
CPU 스케줄링은 CPU 스케줄링 알고리즘에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당한다. 프로그램이 실행될 때는 어떤 프로그램에 CPU 소유권을 줄 것인지 결정한다. 알고리즘은 CPU 이용률은 높게 하면서 주어진 시간에 많은 일을 수행하는 것이 목표이다. 즉, Ready Queue에 있는 프로세스를 적게, 응답 시간은 짧게 설정하는 것이 목표이다. CPU 스케줄링 알고리즘은 비선점형 방식과 선점형 방식으로 나뉜다. 비선점형 방식 비선점형 방식은 프로세스가 CPU 소유권을 스스로 포기하며, 강제로 프로세스를 중지하지 않는다. 따라서 컨텍스트 스위칭으로 인한 부하를 줄일 수 있다는 장점이 있다. 대표적으로 FCFS, SJF 그리고 우선순위 알고리즘이 있다. 1) FCFS (Fist C..
[프로세스 구조와 프로세스 통신]
·
CS/OS
프로세스와 스레드란? 프로세스 : 메모리에 올라간 프로그램을 말한다. 즉, 실행 중인 프로그램이다. 운영체제의 CPU 스케쥴러에 따라 CPU가 프로세스를 실행한다. 스레드 : 프로세스 내 작업의 흐름을 말한다. 프로세스의 상태 프로세스는 여러 상태 값을 가진다. 생성 상태 (create) 프로세스가 생성된 상태를 의미한다. fork() or exec() 함수를 통해 생성된다. 이때, PCB가 할당된다. fork: 부모 프로세스의 주소 공간을 그대로 복사하며, 새로운 자식 프로세스를 생성하는 함수 exec: 새롭게 프로세스를 생성하는 함수 대기 상태 (ready) 메모리 공간이 충분하지 않아 CPU 스케쥴러로부터 CPU 소유권이 넘어오기를 기다리는 상태를 의미한다. 메모리 공간이 충분하면 메모리를 할당받고..
[메모리 관리]
·
CS/OS
운영체제가 대표적인 할 일 중 하나가 메모리 관리다. 컴퓨터 내의 한정된 메모리를 효율적으로 사용해야하는 것이다. 1. 가상 메모리 가상메모리는 메모리 관리 기법 중 하나이다. 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 이를 사용자에게 큰 메모리처럼 보이게 만드는 것이다. 가상 메모리는 '페이지 테이블'로 관리된다. 속도 향상을 위해 TLB를 사용한다. 페이지 테이블 : 가상 주소와 실제 주소가 매핑되어 있고 프로세스의 주소 정보가 들어있다. 가상 주소 : 가상적으로 주어진 주소 실제 주소: 실제 메모리 상에 있는 주소 TLB: CPU와 메모리 사이에 있는 주소 변환을 위한 캐싱 계층이다. 페이지 테이블 리스트를 보관하여 CPU가 페이지 테이블까지 가지 않도록 해 속도를 향상시켜준다. 가상 주..
[운영체제 역할과 구조]
·
CS/OS
[1] 운영체제란? 운영체제는 사용자와 하드웨어 간의 인터페이스로 동작하는 시스템 소프트웨어다. 한정된 메모리나 시스템 자원을 효율적으로 관리함으로써 사용자가 컴퓨터를 쉽게 다룰 수 있게 해준다. [2] 운영체제의 역할 운영체제의 대표적인 역할은 네 가지가 있다. CPU 스케줄링과 프로세스 관리 CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원할당 및 반환을 관리한다. 메모리 관리 어떤 프로세스에 얼만큼 메모리를 할당할지 관리한다. 디스크 파일 관리 디스크 파일을 어떤 방법으로 보관할지 관리한다. I/O 디바이스 관리 IO 디바이스들 간에 데이터를 주고받는 것을 관리한다. [3] 운영체제 구조 GUI 사용자가 하드웨어와 상호작용할 수 있도록 해주는 사용자 인터페이스의 일종이다. E..