반응형

목차

01. 운영체제의 개요
02. 컴퓨터의 구조와 성능 향상
03. 프로세스와 스레드
04. CPU 스케줄링
05. 프로세스 동기화
06. 교착 상태
07. 물리 메모리 관리
08. 가상 메모리의 기초
09. 가상 메모리 관리
10. 입출력 시스템과 저장장치
11. 파일 시스템
12. 네트워크와 분산 시스템


운영체제소개

 

운영체제

일반 컴퓨터나 노트북의 전원을 켜먼 가장 먼저 만나게 되는 대표적인 소프트웨어.
대표적으로 윈도우, MacOS, 리녹스 등이 있다.

모바일 운영체제

모바일 운영체제도 존재한다. 대표적으로 안드로이드, ios가 존재한다.
안드로이드는 구글의 개방정책으로 여러 스마트폰 제조사가 이용하지만 ios는 폐쇄 정책으로 애플제품에만 사용된다.

임베디드 운영체제

MP3플레이어, 네비게이션 등에도 운영체제가 있다.
이러한 운영체제를 임베디드 운영체제라고 한다.
임베디드 운영체제는 CPU성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제이다.
임베디드 운영체제를 가지고 있지 않았던 MP3는 처음 만들 당시에 구현한 기능 외에 다른 기능을 추가 할 수 없었지만, 임베디드 운영체제를 가지고 나서부터 제품의 음질향상, MP3파일 다운로드 등 다른 기능을 추가할 수 있었다.

임베디드 운영체제가 있는 기계는 기능을 계속 향상 시킬 수 있다.

 

운영체제의 필요성

초기의 컴퓨터는 정해진 계산만 하면 되었기 때문에 운영체제가 필요하지 않았다.Ex)애니악
그런데, 여러 작업을 동시에 하는 환경이 조성되면서 운영체제의 필요성이 대두되었다.

  • 컴퓨터는 운영체제가 없어도 작동하는가?

→ 작동한다. 최초의 컴퓨터 애니악은 키보드와 모니터가 없었지만 진공관과 진공관을 전선으로 연결하여 회로를 구성해 프로그래밍 효과를 냈었다. 그러나 새로운 기능을 구현하려면 매번 회로를 변경해야 하는 어려움이 존재했고 복잡한 기능을 구현하지 못했다.

  • 운영체제가 있고 없는 기계는 어떤 차이가 있는가?

→ 운영체제가 없는 기계는 새로운 기능을 구현할 수가 없다. 반면 운영체제가 있는 기계는 새로운 기능의 추가나 성능이 변경이 가능했다. 이러한 기계를 프로그램이 가능한 기계라고 부른다. 대표적인 예시로 유선전화기 VS 스마트폰이 있다.

  • 운영체제는 성능을 향상하는 데에만 필요한가?

→ 아니다. 운영체제는 성능 향상 뿐아니라 자원관리라는 중요한 역할을 해준다. 여러가지 프로그램이 실행중일때 어떤 프로그램에게 우선순위를 결정하고, 악의적인 응용 프로그램으로부터 컴퓨터 자원을 보호해준다.

  • 운운영체제는 자원을 어떻게 관리하는가?

→ CPU와 메모리, 키보드, 플로피디스크, 모니터 등을 컴퓨터 자원이라고 부른다.
이러한 자원들을 운영체제가 사용자가 직접적으로 접근하지 않게 함으로써 자원을 보고하고 관리한다. 하드디스크에 저장할 때 운영체제에게 부탁하면 알아서 적당한 위치에 저장해주고, 악의적인 데이터를 지우거나 덮어쓰는 일이 발생할 때 응용프로그램과 사용자에게 모든 자원을 숨겨준다.

  • 사용자는 숨어있는 자원을 어떻게 이용하는가?

→ 사용자가 직접 접근하지 못하는 대신 자원을 이용할 수 있게 해준다. 컴퓨터를 사용할 수 있도록 해주고 그 결과를 알려주는 것을 인터페이스 라고 한다. 사용자가 컴퓨터를 보다 쉽게 사용할 수 있도록 다양한 인터페이스를 제공한다.

 

운영체제의 정의

운영체제는 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어이다.
운영체제는 응용 프로그램이나 사용자에게 컴퓨터 자원을 사용할 수 있는 인터페이스를 제공하고 그 결과를 돌려준다. 그리고 응용 프로그램이나 사용자에게 모든 컴퓨터 자원을 숨기고 정해진 방법으로만 컴퓨터 자원을 사용할 수 있도록 제한한다.

 

운영체제의 역할

  • 자원 관리

→ 여러 응용프로그램을 사용할 때 나누어주어 사용자가 원활하게 작업할 수 있도록 도와준다. 적당한 순서로 배분하고 적절한 시점에 자원을 회수해간다.

  • 자원 보호

→ 어떤 응용 프로그램이 남의 영역을 침범하면 다른 사람의 작업을 망치거나 데이터를 지울 수 있기때문에 비정상적인 작업으로부터 컴퓨터 자원을 지킨다.

  • 하드웨어 인터페이스 제공

다양한 하드웨어를 사용한다. 만약 별도의 소프트웨어를 설치해야 한다면 어떨까? 힘이 들 것이다.
그래서 운영체제는 다양한 하드웨어를 사용할 수 있게 인터페이스를 제공해준다. 일부 하드웨어의 경우 따로 설치해야 하는데, 이러한 드라이버를 하드웨어 인터페이스라고 한다.

  • 사용자 인터페이스 제공

→ 사용자 인터페이스를 제공하여 대부분의 작업을 편하게 할 수 있다.

 

운영체제의 목표

운영체제의 목표는 크게 4가지로 정리할 수 있는데, 효율성, 안정성, 확정성, 편리성이다.

  • 효율성

→ 같은 자원을 사용해 더 많은 작업을 처리하거나, 같은 작업량을 처리하는데 보다 적은 자원을 사용하는 것이다. 효율적인 자원관리는 다양한 방법으로 이루어질 수 있다.

  • 안정성

→ 안정성은 운영체제의 역할 중 '자원 보호'와 연관된다. 사용자와 응용 프로그램의 안전문제와 하드웨어적인 보안 문제를 처리할 수 있어야 하며, 시스템에 문제가 생겼을 때 이전으로 복구하는 결함 포용 기능을 수행해야 한다.

  • 확장성

→ 운영체제는 하드웨어 상관없이 꽂으면 바로 실행할 수 있는 플러그 앤드 플레이 기능이 되어야 한다.
사용자의 편리성뿐 아니라 하드웨어 제작자의 편리성도 고려해야 한다.

  • 편리성

사용자에게 응용프로그램이나 사용자에게 제약을 걸면 효율성이 늘어나게 된다. 그러나 이러한 제약들은 사용자를 불편하게 하고 다른 프로그램의 개발을 방해한다. 따라서 프로그램의 편리성을 제공해주면서 자원의 낭비 요소를 막을 수 있어야 한다.

반응형

'Operating System' 카테고리의 다른 글

CPU와 메모리  (0) 2022.03.29
컴퓨터의 기본 구성  (0) 2022.03.28
운영체제의 구조  (0) 2022.03.27
운영체제의 역사  (0) 2022.03.27
운영체제 (feat. 쉽게 배우는 운영체제)  (0) 2022.03.27