운영체제(Operating System,OS) - part1

김종하·2021년 1월 15일
0
post-thumbnail

운영체제란?

컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어를 하드웨어와 연결해주는 소프트웨어 계층을 의미한다.

좁은 의미의 운영체제 : 커널 - 부팅이후 메모리에 상주
넓은 의미의 운영체제 : 커널 뿐 아니라 주변 시스템 유틸리티까지 포함한 개념

운영체제의 목적

1. 하드웨어를(자원-cpu, memory..) 효율적으로 관리하는 것
2. 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공 

운영체제의 분류

동시 작업 가능 여부에 따라서

1. 단일작업(single tasking)
한번에 하나의 작업만 처리 
2. 다중작업(multi tasking)
동시에 두 개 이상의 작업처리 

-> 현대는 대부분 다중작업을 지원함, 하지만 필요에 따라 단일작업 운영체제를 사용하는 경우도 있음 (엘리베이터) 

사용자의 수에 따라서

1. 단일사용자(single user)
ex) MS - DOS
2. 다중사용자(multi user)
ex) UNIX 

처리방식에 따라서

1. 일괄처리 (Batch Processing)
작업요청을 일정량 모아서 한꺼번에 처리
작업이 완전 종료될 때까지 
2. 시분할
여러 작업을 수행할 때 컴퓨터의 처리 능력을 일정한 시간 단위로 분할하여 사용
일괄처리에 비해 짧은 응답시간 
interative 방식 
3. 실시간 
정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 실시간시템을 위한 OS 

현대에 가장 많이 사용되는 OS 는 다중작업, 다중사용자, 시분할방식을 지원하는 OS

용어정리
MultiTasking
MultiProgramming
Time Sharing
MultiProcess
다음의 용어들은 컴퓨터에서 여러 작업을 동시에 수행하는 것을 의미한다
MultiProgramming 은 여러 프로그램이 메모리 위에 올라가있음을 강조
Time Sharing 은 CPU 시간을 분할하여 나누어 쓴다는 의미를 강조
MultiProcess 는 프로세스 여러개가 동시에 수행되는 것을 강조

  • MultiProcessor - 하나의 컴퓨터에 여러개의 Processor(CPU) 가 여러개 있음

운영체제의 예

유닉스(UNIX)

코드의 대부분을 C 언어로 작성
높은 이식성 ( C언어로 작성됐으니 ) 
최소한의 커널구조
복잡한 시스템에 맞게 확장 용이
소스코드 공개
다양한 버전 (Linux, SunOs...) 
-> 이전의 운영체제는 어셈블리어로 개발하였고, 이에 따른 어려움을 보완하기 위해 C언어가 개발되었다고 한다. 

DOS(Disk Operating System)

단일 사용자용 운영체제, 메모리 관리 능력 한계 (주 기억장치 : 640kb)

MS Windows

MS사의 다중 작업용 GUI 기반 운영체제
Plug and Play
네트워크 환경강화 
풍부하 지원 소프트웨어 

운영 체제의 역할에 대한 대략적인 설명

컴퓨터 시스템 자원관리

CPU, Memory, Disk, I/O device

CPU 스케쥴링

어떤 프로그램에 CPU를 할당할 것인가?

메모리 관리

한정된 메모리를 어떻게 관리 것인가?

파일 관리

디스크에 파일을 어떻게 보관할 것인가?
디스크 스케쥴링 ( 헤드의 움직임을 최적화하는게 좋다 )

입출력 관리

각기 다른 입출력 장치와 컴퓨터간 어떻게 정보를 주고 받게 할 것인가?
Interrput

프로세스 관리

프로세스의 생성과 삭제
자원 할당 및 반환

그 외

보호 시스템
네트워킹
명령해석기


이 포스팅은 KOCW가 제공하는 반효경님의 운영체제 수업을 참고하였습니다.

0개의 댓글