본문 바로가기

C.E/OS

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개의 부분으로 구성되 있었다. 그리고 하드웨어의 .. 더보기
Operating System Service - System Call System Call, 시스템 호출 시스템 호출이란 Process 와 운영체제간의 인터페이스를 말한다. 언어에 따라서 C언어나 C++로 대체시키기도 하지만 보통 일반적으로는 어셈블리 언어로 수행된다. C,C++같은 경우에는 Subroutine형태로 수행된다. 예를 들어 File을 Open한다고 하면 만일 입력 file이 없거나 protect되어 있으면, error 메시지를 출력(system call)하고 abnormally terminate(system call) 입력 file이 있으면 file open(system call)한다 또 파일을 생성한다고 하면 만일 출력 file 이름과 동일한 file이 이미 존재하면, 프로그램 종료처리(system call) 하거나 기존 file을 삭제(system cal.. 더보기
Operating System Service - O.S Service O.S Service, 운영체제에서 제공하는 서비스 1. Program Execution 프로그램이 메모리의 적재되어 실행되고 종료되는 기능 2. I/O Operation I/O장치의 특성에 따른 특별한 처리 및 보호기능을 OS가 제공해 줌으로서 사용자 프로그램에서 I/O처리를 직접적으로 하지 않아도 되게 함. 3. File System Manipulation File에서 Read,Write등의 기능등을 제공 이름에 의란 File생성 및 제거 기능 제거 4. Communication 캄은 컴퓨터 안에서 또는 다른 시스템을 가진 컴퓨터들을 Shered Memory나 Message Passing 기능을 이용하여 네트워크를 통한 통신기능 제공 Message Passing의 경우 Process간의 Direct .. 더보기
System Components - Command Interpreter System Command Interpreter System, 명령 해석 시스템 Command Interpreter System이란 사람에 의해 입력되거나 프로그램에 의해 호출되는 명령을 이해하고 실행해주는 컴퓨터 운영체계의 일부이다. 실제로 이전에 System Components 주제로 포스팅 했던 데부분의 기능들이 명령어를 통해 운영체제에 전달되어 그 기능을 수행하고 있다. 이러한 명령어 해석 시스템을 통해 사용자와 운영체제간의 상호작용이 가능한 것이다. 명령어 해석기의 경우 O.S의 Kernel에 포함되기도 하고 Special Program으로 취급하기도 하는데 MS-DOS난 UNIX같은 경우 프로세스(Job)이 시작되면 수행되는 Special Program이다. 운영체제의 사용자는 크게 User와 Applic.. 더보기