본문 바로가기

System Structure

System Structure - System Generation System Generation System Generation(SYSGEN)이란 O.S를 어떤 특정 시스템의 형상에 맞게 제작하는 것을 말한다. 크게 범용으로 사용되는 Generic O.S와 자동차,항공등 특별한 환경에서 사용되는 Specific O.S로 구분할 수 있다. SYSGEN에 필요한 정보들은 아래와 같다 1. 어떤 CPU가 사용되며 얼마나 사용되는가?? 2. 가용 Memory는 얼마나 되는가?? 3. 가용 Device는 무엇이 있으며 자세한 스펙은 어떤가?? 4. O.S에 특별히 필요한 것은 무엇인가?? SYSGEN이 완료되어 O.S가 만들어 지면 Main Memory에 Loading할 방법(Booting)을 강구해야 한다. Bootstrap Program은 전원을 킬때 Memory에 적재되.. 더보기
System Structure - System Design System Design, 시스템 디자인 시스템을 디자인의 목적은 어느 관점이냐 따라 다르다. User관점에서 볼 때 운영체제는 편리해야 하며 배우기 쉽고 신뢰성이 높으며 빠르고 안전해야 한다. System관점에서 볼 때 운영체제는 효율적이고 유연성이 있으며 신뢰성이 높고 에러가 없어야 한다. 시스템을 디자인할때 먼저 Hardware와 System Type을 정한다음 각각의 관점에 맟추어 디자인한다. 이때 Mechanism과 Policy를 구분해서 정해야 한다. Mechanism은 '무언가'를 어떻게 할 지를 정의하는 것이고 Policy는 '무언가'를 어떻게 사용할 지를 정의하는 것이다. 예를 들어서 Timer는 Mechanism이고 Timer를 얼마나 둘 지를 정하는데 Policy이다. Policy는 .. 더보기
System Structure - Virtual Machine Virtual Machine, 가상 머신 가상머신이란 실제 하드웨어와 직접적인 통신이 없는 가상 컴퓨터를 말한다. 게임 Emulator를 보면 확실히 알 수 있다. 예전 PS의 에뮬로써 EPSXE라는 소프트웨어가 있었다. 이 소프트웨어는 PC로도 PS게임을 즐길수 있게 해주는 프로그램인데 이것을 하나의 가상머신으로 볼 수 있다. 실질적으로 PS는 존재하지 않지만 PS인것 처럼 만들어 주는 가상의 기계. 이것이 가상머신이다. 가상머신은 완전한 플랫폼을 지원하는 즉, O.S를 지원하는 시스템 가상머신과 단일 프로세스를 지원하는 프로세스 가상 머신으로 나눌 수 있다. 가상 머신은 다음의 사항을 지원해야 한다. 1. 각 process에게 file 및 system call에 대한 자원이 제공되어야 한다. 2. 가.. 더보기
System Structure - Microkernel Microkernel, 마이크로커널 Kernel에 대해서는 예전에 언급한적이 있다. "운영체제 프로그램들 중 항상 main memory에 load되어있는 핵심부분" 이것이 Kernel에 관한 간단한 정의이다. 그렇다면 Microkernel이란 무엇인가?? Kernel, 즉 모듈의 기능과 O.S의 확장을 위한 기반은 Core로 남아야한다는 설계철학이다 Microkernel의 핵심은 주소 공간 관리, 스래드 관리, IPC 등 가장 핵심적인 기능만을 Kernel Core에 담아 놓고 그 외 나머지 기능들은 사용자 모드로 넘기는 것이다. O.S Service나 덜 중요한 기능들(File System, Device Driver 등)은 서버 프로세스로 구현하되 이들간의 통신은 Core를 매개로 하는 Message .. 더보기
System Structure - System Structure System Structure, 시스템 구조 O.S에는 다양하고 복잡한 기능들이 존재한다. 이러한 기능들을 통합적으로 만들어 적용시키려고 한다면 많은 노력이 들어가게 된다. 그렇기 때문에 이러한 기능들을 나누어 각각 개발하는 방법을 취하게 됬다. 하지만 기능을 나눔에 따라서 각각의 구조들 사이에 작용들과 Kernel로 통합하는 방법을 고려해야만 한다. 1. Simple Structure 운영체제 초기 버전으로 대표적으로 MS-DOS가 있다. 사용자가 BIOS의 직접 접근 가능하기에 구조적인 인터페이스라고 할 수는 없다. 2. UNIX System Structure 말 그대로 UNIX의 시스템 구조이다. 초기에는 Kernel과 System Program, 2개의 부분으로 구성되 있었다. 그리고 하드웨어의 .. 더보기