'운영체제와 정보기술의 원리' 책을 바탕으로 정리한 내용입니다.
02. 운영체제 개요
운영체제의 정의
운영체제란 컴퓨터 하드웨어 윗 단에 설치되며 사용자 및 소프트웨어와 하드웨어를 연결해 준다.
하드웨어가 실제로 사용되기 위해선 OS가 필요하다.
소프트웨어가 컴퓨터에서 실행되려면 메모리에 프로그램이 올라가야하고, OS 또한 소프트웨어이기 때문에 전원을 켜게 되면 메모리에 올라간다.
- 커널
: OS 자체가 전원을 켰을때 모두 메모리에 올라가게 되면 크기가 크기 때문에 필요한 부분만 올리는데 전원을 켰을때 메모리에 상주하는 OS를 커널이라하고 좁은 의미의 OS로 지칭한다.
커널 뿐만 아니라 시스템을 위한 여러 유틸리티를 포함하면 넓은 의미의 OS가 된다.
기능
- 컴퓨터 시스템 내의 자원을 효율적으로 관리
→자원관리자
: 하드웨어, 소프트웨어 자원을 효율적으로 관리해 좋은 성능을 유지
: 다양한 자원을 형평성있게 분배
: 보안 및 보호 기능
- 컴퓨터 시스템을 편리하게 사용할 수 있도록 환경을 제공
분류
-
단일 작업용 운영체제
: 한번에 하나의 프로그램만 실행
ex) DOS(Disk Operating System)
-
다중 작업용 운영체제
: 동시에 두 개 이상의 프로그램을 실행
ex) MS윈도우, Unix
- 시분할 시스템
: 여러 프로그램을 CPU와 메모리를 함께 공유, 빠르게 처리되서 사용자가 동시 사용으로 착각
- 다중 프로그래밍 시스템
: CPU와 달리 메모리는 공간을 분할해 공유가 가능함으로 공간을 분할해 사용하는 시스템
- 대화형 시스템
: 키보드로 입력해 결과를 화면에 보여주도록 하는 시스템
- 다중 처리기 시스템
: 하나의 컴퓨터 안에 CPU가 여러개씩 처리되는 컴퓨터에서 사용되 여러 프로그램을 한꺼번에 돌려 빠르지만 운영체제 입장에서는 복잡한 메커니즘이 필요함
- 단일 사용자용 운영체제
: 한번에 하나의 작업을 수행하거나 혼자 사용하지만 다중 작업이 가능한 경우
- 다중 사용자용 운영체제
: 여러 사용자가 동시에 접속해 사용할 수 있는 경우
- 일괄처리 방식
: 요청받은 작업을 모아서 한번에 처리, 단 응답시간이 김
ex) 초창기 컴퓨터 펀치카드 처리 시스템
- 시분할 방식
: 여러 작업을 수행할 때 컴퓨터의 처리 능력을 일정시간 단위로 분할
- 실시간 운영체제
: 정해진 시간 안에 일을 반드시 처리하도록 보장하는 시스템에 사용
ex)원자로, 공장제어 시스템, 미사일 제어 등
자원 관리 기능
하드웨어 자원 : CPU, 메모리, 주변장치, 입출력장치
- 보조기억장치
: 저원이 꺼지면 CPU와 메모리도 꺼지기 때문에 삭제되면 안되는 것을 파일 형태로 저장해 주는 것
CPU 관리방법
- 선입선출
: CPU사용을 위해 먼저 도착한 프로세스를 먼저 처리하는 방식
- 라운드 로빈
: CPU를 한번에 할당 받아 사용할 수 있는 시간을 일정하게 고정하고 제한하는 방식
- 우선순위 스케쥴링
: CPU를 사용할 프로세스에 우선순위를 부여해 높은 우선순위에 CPU를 먼저 할당
메모리 관리방법
메모리는 CPU가 직접 접근할 수 있는 컴퓨터 내부 기억장치이고 CPU가 실행하려면 프로그램이 메모리에 올라가야한다.
- 고정분할 방식
: 물리적 메모리를 몇개의 분할로 미리 나눠서 관리하는 것, 융통성 없음
- 고정분할 방식
: 매 시점 프로그램 크기에 맞게 메모리를 분할해서 사용, 물리적 메모리보다 더 큰 프로그램은 실행 불가
- 가상 메모리 기법
: 물리적 메모리보다 더 큰 프로그램도 실행 됨
- 물리적메모리와 별개로 0번지 부터 자신만의 가상 메모리 주소를 갖는다.
- 운영체제로 이 주소를 물리적 메모리 주소로 맵핑 후 프로그램을 메모리에 올린다.
- 현재 사용되는 부분만 올리고 나머지는 보조기억장치 등과 같은 곳에 보관
- 스완 영역 : 안사용하는 부분을 저장하는 보조기억장치의 영역
- 페이지 : 프로그램을 구성하는 가상메모리 주소 공간
입출력장치 관리방법
- 인터럽트
: CPU사용을 위해 신호를 발생시켜 요청하는 것
주변장치 관리방법
- 컨트롤러
: 해당 장치에서 일어나는 업무를 관리하기 위한 작은 CPU,
해당 장치 업무를 처리하고 메인 CPU에 인터럽트를 발생시켜 보호하는 역할