본문 바로가기
반응형

CS29

[CS] 운영체제 (3) CPU 스케줄링 CPU 스케줄링은 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것이다. 이 때 프로세스 우선순위를 봐야하는데 가장 공정한 CPU 스케줄링이라 하면 입출력 작업이 많은 프로세스(=입출력 집중 프로세스)의 우선순위는 CPU 작업이 많은 (=CPU 집중 프로세스)의 우선순위보다 높다. 입출력 집중 프로세스는 잠깐만 CPU를 쓰면 되기 때문에 먼저 우선순위를 높여서 먼저 처리하고 CPU 작업이 많은 프로세스에 CPU를 더 몰아주는게 효율이 좋다. 이 프로세스 우선 순위는 프로세스의 PCB에 저장 된다. 우선 순위를 알기 위해 모든 PCB를 다 뒤지는 건 비효울적이다. 많기도 하지만 프로세스도 계속해서 생겨나기 때문이다. 그래서 운영체제는 스케줄링 큐를 사용한다. 특정 자원을 요구하는 프로.. 2023. 7. 20.
[CS] 운영체제 (2) 프로세스 프로세스 프로세스는 실행 중인 프로그램이다. 포그라운드 프로세스와 백그라운드 프로세스로 나눌 수 있다. 포그라운드 프로세스 사용자가 볼 수 있는 공간에서 실행되는 프로세스. 일반적인 프로세스이다. 백그라운드 프로세스 사용자가 볼 수 없는 공간에서 실행되는 프로세스. 크게 사용자와 직접 상호작용이 가능한 백그라운드 프로세스와 사용자와 상호작용하지 않고 그저 정해진 일만 수행하는 프로세스가 있는데 후자를 데몬, 혹은 서비스라고 한다. 프로세스 제어 블록 모든 프로세스는 실행을 위해 CPU가 필요하다. 그렇지만 CPU 자원은 한정되어 있다. 따라서 프로세스들은 돌아가며 한정된 시간만큼만 CPU를 이용하며 타이머 인터럽트가 발생했을 때 차례를 양보한다. 이렇게 빠르게 번갈아 수행되는 프로세스들을 관리해야 하는데.. 2023. 7. 14.
[CS] 운영체제 (1) 운영체제란? 운영체제를 공부하며 정리한 내용입니다 운영체제를 알아야 하는 이유 모든 프로그램은 실행을 위해 자원(시스템 리소스)을 필요로 한다. 자원은 프로그램 실행에 있어 마땅히 필요한 요소라고 할 수 있다. 운영체제는 이러한 자원들을 실행할 프로그램에 필요한만큼 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이다. 그래서 메모리에 적재되는데 운영체제는 커널 영역에 적재가 된다. 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램을 응용 프로그램이라고 하는데 이건 사용자 영역에 적재된다. 운영체제는 응용 프로그램을 메모리에 적재해주는 등 메모리 관리를 한다. 또한 CPU 역시 관리한다. 어떤 프로그램을 나중에 실행할지 얼마나 오래 실행할지 등을 관리하는 것이다. 입출력 장치 역시 관리하며 하드웨어랑 .. 2023. 7. 13.
[CS] 컴퓨터 구조 (7) 입출력장치 입출력 장치는 앞서 학습한 CPU 메모리보다 다루기가 까다롭다. 일단 입출력장치에는 종류가 너무도 많다. 장치가 다양하면 장치마다 속도, 데이터 전송 형식 등도 다양 해지며 정보를 주고 받는 방식을 규격화하기가 어렵다. 또 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력 장치의 데이터 전송률은 낮다.(전송률이란 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표) 이러한 이유로 입출력 장치는 장치 컨트롤러를 통해 컴퓨터와 연결된다. 이를 통해 컴퓨터 내부와 정보를 주고 받게 된다. 장치 컨트롤러의 역할 - CPU와 입출력장치 간의 통신 중개(일종의 번역가 역할 수행. 즉 통신의 규격화) - 오류 검출 - 데이터 버퍼링( 버퍼링이란? : 전송률이 높은 장치와 낮은 장치 사이에 주고 받는 데이.. 2023. 7. 13.
반응형