운영체제
컴퓨터 사용자와 H/W System간의 Interface를 담당하는 프로그램
운영체제의 기능
- 사용자 편의 제공
- 자원 관리
- 장치 체어
* 자원관리
Indicator(지표)를 두고 있으며 자원을 최대한 활용해 최적화 하는 활동이다. 여기서 자원이란 키보드, 마우스, 모니터, 램 기타 하드웨어 등 CPU에 속한 모든 자원들이 해당되며 CPU는 자원의 총 집합제이며 자원 그 자체이다.
* 장치제어
자원관리를 위한 방법 중 하나다.
운영체제의 종류
- 구조적 구분 : Micro Kernel, Monolithic Kernel
- OSS 적 구분 : Linux, Unix, Windows
* Kernel : 프로그램의 핵심엔진
* Micro Kernel : 여러단계의 프로세스를 거치며 Monolithic Kernel에 비해 속도는 느리지만 안정성이 높은 장점이 있다.
* Monolithic Kernel : 1~2 단계의 프로세스 과정을 거치며 Micro Kernel에 비해 속도는 빠르지만 보안에 취약한 단점이 있다. Linux와 Unix가 이에 해당된다.
계층구조
장점 : 모듈화, 테스트가 용이함.
단점 : 속도가 느림.
* 기본적으로 계층구조에서 프로세스는 유저모드에서 이루어지나 처리 과정이 길어 질 수록 Kernel Mode (System call)로 이어지며 운영체제가 직접 개입하며 OS가 가지고 있는 본연의 기능을 호출한다 . 보안성이 높고 속도는 느리며 안정성이 높은 장단점이 있다.
운영체제의 목표
목표 | 지표 | 설명 |
효율성 | 높은 Throughput | 단위시간당 처리 작업량 증가 |
빠른 응답속도 | 짧은 Response Time, Turnaround Time | |
신뢰성 | 견고성 | 높은 품질, 안정된 동장 |
보안성 | 기밀성, 무결성, 가용성 제공, 병목현상의 해결 및 회피 방안 | |
상호작용성 | 사용성 | 대화식, 쉬운 인터페이스 |
학습용이성 | 개인화, 보편성 | |
확장성 | 규묘확장성 | scale up, scale out |
설계 유연성 | 멀티 프로세싱 능력 향상, 메모리 관련 유연 |
* 대표적으로 고전적인 이슈는 효율성으로 현재 클라우드 시장에서의 확장성이 이슈화 되고있다.
운영체제의 성능 평가 기준
Response time (응답 시간) : 작업이 처음 실행되기 까지 걸린 시간
Waiting time (대기 시간) : 작업을 실행 하지 않은 시간의 합계
Running time (실행 시간) : CPU가 작업을 처리한 시간의 합계
Burst time (실행 시간) : 모든 작업중 CPU만 작업 처리한 시간의 합계
Turn-around time (반환시간) : 작업이 완료 되기까지 걸린 시간
※ Turn-around time = (Waiting time) + (Running time)
※Running Time 은 운영체제의 목적에 맞게 분배하는것이 중요하며 Response time, Waitng time은 짧은 수록 좋은 평가를 받는 기준이 된다.
※Scheduler 는 러닝 타임을 공정하게 분배하는 소프트웨어 이며 스케줄링 알고리즘을 통해 프로세싱한다.
'개발환경구축' 카테고리의 다른 글
프로그래밍 언어의 분류 (0) | 2022.04.08 |
---|---|
구조적 프로그래밍, SDLC, 객체지향 설계 원칙 (0) | 2022.04.08 |
프로세스 관리 (0) | 2022.04.06 |