DongDD's IT

Operating System - 정의,역할, Service, System call, Interrupt, Structure 본문

운영체제

Operating System - 정의,역할, Service, System call, Interrupt, Structure

DongDD 2017. 10. 19. 15:43

Operating System


Operating System Definition,Role


Definition : Hardware와 system(또는 application) 사이에 위치해 컴퓨터의 전체적인 시스템을 관리하는 시스템 소프트웨어

Role

1) Hardware와 Software의 자원을 효율적으로 관리(Resource allocator : 자원 할당자)

2) 프로그램 실행 제어, 에러 방지(Control Program)

3) 사용자들에게 컴퓨터 시스템 사용을 편리하게 해줌

Objective

1) Throughput(처리능력) 향상

-> 단위시간내의 처리량

2) Turn-around time(반환시간) 단축

-> 작업이 완료될때까지의 소요 시간

3) Availability(사용가능도) 향상

-> 즉시 사용할 수 있는 정도

4) Reliability(신뢰도) 향상

-> 문제를 해결하는 정도


Operating System Services


1) For users

- User interface 제공(CLI, GUI)

-> CLI(Comman Line Interface) : command를 이용하여 여러 작업을 할 수 있는 interface(Shell)

-> GUI(Graphic User Interface) : 그래픽 요소를 통해 여러 작업을 할 수 있는 interface(Window)

- Program execution(프로그램 실행)

- I/O operation : 입출력 기능

- File-system manipulation :파일을 읽고 쓰고, 생성하고 지우고, 권한 부여 등을 할 수 있게 함

- Communication : 프로세스 간 통신을 할 수 있게 해줌

- Error detection : 여러 에러들에 대해 OS가 특정한 행동을 취함


2) For efficiency

- Resource allocation : CPU cycle이나 main memory 등 여러 자원을 할당

- Accounting : 사용자의 자원 사용을 감시함

- Protection : 시스템 리소스에 대한 모든 액세스 제어

- Security : 사용자 인증이나 올바른 접근만 허용하게 함


System call


- 크게 kernel mode로 들어가는 경우는 Hardware interrupt나 Trap(Software interrupt)가 있음

-> Software interrupt : Exception(0으로 나눔 등), System call


Definition : 응용 프로그램에서 OS에게 요청을 필요로 할 때 사용

->일반적으로 library, API로 구현되어 있음


응용 프로그램에서 System call 호출 시 mode bit가 0(kernel mode)로 바뀌며 kernel에서 요청을 처리한 후 다시 mode bit가 1로 바뀌며 응용 프로그램으로 돌아옴


Type

1) Process control

-> create, terminate, wait, abort

2) File management

-> create, open, read, write

3) Device management

-> read, write

4) Information maintence

->get time, date

5) Communication

-> create, delete communication connection


Operating System Structure


1)  Simple Structure

-> module이나 layer없이 단순한 structure (MS-DOS)

2) Layered approach Structure

-> 여러 개의 Layer로 나눠져 있음 (hardware layer, user interface layer)

3) Microkernels

-> 커널의 많은 부분을 user space에 넣은 

-> 확장이 쉽고 새로운 구조에 적용하기 쉬움

4) Modules

-> 주요 기능들을 분리하고 각각은 커널의 필요에 따라 load할 수 있음

5) Virtual machine

-> 단일 컴퓨터의 하드웨어를 여러개의 실행환경으로 추상화

-> 하나의 하드웨어를 공유하면서 여러 OS를 동시 실행

Comments