OS

운영체제

와이제인 2018. 2. 5. 13:57

운영체제



 CPU 는 외부에서 정보를 입력받아 기억, 명령을 해석하여 외부로 출력한다. 커널은 사용자의 조직을 처리하여 OS가 움직일 수 있도록 하는 OS의 핵심부분이다. 쉘은 사용자의 지시를 해석해서 전달하는 것으로 화면에 보이는 사용자 인터페이스이다. 미들웨어는 운영체제와 어플리케이션 사이에서 데이터를 주고받을 수 있도록 중개하는 소프트웨어이고, API는 OS나 프로그래밍 언어가 제공하는 기능을 어플리케이션에서 사용할 수 있도록 만든 인터페이스이다.



 운영체제란?


컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층이다. 좁은 의미로는 커널이며, 커널은 운영체제의 핵심 부분으로 메모리에 상주하는 부분이다. 넓은 의미로는 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념이다. 운영체제는 하드웨어와 응용 프로그램간의 인터페이스 역할을 하며 CPU, 메모리와 같은 컴퓨터 자원을 관리하고 사용자에게 편의를 제공한다.




 운영체제의 기능


- 하드웨어와 사용자 간의 인터페이스를 정의

- 사용자들이 하드웨어를 공동으로 사용할 수 있도록 해준다.

- 사용자 간의 자원 스케줄링, 자원 할당자

- 입출력 보조 역할

- 오류 처리



 

 운영체제의 목적


- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공

- 컴퓨터 시스템의 자원을 효율적으로 관리

- 사용자 편의성 제고

- 시스템 성능의 극대화


   1. 처리능력 증대(Throughput)

OS의 단위 시간당 처리능력을 증대, 사람의 개입을 최소화하고 작업의 자동화된 연속처리가 가능하도록 설계한다. CPU 대기시간을 짥게한다.


   2. 응답시간(턴어라운드 타임)

사용자 측면에서 작업 제출부터 출력까지 걸리는 시간


   3. 사용 가능도(스케줄링)

자원의 양과 관계. 각종 자원에 대한 정보관리가 필요하다. 신속히 지원해줄 수 있는 스케줄링 기법이 필요하다. 


   4. 신뢰도

하드웨어 오류 자체 회복 시도 가능. 소프트웨어적 오류에 대한 상세한 메시지. 하드웨어적 시스템의 신뢰성 향상 구축.





 운영체제의 분류


1. 단일 작업(Single Tasking)

   한 번에 하나의 작업만을 처리.


2. 다중 작업(Multi Tasking)

   동시에 두 개 이상의 작업을 처리할 수 있다.


3. 단일 사용자(Single User)

   MS-DOS, MS Windows


4. 다중 사용자(Multi User)

   UNIX, NT server


5. 처리방식

   - 일괄처리 시스템(Batch Processing)

작업 요청의 일정량을 모아서 한꺼번에 처리. 작업이 완전 종료될 때까지 기다려야 한다.


   - 대화식 처리(Interactive Processing) 시스템

사용자와 interaction을 수행.

 

   - 시분할 시스템(Time Sharing)

여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용. 일괄처리 시스템에 비해 짧은 응답 시간을 가짐.


   - 실시간 시스템(Real-Time OS)

정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야하는 실시간 시스템을 위한 OS.


   - 다중 프로세싱(Multi-Processing) 시스템

CPU 효율을 극대화하기 위한 방법으로, 여러 개의 사용자 프로그램이 동시에 실행되는 것처럼 처리하는 방법. 다수의 프로세서를 활용하거나 시분할처리를 수행함.


   - 다중 프로세서(Multi-Processor)

두 개 이상의 프로세서로 구성되어 다중 작업을 구현하는 방식. 작업 속도와 신뢰성 향상.


   - 분산 처리(Distributed Processing)

네트워크를 통해 연결된 여러 컴퓨터 시스템에 작업과 자원을 나누어 처리하게 하는 방식.


   * Multi-Programming은 여러 프로그램이 메모리에 올라가 있음을 의미한다.