본문 바로가기
개인 공부/OS (쉽게 배우는 운영체제)

쉽게 배우는 운영체제 : 운영체제의 개요 (1장)

by 희조당 2021. 9. 26.
728x90

■ 정의

 · 편리한 인터페이스를 제공하고 시스템의 자원을 효율적으로 관리하는 프로그램

 

 운영체제의 필요성 

 · OS가 없어도 작동은 가능하다 (ex. 에니악)

 · 컴퓨터의 성능 향상, 효율적인 자원 관리, 인터페이스를 제공하기 때문에!

 

 역할 

 1. 자원 관리 : 자원을 응용 프로그램에게 분배·회수한다.

 2. 자원 보호 : 비정상적인 작업(다른 영역 침범 등)을 방지한다.

 3. 하드웨어 인터페이스 제공 : 드라이버를 자동 설치함으로 HW 상관없이 사용 가능케 한다.

 4. 사용자 인터페이스 제공 : 사용자가 운영체제를 편리하게 사용할 수 있게 한다.

 

 목표

 1. 효율성 : 같은 자원으로 많은 작업을, 같은 양의 작업을 더 작은 자원으로 가능하게 한다.

 2. 안정성

 3. 확장성 : 다양한 자원의 추가·제거가 편리해야 한다.

 4. 편리성

 

 운영체제의 역사

 · 일괄 작업 시스템('50) : 모든 작업을 한 번에 처리(중간에 수정, 입력 불가)

   → 입력 : 천공카드 리더 / 출력 : 라인 프린터

 · 대화형 시스템('60 초) : 키보드와 모니터의 개발로 대화식의 처리가 가능해짐

 · 시분할 시스템('60 후) : 효율성을 위해 '다중 프로그래밍' 개발 

   → 다중 프로그래밍 : 1개의 CPU로 여러 개의 작업을 동시에 실행 (시분할 시스템 기반)

   → 시분할 시스템(다중 작업) : 여러 작업을 조금씩 처리해 동시에 작업하는 것과 같은 효과를 보임

 · 분산 시스템('70 후) : 작은 컴퓨터들을 묶어 대형 컴퓨터와 버금가는 시스템을 구현 

   → 네트워크의 등장으로 가능해졌다.

 · 클라이언트/서버(2000~) : 이중구조 / 과부하의 문제를 가진다.

 · P2P 시스템 : 사용자끼리의 연결 (ex. 메신저, 파일 공유)

 · 그리드 컴퓨팅 : 필요한 컴퓨팅 자원을 구매해 사용하는 환경 (보통 연구용, 상업용)

 · 클라우드 컴퓨팅 : 언제 어디서든 프로그램과 데이터를 사용할 수 있게 하는 환경

 · IoT : 사물인터넷 / 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술

 

 운영체제의 구조

 · 커널 : 운영체제의 핵심적인 기능을 모아둔 것 / 성능과 밀접한 관련 

 · 인터페이스 : 커널에 명령을 전달하고 실행 결과를 유저에게 알려주는 것

 · 시스템 호출 : 커널을 보호하기 위한 인터페이스 / 직접 접근을 막아 자원을 보호한다.

 · 드라이버 : 하드웨어 인터페이스를 담당 / HW 제작자가 만든 SW

   → System Call과 Driver는 커널 내부에 위치

 

 커널의 구성

 · 역할 : 프로세스 관리, 메모리 관리, 파일 시스템 관리, 입출력 관리, 프로세스 간의 통신 관리

 · 단일 구조 : 초창기 버전 / 모듈이 일체형

   → 장점 : 모듈이 분리되지 않아 통신 비용이 저렴

   → 단점 : 버그, 오류 처리의 어려움, 작은 결함에 큰 타격, 다양한 환경에 적응 X

 · 계층 구조 : 비슷한 기능의 모듈을 묶어 계층으로 구현 / 오늘날의 운영체제

   → 단일 구조를 보완해 쉬운 디버깅이 가능함

 · 마이크로 구조 : 운영체제는 가장 기본적인 것만 제공하고 모듈들이 세분화되어 존재

   → 장점 : 각 모듈이 독립적, 높은 이식성

 

 가상 머신

 · 언어의 호환성을 메꾸기 위해서 만들어짐 (ex. java) 

   → 호환성이 높아지나 가상 머신을 통해 응용프로그램이 작동하므로 느려지기도 한다.

댓글