OS/OS - Overview 9

가상 기계 (Virtual Machine)

가상 기계 (Virtual Machine) 1. 가상 기계란? 운영체제 구조의 계층적 접근 방법은 많은 발전을 거듭하다가 결국 가상 기계의 개념이라는 논리적인 결론에 이르게 된다.(계층적 접근 방법을 포함한 운영체제 구조에 대한 내용: ) 가상 기계의 기본적인 착상은 한 컴퓨터의 하드웨어를 다수의 다른 실행 환경으로 추상화하는 것이다. 그리하여 각각의 개별적인 실행 환경이 자신만의 독립된 컴퓨터를 사용한다는 환상을 가지게 만든다. 물론, 일반적으로 프로세스는 순수한 하드웨어(bare machine)에 의해서 제공되지 않는 시스템 호출이나 파일 시스템과 같은 부가적인 기능을 가지고 있다. 반면에, 가상 기계는 어떤 부가적인 기능을 제공하는 것이 아니라 아래에 깔려 있는 순수한 하드웨어와 동일한 인터페이스를..

OS/OS - Overview 2018.10.02

운영체제 구조

운영체제 구조(OS Structures) 현대의 운영체제와 같이 크고 복잡한 시스템이 적절하게 동작하고 쉽게 변경될 수 있으려면, 신중히 제작되어야 한다. 일반적인 접근방법은 한 개의 일관된 시스템보다는 할 일(task)을 작은 구성요소로 분할하는 것이다. 이들 모듈들 각각은 명확하게 정의된 시스템의 일부로서 입출력 요소나 기능이 신중하게 정의되어야 한다. 1. 간단한 구조 많은 상용 시스템들은 잘 정의된 구조를 가지고 있지 않다. 종종 이러한 운영체제들은 작고 단순하며 제한적인 시스템으로 출발하여 원래 범위 이상으로 발전한 경우이다. 그러한 시스템의 예로 MS-DOS가 있다. MS-DOS는 원래 단지 몇 사람들에 의해서 설계, 구현되었고, 이들은 MS-DOS가 그렇게 대중화 되리라고는 생각하지 못했다...

OS/OS - Overview 2018.10.01

운영체제 설계 및 구현

운영체제 설계 및 구현 (OS Design and Implementation) 1. 운영체제 설계 목표 (Design Goals) 시스템을 설계하는 데에 첫번째 문제점은 시스템의 목표와 명세를 정의하는 일이다. 시스템 설계는 최상위 수준에서 하드웨어와 시스템 유형(일괄처리, 시분할, 단일 사용자, 다중 사용자, 분산, 실시간 혹은 범용)의 선택에 의해 영향을 받을 것이다. 이 최상위 설계 수준을 넘어서면 요구 조건들을 명세 하는 것이 훨씬 더 어렵다. 그러나, 이러한 요구 조건은 근본적으로 사용자 목적과 시스템 목적이라는 두가지 그룹으로 나눌 수 있다. 사용자들은 시스템이 명백한 특성을 가지기를 원한다. 시스템이 사용하기 쉽고 편리하며, 배우기 쉽고, 믿을 수 있고, 안전하고, 신속해야 한다. 물론, 이..

OS/OS - Overview 2018.10.01

하드웨어 타이머 (Hardware Timer)

하드웨어 타이머 (Hardware Timer) 우리는 운영체제가 CPU에 대한 제어를 유지할 수 있도록 보장해야 한다. 사용자 프로그램이 무한 루프(infinite loop)에 빠져 제어가 운영체제로 복귀하지 않는 경우가 없도록 반드시 방지해야 한다. 이러한 목적을 달성하기 위해 타이머(timer)를 사용할 수 있다. 타이머는 지정된 시간 후 컴퓨터를 인터럽트하도록 설정할 수 있다. 이 시간은 고정(예를 들면, 1/60초) 혹은 가변(예를 들면, 1밀리 초에서 1초까지 1밀리초 단위로 증가)일 수 있다. 가변 타이머는 일반적으로 fixed-rate clock과 계수기로 구현한다. 운영체제는 계수기 값을 설정한다. 클록이 똑딱(tick) 할 때마다 계수기의 값이 감소한다. 계수기가 0이 될 때 인터럽트가 ..

OS/OS - Overview 2018.09.24

운영체제 이중 동작 모드 (OS dual-mode operation)

