운영체제: 컴퓨터 시스템의 자원을 효율적으로 관리(프로세서, 기억장치, 입출력 장치)
CPU를 어떻게 할당?
얼마만큼 할당?
메모리 공간을 어떻게 할당?
---
1.정의: 운영체제는 하드웨어 바로 위에 설치되는 소프트웨어
가. 좁은 의미: 커널(메모리에 항상 상주하는 부분)
나. 널은 의미: 커널을 포함한 주변 시스템을 다루는 유틸리티를 포함
2. 목적
가. 하드웨어(컴퓨터 시스템의 자원)를 효율적으로 관리(하드웨어 자원과 소프트웨어 자원)
나. 컴퓨터 시스템을 편리하게 사용하게 해주는 것
3. 분류
가. 동시 작업 가능
1) 단일 작업(single tasking)
2) 다중 작업(multi tasking): 현대의 대부분 OS
나. 사용자의 수 (계정을 만들어서 동시 접속 가능 여부)
1) 단일 사용자(single user): MS-DOS, MS WIndows
2) 다중 사용자(multi user): UNIX, NT server
다. 처리 방식
1) 일괄 처리(batch sharing): 작업을 모아서 한꺼번에 처리
2) 시분할(time sharing): 여러 작업이 수행될 때, 작은 시간 단위로 나누어 처리
3) 실시간(Realtime OS): 데드라인이 있어 정해진 시간 내에 반드시 결과가 나와야 함
4. 용어
가. Multitasking: 하나의 프로그램이 끝나기 전에 다른 프로그램이 실행하는 것
나. Multiprogramming: 메모리에 여러 프로그램이 동시에 올라가는 것 (메모리를 강조)
다. Time sharing: 시간을 공유해서 (CPU를 강조)
라. Multiprocess
-> 유사한 용어
마. Multiprocessor: 하나의 컴퓨터에 CPU가 여러개 붙어있는 경우
5. 예
가. 유닉스(UNIX): 대형 컴퓨터를 목적으로 만듦(서버)
1. 멀티테스킹
2. 여러 사용자
3. 어셈블리어로 작업하니 복잡해서 -> 새로운 언어(C)를 만듦
4. 커널의 크기를 작게 함 -> 확장성이 높음
나. MS: PC-> 단일 사용자, 단일 프로그램을 목적으로 처음 만듦
1. DOS(Disk Operating System)
2. MS Windows
6. 구조(개괄)
가. CPU: 누구한테 CPU를 줄까? -> CPU 스케쥴링
나. Disk: 디스크에 파일을 어떻게 보관할까? -> 파일 관리
다. Memory: 한정된 메모리를 어떻게 나눌까? -> 메모리 관리
라. I/O device: 각기 다른 입출력장치와 컴퓨터 간에 어떻게 정보를 주고 받을까? -> 입출력 관리
마. 프로세스 관리: 자원 할당 반납
바.: 그외: 보호, 네트워크, 명령어 해석기 등
'Studying > Operating System' 카테고리의 다른 글
04. Process Management (1/2) (0) | 2018.05.20 |
---|---|
03. Process (2/3), (3/3) (0) | 2018.05.20 |
03. Process (1/3) (0) | 2018.05.19 |
02. System Structure & Program Execution (2/2) (0) | 2018.05.19 |
02. System Structure & Program Execution (1/2) (0) | 2018.05.16 |