IT이야기

운영체제

딜레이라마 2017. 2. 2. 22:42
반응형

정의

-  시스템의 하드웨어를 관리하며 응용 프로그램을 실행하기 위한 하드웨어 추상화(H/W Abstraction) 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어

-  컴퓨터 자원을 효율적으로 관리하며 사용자와 컴퓨터 사이의 인터페이스를 제공

-  최근에는 가상화(Virtualization) 기술의 발전으로 실제 하드웨어가 아닌 Hypervisor와 같은 가상 장치 위에서 실행되기도 함


특징

- 입출력과 메모리 할당과 같은 H/W 기능의 경우 운영 체제는 응용 프로그램과 H/W사이의 중재 역할

- 응용 프로그램들이 메모리와 CPU, 입출력 장치 등의 H/W 자원들을 사용할 수 있도록 지원하며 H/W 자원들을 추상화하여 파일 시스템 형태의 서비스를 제공

- 다중 처리(Multi-tasking)를 지원하는 경우 여러 개의 응용 프로그램의 프로세스들을 scheduling 하는 역할 수행

- 운영 체제는 슈퍼 컴퓨터나 웹 서버에서부터 스마트 폰이나 게임기와 같은 이동 기기에까지 컴퓨팅 기능을 수행하는 거의 모든 기기 또는 장치에 사용

- MS Windows, Mac OS X, Linux, BSD, Unix, IOS, Android 등등


하드웨어 발전에 따른 변화

 Firmware 또는 단순한 로직 기반 처리

 운영 체제를 사용하지 않은 장치 또는 기기

 현재에도 고속 처리가 필요한 네트워크 장비 일부에 활용됨

 FPGA, BGA 등등

 Batch 처리 시스템

 계산기와 같이 사용자가 지정한 순서대로(프로그램) 순차적으로 자료를 처리하는 방식

 작업 준비 시간이 길고, 사용자와 상호작용 불가능

 초기 메인 프레임 컴퓨터에 주로 사용되던 방식 : 천공 카드(입력), 라인프린터(출력)

 다중(Multi) 프로그래밍 시스템

 CPU에 비해 주변 장치들이 상대적으로 느린 점에 착안하여 여러 개의 프로그램을 실행하고, 주변장치의 응

답 대기 상태가 되면 다른 프로그램이 실행권을 얻어 실행되는 구조

 Batch 처리를 다중화한 개념의 시스템

 Time Sharing 시스템

 컴퓨터와 상호작용하여 대화식으로 사용하려는 시도에서 출발

 CPU Scheduling과 다중 프로그래밍을 이용하여 여러 사용자에게 컴퓨터 자원을 시간적으로 분할하여 사

용하도록 한 구조

 유닉스(UNIX) 운영 체제

 다중 사용자(Multi User) 또는 다중 처리(Multi Tasking 또는 Processing) 시스템 이라고도 함



하드웨어 발전에 따른 변화

 실시간 시스템

 사용할 수 있는 자원이 한정되어 있는 상황에서 이를 제한된 시간 안에 처리하도록 하는 구조

 hard real-time system : 발전소 제어나 철도제어 등과 같이 실시간 제약 조건이 시스템 운영에 치명적인

영향을 주는 시스템

 soft real-time system : 음성이나 동영상 전송과 같이 실시간 전송을 필요로 하나 실시간 조건을 만족하

지 않더라도 시스템에 큰 영향을 미치지 않는 시스템

 분산 컴퓨팅

 인터넷에 연결된 여러 컴퓨터들의 처리 능력을 활용하려는 분산 처리 모델

 병렬(Parallel) 처리 시스템

 다중 CPU, 다중 Core 프로세서를 활용한 병렬 처리 시스템

 순차 처리 프로그램에 비해 복잡한 구조의 병렬 프로그래밍 기법

 명령어 병렬 처리(Multiple Input)와 자료 병렬 처리(Mutlple Data) 혼합 : SISD, SIMD, MISD, MIMD


운영 체제 유형

 다중 처리 지원

 Single Tasking OS

- CPU가 한번에 오직 하나만의 프로그램을 실행할 수 있는 시스템

 Multiple Tasking OS

- 동시에 하나 이상의 프로그램을 실행할 수 있는 시스템

- 시분할(Time Sharing)을 통해 다중 처리

 다중 사용자 지원

 Single User OS

- 사용자와 상호 작용없이 하나의 프로그램이 단일 처리되거나 여러 프로그램이 다중 처리되는 시스템

 Multiple User OS

- 디스크나 메모리와 같은 시스템 자원과 프로세스를 식별할 수 있는 다중 처리 시스템을 기반으로 여러

사용자가 서로 다른 프로그램을 실행하며 시스템과 상호 작용할 수 있는 운영 체제

 분산 운영 체제

 물리적으로 분리된 여러 개의 컴퓨터 그룹을 하나의 컴퓨터인 것처럼 운영

 임베디드(Embedded) 운영 체제

 임베디드 시스템에서 사용할 수 있도록 최적화된 운영 체제

 실시간 운영 체제

 특정한 짧은 시간 내에 데이터 처리를 보장하는 운영 체제


반응형