운영체제란?(Operating System, OS)
컴퓨터 하드웨어 위에 설치되며 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
1. 협이의 운영체제(커널)
- 운영체제의 핵심 부분으로 항상 메모리에 상주하는 부분
2. 광의의 운영체제
- 커널 뿐만아니라 각종 주변 시스템 유틸리티를 포함한 개념(파일 복사 등등..의 유틸리티들)
운영체제의 목적
- 자원을 효율적으로 관리 하는 것 (CPU,메모리등 각종 입출력 장치를 효율 적으로 관리)
- 하드웨어(프로세서,기억장치 ,입출역 장치등) 뿐만 아니라 소프트웨어(파일,메시지 )까지 관리한다.
- 컴퓨터 시스템을 편리하게 사용할 수 있다.
운영체제의 분류
작업
- 단일 작업
- 한번에 하나의 작업만 처리(프롬프트 상에는 한 명령의 수행이 끝내기 전에 다른 명령을 수행할 수 없다.)
- 다중 작업
- 동시에 두개 이상의 작업 처리(Unix,MS Window등은 한명령의 수행이 끝나기 전에 다른 명령이라 프로그램을 수행할 수 있다.)
사용자
- 단일 사용자
- MS-Dow, MS Window
- 다중 사용자
- Unix,NT server
처리방식
- 일괄처리(batch processing)
- 작업 요청을 한번에 모아서 처리한다. (초기 Punch Card처리 시스템)
- 시분할(time sharing)
- 여러 작업을 수행할때, 작은 시간 단위로 나눠서 처리한다., 짧은 응답 시간을 갖는다.
- 실시간 (RealTime OS)
- 정해진 시간안에 어떤일이 반드시 종료됨을 보장(미사일,반도체 장비, 로보트 제어 등)
- Hard realtime system(경성 실시간 시스템)
- Soft realtime system(연성 실시간 시스템)
*용어 정리
멀티 테스킹: 하나의 프로그램이 끝나기 전에 다른 작업을 동시에 수행한다.
멀티 프로그래밍:여러 프로그램이 메모리가 올라가 있다.
타임 쉐어링: 시분할 테스킹(CPU)의 사간을 분할하여 나누어 쓴다는 의미
멀티 프로세서: 하나의 컴퓨터에 CPU가 여러개 붙어있음
운영체제의 예
유닉스 | DOS | MS Window |
- 코드의 대부분을 C로 작성 - 높은 이식성 - 최소한의 커널 구조 - 복잡한 시스템에 맞게 용이 -프로그램 개발에 용이 - 다양한 버전(System V, FreeBSD, Sun Os,Linux..) |
- MS사에서 IBM-PC를 위해 개발 - 단일 사용자용 운영 체제, 메모리 관리 능력 한계 |
- 다중 작업용 GUI기반 운영체제 - 풍부한 자원 소프트웨어 |
운영체제의 구조
CPU 스케줄링:누구한테 CPU를 줄까 ?
메모리 관리 :어떤 메모리르 어떻게 쪼개어 쓸까 ?
디스크 스케줄링:디스크에 파일을 어떻게 보관하지 ?
입출력 관리: 과거 입출력 장치와 컴퓨터 간에 어떻게 정보를 주고 받게 하지 ?
프로세스 관리:프로세스의 생성과 삭제, 자원 할당, 프로세스간의 협력
그외: 보호 시스템 ,네트워킹, 명령어와 해석기
to be continued..
'Tech.log > 운영체제' 카테고리의 다른 글
[Thread-safe] (0) | 2021.05.22 |
---|---|
[프로세스와 스레드의 차이] (0) | 2021.05.19 |
[시스템 구조와 프로그램의 실행_2] (0) | 2021.04.29 |
[시스템 구조와 프로그램의 실행] (0) | 2021.04.28 |
댓글