본문 바로가기

운영체제 기초9

[ OS 기초 ] 12. I/O System and Disk Management 1. 입출력(I/O) 메커니즘이란? 2. 운영체제와 입출력(I/O) 3. 디스크 스케줄링 4. RAID 아키텍처 00 개요 컴퓨터로 게임을 할 때 아이템을 쓰기 위해서, 이동하기 위해서 마우스를 클릭하거나 키보드를 누른다. 이러한 마우스 클릭, 키보드 누름과 같은 행동은 입출력에 해당하는데, 운영체제는 이런 행동을 컴퓨터가 인식해 프로그램이 사용자가 의도한 결과(아이템 선택 또는 이동)를 화면상에 보여주는 과정에도 관여하고 있다. 이번 차시에서는 입출력 메커니즘과 이 과정에서 운영체제가 제공하는 기능들에 대해 알아보았다. 뿐만 아니라 디스크의 입출력 성능을 향상하기 위한 스케줄링 기법과 RAID(Redundant Array of Inexpensive Disks) 아키텍처에 대해 살펴보았다. 01 입출력 .. 2021. 7. 27.
[ OS 기초 ] 10. Virtual Memory Management (2) 0. 가상 메모리 관리란 무엇인지, 관련된 개념 1. 가상 메모리 관리 - 하드웨어 컴포넌트 2. 가상 메모리 관리 - 소프트웨어 컴포넌트 3. 가상 메모리 관리 - 소프트웨어 컴포넌트 중 교체 전략 - FA, VA based를 중심으로 4. 기타 가상 메모리 관리 시 고려해야 할 요소들 00 개요 가상 메모리 관리 방법으로 하드웨어와 소프트웨어 컴포넌트들을 살펴봤는데 이 중에서 소프트웨어 컴포넌트의 replacement strategies(교체 전략)을 구현하는 고정 할당 기반, 변동 할당 기반의 다양한 알고리즘을 살펴본 뒤 기타 가상 메모리 관리를 위한 고려 사항들에 대해 알아보는 것으로 가상 메모리 관리 부분을 마무리할 예정. 01 교체 전략과 지역성 교체 전략 : 어떤 프로세스에 할당된 메모리를 .. 2021. 7. 21.
[ OS 기초 ] 10. Virtual Memory Management 0. 가상 메모리 관리란 무엇인지, 관련된 개념 1. 가상 메모리 관리 - 하드웨어 컴포넌트 2. 가상 메모리 관리 - 소프트웨어 컴포넌트 3. 가상 메모리 관리 - 소프트웨어 컴포넌트 중 교체 전략 - FA, VA based를 중심으로 (다음에...) 4. 기타 가상 메모리 관리 시 고려해야 할 요소들 (다음에...) 00 개요 앞서 지금까지 메모리 관리를 연속 할당과 비연속 할당으로 나누어 살펴보았고, 비연속 할당에서 paging system, segmentation을 공부하며 가상 메모리를 접해보았다. 시스템을 보다 효율적으로 사용하기 위해서는 이러한 가상 메모리를 잘 관리할 필요가 있기 때문에 가상 메모리 관리를 위한 다양한 방법과 전략에 대해 살펴보았다. 01 가상 메모리 관리 비연속 할당( n.. 2021. 7. 19.
[ OS 기초 ] 09. Virtual Memory (2) (앞에서 이어) 비연속 메모리 할당 기법과 각각의 특징, 주소 매핑, 메모리 관리, 공유 및 보호 1. segmentation system 2. hybrid paging and segmentation system 00 개요 운영체제의 주 기능 중 하나인 메모리 관리는 크게 메모리 연속 할당과 비연속 할당으로 구분할 수 있다. 앞서 연속 할당 방법의 Uni-programming, Multi-programming(FPM, VPM)에 대해 알아보았고 대표적인 비연속 할당 방법(Paging System, Segmentation System, Hybrid) 중 페이징 시스템까지 알아보았다. 이번 차시에서는 남은 두 방법인 세그멘테이션 시스템과 페이징시스템을 세그멘테이션 시스템과 결합한 하이브리드 시스템에 대해 살.. 2021. 7. 13.
[ OS 기초 ] 09. Virtual Memory 1. 메모리 비연속 할당과 address mapping 2. Paging System - 특징, 주소 매핑, 관리 및 공유, 보호 00 개요 앞서 메모리 관리와 연속 할당 기법에 대해 살펴보았고 다음은 비연속 할당에 대한 내용이다. 비연속 할당은 메모리를 어떻게 할당하는 방법이며 연속 할당과의 차이점은 무엇인지, 대표적인 비연속 할당 기법인 paging, segmentation, hybrid paging and segmentation system에 대한 내용을 알아보았다. 01 비연속 할당과 address mapping 비연속 할당은 프로세스가 메모리에 올라갈 때 연속된 공간에 올라가는 게 아닌 띄엄띄엄 올라가는 메모리 할당 방식이다. 이때 띄엄띄엄 올리기 위해서는 프로세스를 여러 개의 단위로 분할해주는.. 2021. 7. 12.
[ OS 기초 ] 08. Memory Management 1. 메모리 관련 개념 - 종류, 계층, 워드와 블록, 주소 바인딩(address binding), Dynamic loading, Swapping 2. 메모리 할당 - 연속적 메모리 할당 : Uni programming / Multi programming (FPM, VPM)과 배치 전략 - 비연속적 메모리 할당( 다음에 다룰 것) 00 개요 운영체제는 자원을 잘 관리해 사용자와 응용 프로그램에 서비스를 제공하는 역할을 한다. 지금까지는 운영체제의 기능 중 프로세스 관리에 대해 살펴봤고, 다음에 나올 부분은 메모리 관리다. 운영체제가 메모리를 관리한다는 것은 뭔지, 어떻게 관리를 하는지에 대해 살펴보기 위한 기본적인 개념을 우선 살펴보고 메모리 할당 방식에 대해 알아보았다. 01 메모리, 메모리 관련 개념.. 2021. 7. 12.
[ OS 기초 ] 06. 프로세스 동기화, 상호배제 1. 동기화란? 2. 동기화의 개념과, 동기화를 하는 이유 3. 동기화와 관련된 개념 4. 상호배제와 기법 00 동기화란? 동기화(Synchronization) 은 쉽게 말해 시스템 프로세스 간 정보를 공유하는 행위라 정리할 수 있다. (프로세스의 대화) 01 동기화, 하는 이유 우리가 평소 이용하는 컴퓨터는 '다중 프로그래밍 시스템' => 여러 프로세스가 동시에 돌아간다 - 프로세스는? 자원을 제어해 작업을 수행하여 목적을 달성한다 - 그렇다면 여러 프로세스가 하나의 자원을 동시에 쓰려고 한다면? 문제가 발생할 수 있다 ex. race condition : 실행 순서에 따라 결과가 달라지는 것 특히 프로세스는 기본적으로 '비동기적' 이면서 '병행적' 이다 - 비동기적(Asynchronous) : 다른 .. 2021. 6. 30.
[ OS 기초 ] 05. 스케줄링 알고리즘 대표적인 스케줄링 알고리즘 1. FCFS (First Come First Service) 2. RR (Round Robin) 3. SPN (Shortest-Process Next) 4. SRTN (Shortest Remaining Time Next) 5. HRRN (High Response Ratio Next) 6. MLQ (Multi Level Queue) 7. MFQ (Multi-level Feedback Queue) 01 FCFS - 선착순 알고리즘 : 가장 먼저 도착한 프로세스부터 프로세서를 할당해주는 알고리즘 - FCFS가 적절한 시스템 : 배치 시스템 (일괄처리 시스템) - 빠른 응답보다 빨리 처리해주는게 더 중요 - FCFS가 부적합한 시스템 : 대화형 시스템 (interactive syst.. 2021. 6. 29.
[ OS 기초 ] 03. 스레드 관리 1. 스레드의 개념 2. 스레드의 구현 00 도입 스레드에 들어가기 전 기본 개념을 한 번 더 짚어보면 - 작업 : 목적 달성을 위해 필요한 프로그램과 데이터의 묶음 - 프로세스 : 자원을 할당받아 작업을 수행해 목적을 달성하는 것, 할당받은 자원을 제어한다 - 스레드 : 프로세스의 '제어' 부분 01 스레드의 개념 스레드 = 실 (표현 할 때 ~ 로 표현) 프로세스는 자원을 할당받아 이 자원을 제어하며 작업을 수행해나간다. 여러 자원을 할당받았을 때, 이 자원들을 제어 하는 것이 바로 스레드다. 01-1 스레드 프로세스 : 자원을 제어하여 목적 달성을 위해 작업을 수행하는 것 스레드는 여기서 제어에 해당하는데, 자원은 공유하고 있기 때문에 가벼운 프로세스(Light Weight Process)라 불린다.. 2021. 6. 23.