[OS] 운영체제의 개요

공수정·2022년 1월 2일
0

OS

목록 보기
1/1

1. 운영체제 소개

1. 일상생활 속의 운영체제

  • 컴퓨터 : 윈도우, 리눅스, 유닉스, 맥 등
  • 스마트폰 : IOS, 안드로이드
  • 임베디드 : 스마트 TV, 전자사전, MP3 등

2. 운영체제의 필요성

  • 필요성 : 컴퓨터의 하드웨어 성능이 향상됨에 따라 여러 작업을 동시에 할 수 있는 컴퓨팅 환경이 조성되면서 사용 규칙이 필요해졌다. 복잡한 작업 환경에 규칙이 없으면 기계를 망가뜨릴 수도 있기 때문이다. 이때에 등장한 것이 운영체제이다.

  • 컴퓨터는 운영체제가 없어도 작동한다. 예시는 최초의 컴퓨터 애니악을 들 수 있다.

  • 운영체제가 있는 컴퓨터와 없는 컴퓨터의 차이는? 구현 이후에 기능 추가나 성능의 변경 가능한지 불가능 한지의 차이, 운영체제가 있다면 가능

  • 운영체제는 성능향상 뿐만 아니라 컴퓨터 자원관리도 한다.

    컴퓨터 자원이란? 컴퓨터에 부착된 모든 장치들을 의미한다.
    ex ) CPU, 메모리, 키보드, 모니터 등과 같이 기본적인 구성품들과 그 외에 하드디스크, 그래픽카드, 사운드카드, 스피커 등의 모든 장치들

  • 운영체제가 자원을 관리하는 방법 : 사용자가 직접 자원에 접근하는 것을 막음으로써 자원을 보호하고 관리, 사용자가 자원에 접근하고 싶다면 운영체제를 통해서만 접근할 수 있음

  • 사용자가 자원을 이용하는 방법 : 운영체제는 사용자가 컴퓨터를 쉽게 이용할 수 있도록 다양한 인터페이스를 제공함으로써 컴퓨터 자원을 보호함과 동시에 사용자 편의를 도모한다.

    인터페이스란? 사용자가 컴퓨터를 사용할 수 있도록 해주고, 그 결과를 알려주는 것

3. 운영체제의 정의

운영체제는 사용자에게 편리한 인터페이스 환경을 제공하고, 컴퓨터 시스템 자원을 효율적으로 관리하는 소프트웨어이다.
응용 프로그램이나 사용자에게 모든 컴퓨터 자원을 숨기고 정해진 방법으로만 컴퓨터 자원을 사용 할 수 있도록 제한하며, 운영체제를 거치지 않고는 하드웨어에 접근할 수 없다.

4. 운영체제의 역할

운영체제의 역할은 관리자와 같다.

1. 자원 관리 : 응용프로그램에게 자원을 적절히 나누어주어 사용자가 원활하게 작업하게 돕는 역할

예를 들어 같은 자원을 요청하는 응용프로그램이 여러 개라면 해당 자원을 적당한 순서로 적절히 배분했다가 회수하는 등의 방법으로 관리는 하는 것

2. 자원 보호 : 악의적인 사용자나 미숙한 사용자, 비정상적인 작업 등으로부터 자원을 보호하거나 서로의 영역을 침범하지 않게 하는 등의 역할

3. 하드웨어 인터페이스 제공 : 다양한 하드웨어 장치를 일관된 방법으로 사용할 수 있도록 지원하는 역할

다양한 하드웨어 장치가 있지만 해당되는 드라이버만 컴퓨터에 설치해서 사용할 수 있도록 하는 하드웨어 인터페이스를 지원하는 역할을 한다.

4. 사용자 인터페이스 제공 : 사용자가 운영체제를 편리하게 사용할 수 있도록 지원하는 역할

예전에는 마우스의 사용 없이 키보드로 명령어를 입력해서 사용하는 방법이라 사용자가 사용법을 배우기가 어려웠지만, 지금은 그래픽 사용자 인터페이스를 제공함으로써 마우스로 편리하게 이용 할 수있고, 더 나아가 터치스크린으로도 이용 가능해 더욱 편리하다. 이렇게 사용자가 운영체제를 편리하게 사용할 수 있도록 제공되는 기술을 사용자 인터페이스라고 한다.

5. 운영체제의 목표

운영체제의 목표는 여러가지 인데 역할과 연결지어 하나씩 살펴보기로 하자

1. 효율성 ( 자원 관리 )

같은 자원을 관리 하더라도 효율적으로 관리하는 것.
같은 자원을 사용하여 더 많은 작업량을 처리하거나, 같은 작업량을 처리하는데 적은 자원을 사용하는 것을 의미한다.
이렇게 하기 위해서는 운영체제의 크기를 최소화하고, 운영체제가 사용하는 코드를 최적화해야 한다.

2. 안정성 ( 자원 보호 )

사용자와 응용 프로그램은 운영체제위에서 작업을 한다고 볼 수있다.
따라서 운영체제가 불안정하면 모든 작업이 불안할 밖에 없다.
운영체제가 안정적이려면 사용자와 응용 프로그램의 안전 문제와 하드웨어적인 보안 문제를 처리할 수 있어야한다. 또 결함포용 기능을 수행해야한다.

결함포용이란?
시스템에 문제가 발생했을때 이전으로 복구하는 기능

3. 확장성 ( 하드웨어 인터페이스 제공 )

다양한 시스템 자원을 추가하거나 제거하기가 편리해야 한다. 또 앞으로 개발될 하드웨어도 제약없이 사용할 수 있도록 하려면 하드웨어 제작자의 편리성도 고려해야하며, 플러그 앤드 플레이 기능을 제공해야한다.

플러그 앤드 플레이 기능이란?
하드웨어의 종류에 상관없이 꽂으면 바로 실행할 수 있는 기능

4. 편리성 ( 사용자 인터페이스 제공 )

운영체제가 효율성을 최우선으로 생각한다면 응용 프로그램이나 사용자에게 제약을 가하면 효율성을 높일수 있지만 그만큼 사용자가 사용하기 불편하거나 응용 프로그램의 개발을 방해하기 때문에 다양한 편리성을 제공하면서도 자원의 낭비 요소를 막아야한다.

출처
쉽게 배우는 운영체제 (조성호 지음)

profile
계속해서 공부하는 개발자입니다 :)

0개의 댓글