-
1. 운영체제 서비스들
오퍼레이팅 시스템[운영체제]는 프로그램을 실행 할 수 있는 환경을 제공한다.
1-1 ) User Interface
: CLI(=cmd, shell,terminal etc), GUL, Touch Screen
1-2) Program Execution
OS는 프로그램을 메모리에 적재(Ready)시키고, 프로그램을 시작,(Running) 종료해야한다. (정상 or 비정상)
1-3) I/O Operation
입출력과 관련된 실행은 유저가 직접 통제하는 것이 아니라 운영체제가 관리한다.
1-4) File system & manipulation
운영체제는 파일을 읽고, 쓰고, 지우고, 삭제 할 수 있어야한다.
1-5) Communications
프로세스간의 의사소통은 shared memory or message passing을 통해 이루어진다.
1-6) Error detection
1-7) Resource allocation
운영체제는 자원들을 스케줄링 알고리즘을 통해 관리 및 할당하는 역할을한다.
2. System Call ( interrupt , trap )
시스템 콜은 운영체제에 의해 만들어진 서비스에 대한 인터페이스를 제공하는 역할을한다.
* 시스템콜을 위해 패러미터를 OS에게 전달하는방법
1) Simplest
레지스터에 각각의 페러미터를 전달
2)
블록이나 테이블형태로 저장되어있는 페러미터들을 레지스터에게 전달
3)
스택형태로 유지되어있는 패러미터를 푸쉬나 팝오프(Popoff)함으로써 Pass
2-1) API ( Application Programming Interface )
응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
2--1-1 ) 프로그래머가 시스템콜보다 API를 선호하는 이유
1. 다른 OS 및 컴퓨터로 이동이 쉽다
2. 시스템 콜은 너무 세부적이고 사용하기 어려운 반면, API는 사용이 쉽고 결과 값만 정확하게 알고 사용하면된다.
( Example : RTE , Printf() in C )
3) 시스템 프로그램 ( System programs )
시스템 프로그램은 프로그램의 실행 및 생성을 위한 환경을 제공
운영체제의 대부분의 유저관점은 시스템 프로그램에 의해 제공
3-1) Policy vs Mechanism (in System Program Implementation & Design)
(1) Policy (정책) => What will be done? [ 다음에 무엇을 해야할지?]
(2) Mechanism => How to do it? [ 어떻게 그것을 수행하는지?]
5. Linker & Loader
대표사진 삭제
사진 설명을 입력하세요.
6. 운영체제의 디자인과 실행
6-1) 디자인 목적
디자인의 목적은 사용자( 일반유저 / 개발자 ) / 시스템의 관점에 따라 다르게 정의 될 수 있기 때문에, 명확한 값을 제공 할 수 없다.
6-2) Mechanism & Policy
Mechanism
작업을 어떻게 수행할지? => 해결하기 위한 방법(how) 에 대한 명시
Policy
어떤 작업이 이루어져야 하는지? => 이루어져야 할 작업에 대한 명시
6-3) Implementation ( 실행 )
1) higher lever language( C, C++ .. )
장점)
작성의 편리함, 수정하기 용이함, 가독성이 좋아 디버깅이 편함.
단점 )
속도가 줄고 저장공간을 많이 요구한다.
=> 하지만, 최근 컴퓨터에서 큰 문제로 남아있지는 않다.
실질적으로 운영체제의 성능에 영향을 주는 것은 데이터구조와 알고리즘이다.
6 . 운영체제의 구조
1) Monolithic Structure
실행과 확장이 어려운 반면 강한 장점이 존재하지 않는다.
2) Layered Approach
운영체제는 몇개의 층으로 나누어져 구성 되어있다.
Hardward : 0 // User : N;
1. 장점
설계와 디버깅을 하기가 쉽다.
디자인과 실행이 간편화 되어있다.
각층은 가장 낮은 (hardware) 층들의 명령을 통해서만 움직인다. => 관리가 용이
2. 단점
각층의 구분점을 설정 & 정의하기가 어렵다.
대표사진 삭제
사진 설명을 입력하세요.
'CS > Operating System' 카테고리의 다른 글
운영체제 - Process Synchronization (3) (0) 2021.03.19 [ 운영체제 ] Process Synchronization (2) (0) 2021.03.19 [ 운영체제 ] CPU Scheduling (2) (0) 2021.03.19 [ 운영체제 ] Process Scheduling (0) 2021.03.19 [ 운영체제 ] Process Overview (0) 2021.03.19 댓글