본문 바로가기

CS/운영체제

(3)
[OS] I/O 장치 - 폴링 & 인터럽트 & DMA 이 글은 '운영체제 아주 쉬운 세가지 이야기' 책을 학습하고 정리한 내용입니다. 운영체제 아주 쉬운 세 가지 이야기 운영체제 아주 쉬운 세 가지 이야기 www.aladin.co.kr 위 이미지는 일반적인 시스템 구조를 나타낸 것이다. RAM과 GPU와 같이 고속 통신을 요구하는 장치는 CPU와 근접해 있고, HDD와 그외 다른 장치들을 상대적으로 CPU로 부터 멀리 떨어져있다. 이런 계층적인 구조를 갖는 이유는 ‘비용’과 장치간의 ‘물리적인 거리’를 고려하여 등장한 개념이다. 버스가 고속화되려면 더 짧아져야 되지만, 고속의 메모리 버스는 여러 장치를 수용할 수 없다(또한, 비싸다). 이러한 이유로, 고성능 장치는 CPU와 가깝게 두고, 느린 성능의 장치들을 그보다 멀리 배치한다. 36. 2 표준 장치 가.. 2024. 1. 22. 17:43
[OS] 시스템콜, 그리고 관련된 개념들 이 글은 '운영체제 아주 쉬운 세가지 이야기' 책을 학습하고 정리한 내용입니다. 운영체제 아주 쉬운 세 가지 이야기 운영체제 아주 쉬운 세 가지 이야기 www.aladin.co.kr OS에서 가상화 기법을 구현하기 위해서 ‘성능 저하’, ‘제어 문제’라는 이슈를 해결해야 했다. 초기 OS 개발자들은 프로그램을 빠르게 실행시키기 위해, 가장 기초적인 접근법인 ‘직접 실행’을 적용하였다. (시스템콜 도입 배경) 직접 실행 (여기서 직접 실행이란, 프로그램이 시스템에 필요한 모든 연산들을 직접 통제 가능하다는 의미이다) 직접 실행이란 간단하다. 말그대로 프로그램을 CPU 상에서 실행시키는 것이다. 프로그램이 실행되기 위해서 OS는 아래의 절차를 수행한다. 프로세스 목록에 해당 프로세스 항목 생성 메모리 할당 .. 2024. 1. 17. 18:49
[OS] 운영체제 개요 이 글은 '운영체제 아주 쉬운 세가지 이야기' 책을 학습하고 정리한 내용입니다. 운영체제 아주 쉬운 세 가지 이야기 운영체제 아주 쉬운 세 가지 이야기 www.aladin.co.kr 운영체제란? OS(운영체제)란 프로그램을 쉽게 실행시키고, 여러 프로그램을 하나의 컴퓨터에서 동작할 수 있도록 하며, 여러 프로그램이 하나의 메모리를 함께 공유할 수 있게 하며, 프로그램이 컴퓨터의 물리적인 장치와 상호작용할 수 있게 도와주는 소프트웨어를 말한다. OS에서 위와 같은 기능들을 지원하기 위해, 도입한 핵심적인 개념은 ‘가상화(virtualization)’, ‘병행성(concurrency)’, ‘영속성(persistence)’이다. 가상화를 지원한다는 측면에서 가상 머신(virtual machine)리가 불리기도.. 2024. 1. 17. 17:08