운영체제 이중 동작 모드 (OS dual-mode operation) 1. 이중 동작 모드란? (Dual-mode operation) 이중 동작 모드는 쉽게 말해 운영체제를 보호하기 위한 기법이다. 알다시피, 사용자와 운영체제는 시스템 자원을 공유한다. 그렇기 때문에, 사용자에게 제한을 두지 않으면 사용자가 메모리 내의 주요 운영체제 자원을 망가뜨릴 위험이 생기게 된다. 즉, 운영체제의 원활한 작동과 기능을 위해서는 사용자의 시스템 자원 접근을 제한하는 보호 장치가 필수불가결하다. 이러한 보호 장치가 바로 이중 동작 모드(dual-mode operation)이다. 이중 동작 모드의 기본 개념은 사용자가 접근할 수 없는 커널 모드(kernel mode)와 사용자가 접근할 수 있는 사용자 모드(user mo..

OS/OS - Overview 2018.09.24

입출력 구조

입출력 구조 (I/O Structure) 저장장치는 컴퓨터 내 여러 형태의 입출력 장치 중 하나이다. 시스템의 신뢰성과 성능에 미치는 중요성, 그리고 장치들의 다양한 특성 때문에 운영 체제 코드의 많은 부분들이 입출력 기능을 관리하는데 할애된다. 범용 컴퓨터 시스템은 공통 버스에 의해 연결된 여러 개의 장치 제어기와 CPU들로 구성된다. 각 장치 제어기가 특정 유혀으이 장치를 담당하는데, 장치 제어기에 따라 하나 이상의 장치가 부착될 수도 있다. 예를 들어, SCSI(Small Computer System Interface) 제어기에는 7개 이상의 장치를 붙일 수 있다. 장치 제어기는 약간의 로컬 버퍼 저장장치와 특수 목적용 레지스터 집합을 유지한다. 장치 제어기는 자신이 제어하는 주변장치와 자신의 로컬..

OS/OS - Overview 2018.09.20

부팅 시 운영체제가 실행되는 과정

부팅 시 운영체제가 실행되는 과정 1. 바이오스 - BIOS (Basic Input Output System) - 메모리와 CPU 레지스터를 초기화 시킨다. - 디스크로부터 부트 로더를 불러 온다(부트 로더로는 grub나 lilo 등이 있다). - 부트 로더는 디스크에서 OS 커널의 이미지를 찾아서 메모리로 불러오고 실행 시키는 역할을 한다. 2. 부팅(Booting) booting의 사전적 의미는 원래 '장화를 신기다'라는 뜻이지만 농촌에서 하루 일을 시작하러 들로 나가기 위해 장화를 신는 것과 마찬가지로, 컴퓨터를 처음 동작시킬 때 수행되는 일련의 과정을 일컬어 부팅이라고 부르게 되었다는 견해가 있다. 잘 동작하고 있던 컴퓨터도 일단 전원을 끄고 나면 그 동안 기억하고 있던 정보를 모두 잊어버리고 완..

OS/OS - Overview 2018.09.20

멀티 프로그래밍을 위한 시간 공유 (Time Sharing for the Multi-Programming)

멀티 프로그래밍을 위한 시간 공유 (Time Sharing for the Multi-Programming) 1. CPU의 낮은 이용률 - 하나의 응용 프로그램만 실행 시키게 되면 CPU가 계속 작업 상태에 있지는 않는다 (입출력 작업 때문에).- 사용자의 입력을 기다려야 하는 경우 등이 생겨서 대기 시간이 생기게 되기 때문이다. 2. 멀티 프로그래밍 (Multi Programming) - 여러 개의 응용 프로그램을 동시에 실행 시키는 것이다.- CPU 이용률을 높일 수 있다.- CPU가 게을러지는 것을 방지할 수 있다.- 이 멀티 프로그래밍 방식을 이용하기 위해서 고안된 것이 시간 공유 기법이다. 3. 시간 공유 (Time Sharing) - 컴퓨터가 멀티 태스킹(multi-tasking)을 하게 만들기..

OS/OS - Overview 2018.09.20

운영체제란?

운영체제 1. 운영체제란? 운영체제(operating system)는 컴퓨터 하드웨어를 관리하는 프로그램이다. 또한 운영체제는 운용 프로그램을 위한 기반을 제공하며 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중재자 역할을 실행한다. 운영체제의 놀라운 점은 이러한 일들을 실행하는 데 대단히 다양한 방법이 존재한다는 것이다. 대형 컴퓨터의 운영체제는 주로 하드웨어의 이용을 최적화하는 것을 주요 목적으로 삼는다. 개인용 컴퓨터 운영체제는 복잡한 게임, 비즈니스 응용, 그리고 이들 중간에 위치하는 모든 응용 프로그램을 사용자가 자유롭고 쾌적한 환경에서 사용할 수 있도록 지원한다. 운영체제는 덩치가 매우 크고 복잡하기 때문에 부분별로 생성되어야 한다. 각 부분은 전체 시스템 윤곽에 잘 부합하여야 하며 각 부분의 입..

OS/OS - Overview 2018.09.20