1-1장 운영체제 - 역할 및 목표 (2/4)

 

해당 내용은 쉽게 배우는 운영체제을 기반으로 작성되었습니다.


1-1장 운영체제 - 역할 및 목표 (2/4)

1-4. 운영체제의 역할

출처 : 쉽게 배우는 운영체제

 

   자원관리

   - 문서 작업, 음악 듣기, 인터넷 서핑을 위해 컴퓨터 자원(키보드, 네트워크 카드, 사운드 카드)을 사용한다. 

   - OS는 올바른 컴퓨터 자원이 해당 응용 프로그램에 사용되어 사용자가 원할한 작업을 할 수 있도록 돕는다. 

   - 만약 자원을 요청한 프로그램이 여러 개라면 적당한 순서로 자원을 배분하고 적절한 시점에 자원을 회수하여 다른 응용 프로그램에 나누어 준다. 

 

   자원보호

   - 비정상적인 작업으로부터 컴퓨터 자원을 보호한다. 

   - 비정상적인 작업 : 어떤 응용 프로그램이 남의 영역 침범, 다른 사람의 작업을 망치거나 데이터 지우는 일

 

   하드웨어 인터페이스 제공

   - 사용자가 복잡한 과정 없이 다양한 장치를 사용할 수 있게 하드웨어 인터페이스를 제공한다. 

   - CPU, 메모리, 키보드, 마우스, 프린터 같은 다양한 하드웨어를 일관된 방법으로 사용하도록 지원함.

* 드라이버
- 명칭 : 장치 드라이버 = 디바이스 드라이버 = 장치 제어기 = 소프트웨어 드라이버
- 드라이버는 보통은 OS 설치할 때 자동으로 설치되지만, 일부 하드웨어는 따로 설치해야 함. 
- 이러한 드라이버를 하드웨어 인터페이스라고 함. 

 

   사용자 인터페이스 제공

   - 사용자가 운영체제를 편리하게 사용하도록 지원

   - 종류 : UI, GUI, TUI, VUI (각 사용자 인터페이스 내용은 위에 있음)

 

1-5. 운영체제의 목표

 

출처 : 쉽게 배우는 운영체제

OS는 역할을 제대로 수행하여 효율성, 안정성, 확장성, 편리성을 강화할 수 있는 형태로 발전해 왔다. 

목표 (효율성)  ∞  역할 (자원 관리)

   - OS는 자원을 효율적으로 관리해야 함.

   - 효율적이다 = 같은 자원으로 더 많은 작업량 처리하거나, 같은 작업량 처리하는데 더 적은 자원 사용하는 것 (기준이 자원이냐, 작업량이냐의 차이)

   - 운영체제 크기 최소화, 사용하느 코드 최적화

 

목표 (안정성)  ∞  역할 (자원 보호)

   - OS가 작업을 안정적으로 처리하는 것

   - 사용자와 응용 프로그램은 OS 위에서 작업하기 때문에 OS가 불안정하면 모든 작업이 불안할 수 밖에 없다.

   - OS가 불안하면 사용자에게 피해가 간기 때문에 안정성이 중요하다. (중요한 문서 작업 중 갑자기 컴퓨터 셧다운..)

   - OS 안전성 -> 사용자, 응용 프로그램의 안전 문제 & 하드웨어적 보안 문제 처리

   - 시스템에 문제 발생 시 이전으로 복구하는 '결함 포용(fault tolerant)' 기능 수행해야 함. 

 

목표 (확장성)  ∞  역할 (하드웨어 인터페이스 제공)

   - OS는 다양한 시스템 자원을 컴퓨터에 추가/제거하기 편리한 것 ( = 확장성이 좋다)

   - OS는 하드웨어의 종류에 상관없이 꽂으면 바로 실행할 수 있는 '플러그 앤드 플레이(plug and play)' 기능을 제공해야 한다. 

   - 사용자의 편리성 & 하드웨어 제작사의 편리성도 고려해야 함

 

목표 (편리성)  ∞  역할 (사용자 인터페이스 제공)

   - 사용자가 편리하게 작업할 수 있는 환경 제공하는 것

 

OS 입장에서 효율성만 높이려면 응용 프로그램이나 사용자에게 제약을 가하면 된다. 사용자에게 GUI를 제공하지 않고 텍스트만 사용하게 하면 OS 효율성이 높아지고, 컴퓨터의 속도도 빨라진다.
** 하지만 그렇게 되면 사용자는 마우스를 사용할 수 없게 되어 불편함이 올라간다. 

효율성을 올리기 위해 메모리를 100MB 이상 사용하지 못하게 하드디스크의 사용 공간을 제약하면 시스템의 효율성은 증가하지만, 사용자는 불편함을 느끼고, 다양한 응용 프로그램의 개발에 방해가 된다.