본문 바로가기

Computer Science/Operating system

(5)
[운영체제] CPU 스케줄링 | KOCW 2017 이화여대 반효경 교수님 * 강의를 듣고 복습하며 정리한 내용입니다. CPU 프로그램의 기계어 명령을 수행하는 컴퓨터 내 중앙 처리 장치 CPU 스케줄링 Ready Queue에 있는 프로세스 중 CPU를 줄 프로세스를 고르는 것. 운영체제 코드인 CPU 스케줄러에 의해 수행된다. CPU 스케줄링의 필요성 사용자 프로그램은 CPU 작업과 I/O 작업의 반복으로 이루어진다. CPU Burst: 사용자 프로그램이 CPU를 가지고 빠른 명령을 수행하는 작업. I/O Burst: I/O 요청이 발생한 후 커널을 통해 입출력을 수행하는 비교적 느린 작업. 프로세스는 이런 특성에 따라 두 가지로 나눌 수 있다. CPU-bound process: I/O 요청이 거의 발생하지 않아 CPU 버스트가 길게 나타나는 프로세스. I/O-bound pr..
[운영체제] 프로세스 관리(2) | KOCW 2017 이화여대 반효경 교수님 * 강의를 듣고 복습하며 정리한 내용입니다. Thread lightweight process. 프로세스의 실행 단위라고도 할 수 있다. 같은 프로그램을 여러 개 실행했을 때 각각의 프로세스를 만드는 것은 비효율적이다. 스레드를 사용하면 프로세스 내의 주소 공간(코드, 데이터)이나 자원을 공유할 수 있다. 스레드 ID, 프로그램 카운터, 레지스트 집합, 스택으로 구성된다. 하나의 프로세스 내에서 스레드간 자원을 공유하고, 자원의 생성과 관리의 중복성을 최소화해서 수행 능력을 향상시키는 것을 멀티 스레드라고 한다. 응답 속도가 빠르고, 자원을 공유하기 때문에 경제적이고, 다중 CPU 구조에서 각각의 스레드를 병렬처리 할 수 있다는 장점이 있다. 단, 스레드 간 자원을 공유하기 때문에 값을 정확히 읽고 쓰기 ..
[운영체제] 프로세스 관리(1) | KOCW 2017 이화여대 반효경 교수님 * 강의를 듣고 복습하며 정리한 내용입니다. 프로그램의 실행 프로그램이 실행될 때 각각의 프로그램은 독자적인 주소 공간인 가상 메모리를 가진다. 이는 코드, 데이터, 스택 영역으로 구성된다. 운영체제의 커널도 하나의 프로그램이기 때문에 코드, 스택, 데이터 영역을 가진다. 프로세스 프로세스란 실행 중인 프로그램을 말한다. 프로세스 문맥 (Process Context) 시분할 시스템 환경에서는 타이머 인터럽트에 의해 CPU 관리가 이루어진다. 따라서 CPU를 뺏겼다가 다시 얻었을 때 이전에 어디까지 명령을 수행했는지 정보가 필요하다. 이를 프로세스 문맥이라고 한다. 프로세스 문맥은 다음과 같이 구분할 수 있다. 1. 하드웨어 문맥: Program Counter 등 각종 레지스터에 저장된 값 2. 프로세스의..
[운영체제] 컴퓨터 시스템의 구조 | KOCW 2017 이화여대 반효경 교수님 * 강의를 듣고 복습하며 정리한 내용입니다. 운영체제 컴퓨터 하드웨어 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층. 좁게는 운영체제의 핵심 부분으로 메모리에 상주하는 커널을, 넓게는 커널 뿐만 아니라 각종 시스템 유틸리티를 의미한다. 운영체제의 분류 운영체제는 동시 작업 가능 여부, 사용자의 수, 처리 방식으로 나눌 수 있다. 동시 작업 가능 여부 1. 단일 작업: 한 번에 하나의 작업만 처리한다. 예) 과거 MS-DOS 프롬프트상의 명령어 수행 2. 다중 작업: 동시에 두 개 이상의 작업을 처리한다. 사용자의 수 1. 단일 사용자: 예) MS-DOS, MS Windows 등 2. 다중 사용자: 한 대의 컴퓨터에 여러 사용자가 접속. 예) Unix 등 처리 방식 1..
[운영체제] 운영체제 개요 | KOCW 2017 이화여대 반효경 교수님 * 강의를 듣고 복습하며 정리한 내용입니다. 운영체제 컴퓨터 하드웨어 바로 위에 설치. 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어. 운영체제의 목적 1. 하드웨어 자원(CPU, 메모리)을 효율적으로 관리 2. 응용프로그램 및 사용자에게 편리한 인터페이스 제공 운영체제의 기능 CPU 스케줄링 : CPU 큐에서 기다리는 프로그램 중 어떤 프로그램에게 먼저 CPU 사용권을 줄까? 1. FCFS (First Come First Served) 먼저 온 프로그램 순서대로. 📌단점: CPU를 길게 쓰는 프로그램이 먼저 도착한다면 전체 프로그램의 대기 시간이 늘어난다. 2. SJF (Shortest Job First) CPU를 짧게 쓰는 프로그램 먼저 사용. 📌단점: Starvation(기아 현상..