목록📖 OS (4)
즐겁게, 코드
이 글은 한국기술대학교 컴퓨터공학부의 OS 공개강의를 시청한 후 정리한 내용입니다. 목차 스케줄링 스케줄링의 목적 스케줄링 기준 및 단계 스케줄링 정책 1. 스케줄링 다중 프로그래밍에서는 시스템에 여러 프로세스가 존재하게 됩니다. 따라서 여러 프로세스를 효율적으로 관리하기 위해서는 자원을 현명하게 배분해야겠죠? 오늘 다룰 스케줄링이 바로 자원을 효율적으로 배분하기 위한 방법을 의미합니다. 스케줄링(자원 관리)의 종류 시간 분할 관리 하나의 자원을 여러 스레드들이 번갈아가며 사용 Ex. 프로세스 & 프로세스 스케줄링 공간 분할 관리 하나의 자원을 분할하여 동시에 사용 Ex. 메모리 & 메모리 스케줄링 2. 스케줄링의 목적 당연히 스케줄링의 목적은 시스템의 성능을 향상시키는 것입니다. 시스템의 성능을 판별하..
이 글은 한국기술대학교 컴퓨터공학부의 OS 공개강의를 시청한 후 정리한 내용입니다. 목차 스레드의 개념 스레드의 구현 사용자 수준 스레드 (다대일 모델) 커널 수준 스레드 (다대다 모델) 혼합 스레드 1. 스레드의 개념 프로세스는 커널 위에서 실행되고 있는 작업인데요, 프로세스가 자원을 어떻게 배분할지 제어하는 친구가 바로 스레드입니다. 비유를 들어보자면 한 연구를 수행한다고 할 때, 프로세스는 연구실이 되고 스레드가 연구원이라고 생각하면 될 듯 합니다. (연구비가 연구실마다 배정되어 연구원들이 이를 나눠 사용하듯, 프로세스의 스레드들은 공동의 자원을 소모합니다.) 스레드는 보다 작은 프로세스라는 의미로 Light Weight Process(LWP) 라고 부르기도 하며, 프로세스 활용의 기본 단위가 됩니..
이 글은 한국기술대학교 컴퓨터공학부의 OS 공개강의를 시청한 후 정리한 내용입니다. 목차 프로세스의 개념 PCB (Process Control Block) 프로세스의 상태 인터럽트 컨텍스트 스위칭 1. 프로세스의 개념 작업 (Job) / 프로그램 (Program) 실행할 프로그램 + 데이터 컴퓨터 시스템에 실행을 요청하기 전의 상태 프로세스 실행을 위해 시스템(커널)에 등록된 작업 시스템 성능 향상을 위해 커널에 의해 관리됨. ⇒ 작업(Job)을 요청해 커널에 등록되면 이를 프로세스라 함. 1. 1. 프로세스의 정의 실행중인 프로그램 (커널에 등록되고, 커널의 관리를 받는 작업) 각종 자원을 요청하고 할당받을 수 있는 객체 자원의 개념 커널의 관리 하에 프로세스에 할당/반납되는 수동적 객체 자원의 종류 ..
이 글은 한국기술대학교 컴퓨터공학부의 OS 공개강의를 시청한 후 정리한 내용입니다. 목차 운영체제의 역할 운영체제의 구분 운영체제의 구조 운영체제의 기능 1. 운영체제의 역할 1. 운영체제는 유저가 하드웨어를 다룰 수 있는 인터페이스를 제공한다. GUI CUI EUCI (MP3 등 특수한 목적의 운영체제) 2. 운영체제는 하드웨어와 소프트웨어를 효율적으로 관리한다. 3. 운영체제는 *프로세스와 쓰레드를 관리한다. (* 프로세스 = 하나의 작업) 4. 운영체제는 시스템을 보호한다. 2. 운영체제의 구분 1. 동시 사용여부에 따라 (여러명이 "동시에" 사용할 수 있는가?) Single User System (단일 사용자 운영체제) Multi User System (다중 사용자 운영체제) 2. 동시 실행 프로..