본문 바로가기

CS 리마인드/운영체제

(5)
[운영체제] 5. CPU 스케줄링 본 내용들은 전공수업으로 배운 내용들을 스스로 리마인드하기 위한 목적으로 작성되었으며, 누군가에게 지식을 전달하기 위한 목적으로 작성한 것이 아닙니다. 대부분의 내용은 제가 수강했던 전공수업 및 Operating System Concepts, 10th Edition에 근거하고 있습니다.   1. 개념- CPU 스케줄링은 멀티 프로그래밍과 함께 CPU 이용률을 극대화하기 위해 등장했다. 기본적으로 프로세스는 CPU burst와 I/O burst의 사이클로 동작하게 되며, CPU burst를 어떻게 배분하느냐가 주요한 고민거리이다.- 이런 CPU burst의 경우 short burst가 많은 부분을 차지 하고 있으며, longer burst는 그 비율이 훨씬 낮다. - 프로세스 상태를 running, rea..
[운영체제] 4. 스레드 본 내용들은 전공수업으로 배운 내용들을 스스로 리마인드하기 위한 목적으로 작성되었으며, 누군가에게 지식을 전달하기 위한 목적으로 작성한 것이 아닙니다. 대부분의 내용은 제가 수강했던 전공수업 및 Operating System Concepts, 10th Edition에 근거하고 있습니다. 1. 개요 현대의 대부분의 응용 프로그램들은 멀티 스레드 기반으로 동작한다. 응용 프로그램들이 보통 다수의 태스크를 동시에 처리해야 하기 때문인데, 당장 워드만 사용해도 UI를 표시하면서 지속적으로 맞춤법을 검사하며, 동시에 저장소의 데이터를 읽거나 쓰는 것도 가능하다.  프로세스는 저번 챕터에서 본 것처럼 생산 및 관리의 오버헤드가 크기 때문에, 오버헤드를 줄이고 보다 효율적으로 다수의 태스크를 처리하기 위해 등장한 개..
[운영체제] 3. 프로세스 본 내용들은 전공수업으로 배운 내용들을 스스로 리마인드하기 위한 목적으로 작성되었으며, 누군가에게 지식을 전달하기 위한 목적으로 작성한 것이 아닙니다. 대부분의 내용은 제가 수강했던 전공수업 및 Operating System Concepts, 10th Edition에 근거하고 있습니다.  1. 개념- 프로세스는 실행 중인 프로그램을 의미한다. 즉 온 메모리 상태인 것. 프로그램은 secondary storage 내에 있는 실행가능한 코드를 의미한다.- 물론 하나의 프로그램이 여러 개의 프로세스를 가질 수도 있다. 한 프로그램이 여러 번 실행되는 상황이라든지.- 이런 프로세스는 다음과 같은 구성요소로 이뤄진다.Text Section: 실제 프로그램의 코드가 저장된 부분, instruction set.Dat..
[운영체제] 2. OS 서비스 본 내용들은 전공수업으로 배운 내용들을 스스로 리마인드하기 위한 목적으로 작성되었으며, 누군가에게 지식을 전달하기 위한 목적으로 작성한 것이 아닙니다. 대부분의 내용은 제가 수강했던 전공수업 및 Operating System Concepts, 10th Edition에 근거하고 있습니다. 1. OS 서비스 - OS는 프로그램 실행을 위한 환경 및 프로그램과 유저에게 서비스들을 제공한다 (아래의 6 + 3 서비스가 대표적) 유저에게 유용한 기능을 제공(6) - User interface, Progream execution, I/O operations, File-system manipulation, Communications(Internal & External), Error Detection Resource ..
[운영체제] 1. 서론 본 내용들은 전공수업으로 배운 내용들을 스스로 리마인드하기 위한 목적으로 작성되었으며, 누군가에게 지식을 전달하기 위한 목적으로 작성한 것이 아닙니다. 대부분의 내용은 제가 수강했던 전공수업 및 Operating System Concepts, 10th Edition에 근거하고 있습니다. 1. OS의 정의 뚜렷하게 통용되는 정의는 없다. 응용 프로그램, 유저와 하드웨어 사이의 중재자로서, 핵심적인 기능을 하는 커널부터 함께 포함된 시스템 프로그램, 응용 프로그램, 미들웨어 등에 이르기까지 동봉된 모든 것을 지칭한다. 2. 컴퓨터 시스템 구조의 개요 2.1 컴퓨터 시스템의 조직과 동작 - 하나 이상의 CPU와 Device controller들이 Shared memory에 접근할 수 있는 공용 버스로 연결되어..