본문 바로가기

운영체제14

Operating System - Ch03. Process 본 글은 Operating System Concepts 10판을 기준으로 작성되었습니다...! "시험공부하면서 작성중" Program: 디스크에 존재하는 실행 가능한 파일 (.exe), 메모리에 로드되면 프로세스가 된다. 정적입니다. Process: 프로그램이 실행된 상태. 스레드 이전에는 스케줄링의 기본 단위였다. 커널이 process ID(PID)를 통해 프로세스를 관리한다. (Table 이용) 프로그램을 실행하게 되면 프로그램의 복사판인 프로세스를 만들어 메모리에 올리는 것. 동적인 존재입니다. Text (code): 실행할 코드의 모음 Data: 전역 변수들 Heap: 프로그램 실행 시 동적으로 할당되는 메모리 Stack: 함수 수행을 위해 사용되는 임시 저장소, 함수가 실행되면 데이터가 쌓였다가.. 2022. 4. 27.
Operating System - Ch05. CPU Scheduling 본 글은 Operating System Concepts 10판을 기준으로 작성되었습니다...! 이번에는 CPU 스케줄링에 대해서 알아보자. CPU Scheduler: 어떤 녀석에게 CPU자원을 사용할 권한을 줄 것인가를 결정함 CPU burst: I/O 연산이 아닌 CPU연산을 중심으로 하는 구간 I/O burst: I/O 요청을 위해서 기다리는 구간 (I/O wait) CPU-bound process: CPU burst의 비율이 높은 녀석, 연산이 많이 필요한 경우. 단순하면서 높은 성능을 내도록 설계 ex) 슈퍼컴퓨터, Simulation I/O-bound process: I/O burst의 비율이 높은 프로세스, 네트워크 통신이나 로컬 파일과 동작하는 경우가 많을 때. 컴퓨터와 유저간의 응답성이 중.. 2022. 4. 21.
Operating System - Ch.04 Thread & Concurrency 본 글은 Operating System Concepts 10판을 기준으로 작성되었습니다...! Process란 "실행 중"인 program을 의미한다 Program은 디스크에 그냥 있는 상태. 작성된 프로그램이 메모리 공간을 할당받고 실행중인 상태. 음... Process는 좀 무겁네... address space도 크고,, PCB 크기도 크고... OS 자원도 너무 많이 먹어... 많은 데이터와 많은 저장공간이 필요하네... 또 여러 프로세스 돌리면서 스케듈링할 때 생기는 오버헤드도 있고... 프로세스끼리의 소통이 커널을 통해 이루어지니까 좀 비싸다... 어떻게 해결 안되나? 하나의 단일 process 안에서 여러 execution path를 만들면 가볍게 동작하지 않을까? 그리하여... ★Thread.. 2022. 4. 19.
Operating System - Ch.01 Introduction 본 글은 Operating System Concepts 10판을 기준으로 작성됬습니다...! 1장에서는 운영체제의 개념과 컴퓨터의 기본 구조에 대해 살펴봅니다. 1.1 What Operating Systems Do Operating System(운영체제)란? 정확하게 운영체제를 정의할 수는 없지만, 간단히 말하면 운영체제는 컴퓨터 하드웨어 자원을 관리하고, 컴퓨터 사용자가 컴퓨터를 사용하기 편리하도록 서비스를 제공하는 소프트웨어다. 운영체제는 우리가 흔히 사용하는 PC나 Laptop에는 물론 스마트폰, 자동차, 가전제품 등에도 들어간다. 스마트폰에 들어가는 Android는 본래 운영체제라기보다는 Platform 취급을 했었다고 하는데, 지금은 하나의 운영체제로서 인정받고 있다. 자동차나 가전제품같은 경우.. 2022. 4. 17.