운영체제의 소개

2023. 11. 1. 17:16스터디/OS 스터디

728x90

# 운영체제의 개념과 발전 목적

 

컴퓨터 시스템은 SW와 HW로 구성된다.

운영체제는 사용자에게 HW로 접근할 수 있는 유일한 수단이다.

따라서 운영체제는 사용자에게 응용 프로그램을 실행할 수 있는 환경을 제공한다.

컴퓨터 시스템에는 다양한 사용자 및 응용프로그램이 동시에 사용한다.

운영체제는 다양한 요소들이 컴퓨터 자원을 효울적으로 사용할 수 있도록 관리하고 조정한다.

 

따라서, 운영체제는 다음과 같은 역할을 한다.

- 조정자 : 데이터를 조정하여 사용자에게 프로그램을 작업하는 환경 제공

- 자원 할당/관리자 : 각 응용 프로그램에 필요한 자원을 할당

- 프로그램/IO 제어자 : 입출력 장치 및 응용 프로그램을 제어

 

### 운영체제의 목적

- 편리성 : 사용제에게 편리한 환경을 제공

- 효율성 : 자원을 효율적으로 사용

- 보안/신뢰/가동률 최대

 

# 운영체제의 기능

자원 관리 : 메모리, 프로세스, 장치, 파일 등을 관리한다.

## 메모리 관리

메인 메모리를 관리할 수 있다.

- OS는 메모리에 대해서 사용 현황을 점검 가능하다.

- OS는 메모리에 저장할 프로세스를 결정할 수 있다.

- OS는 메모리를 할당하고 회수하는 방법을 결정한다.

또한, 보조기억장치도 관리할 수 있다.

- 빈 여유 공간을 관리하고,

- 새로운 파일의 저장 장소를 할당하고,

- 메모리 접근 요청을 스케줄링한다.

 

## 프로세스 관리

프로세스 : 실행중인 프로그램. 보통 일괄 처리 작업 하나가 프로세스이다.

OS는 다음 세부 기능을 수행해서 프로세스를 관리한다.

- 프로세스와 스레드를 스케줄링

- 사용자/시스템 프로세스 생성 및 제거

- 프로세스 중지 및 재수행

- 프로세스 동기화 제공

- 프로세스 통신 방법 제공

- 데드락 방지

 

## 시스템 관리

운영체제는 추가로 시스템 보호, 네트워킹, 명령 해석 기능을 제공한다.

 

 

# 운영체제 관련 용어

버퍼링 : 프로세서와 입출력장치의 속도 차이로 생긴 유휴시간이 없도록

입출력 장치에 버퍼를 두어 프로세스 연산 시 동시에 다른 작업을 입출력하는 방법

스플링 : 속도가 빠른 디스크를 버퍼처럼 사용하여 입출력장치에서 미리 읽는 것.

버퍼링은 하드웨어 일부인 버퍼를 사용한다면, 스플링은 별개의 오프라인 장치를 사용한다.

또한, 버퍼링은 하나의 입출력 작업만 가능한데, 스플링은 여러 작업을 함께 할 수 있다.

# 운영체제의 서비스

운영체제는 보통 부팅/사용자/시스템/시스템 호출 서비스를 제공한다.

 

## 부팅 서비스

컴퓨터 하드웨어를 관리하고 프로그램을 실행할 수 있도록 컴퓨터에 시동을 거는 기능이다.

운영체제를 메인 메모리에 적재하는 과정부팅이라고 한다.

부트로더는 보조기억장치에 저장된 운영체제를 메인 메모리에 적제하는 ROM에 고정시킨 프로그램이다.

## 사용자 서비스

운영체제는 프로그래머가 프로그래밍 작업을 쉽게 수행할 수 있도록 한다.

CLI, GUI 등을 통해 명령 인터페이스를 제공하고,

프로그램 실행 및 입출력, 파일 조작, 통신 등을 수행한다.

 

## 시스템 서비스

운영체제는 시스템 자체에 효율적인 동작을 보장한다.

자원을 할당하고, 각 사용자의 계정을 관리하며, 보호와 보안에 대한 기능을 제공한다.

 

## 시스템 호출

운영체제는 프로그램과 운영체제 간의 인터페이스를 제공한다

 시스템 호출 예는 다음과 같다.

# 운영체제 구조

 

## 단일 구조 운영체제

운영체제 초기의 형태이다. 작고 간단하면서도 속도가 빠르다.

또한, 커널에 그룹화해서 구현하여 자원을 효율적으로 쓸 수 있다.

허나, 커널 크기가 커지면서 수정 및 유지보수가 매우 어려운 문제가 발생한다.

도스, 초기 유닉스가 예이다.

 

## 계층 구조 운영체제

단일 구조를 해결하기 위해 등장!

비슷한 기능을 수행하는 요소끼리 그룹화를 한다.

물론, 다름 계층으로 전달할 때마다 추가적인 호출이 발생하여 성능이 떨어지지만,

시스템 검증 및 오류 수정을 쉽게 할 수 있다.

## 마이크로 커널 구조 운영체제 

운영체제가 커지다보니까 단일 커널에서 관리 하기가 힘들어졌다 ㅠㅠ

따라서 커널에서 최소 기능만 포함시켜 크기를 대폭 줄이고, 기타 기능을 사용자 영역에서 수행하는 구현 방법을 채택했다.

마이크로 커널 구조에서는 HW 초기화, 메모리, 프로세스 관리, 프로세스 간 통신 및 협력, 동기화 하는 등 기본 기능만 실행한다.

참조 : 한빛아카데미 - 그림으로 배우는 구조와 원리 운영체제 - 구현회 저

728x90

'스터디 > OS 스터디' 카테고리의 다른 글

프로세스 관리  (0) 2023.11.11
프로세스 상태 변화와 상태 정보  (0) 2023.11.11
프로세스의 개념과 상태 변화  (0) 2023.11.11
컴퓨터 시스템의 동작  (0) 2023.11.01
컴퓨터 하드웨어 구성  (0) 2023.11.01