운영체제 개요

DEVJUN·2022년 6월 28일
6

운영체제(OS)

목록 보기
1/5
post-thumbnail

1. 운영체제(Operating System)란

  운영체제란 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어를 말한다. 💻 하드웨어와 운영체제가 한 몸이 되어야만 사용자에게 쓰일 수 있는 진정한 컴퓨터 시스템이 될 수 있다. 즉 고철덩어리인 컴퓨터를 동작시키긴 위해서는 기본적인 소프트웨어인 운영체제가 필요하다는 것이다!😧

  컴퓨터의 전원을 켜면 운영체제는 이와 동시에 실행된다. 소프트웨어가 컴퓨터 시스템에서 실행되기 위해서는 메모리에 그 프로그램이 올라가 있어야 한다.

  운영체제 자체도 하나의 소프트웨어로서 전원이 켜짐과 동시에 메모리에 올라간다. 하지만 운영체제는 규모가 엄청나게 큰 프로그램이기 때문에 모두 메모리에 올라가면 메모리 공간에 낭비가 심할 것이다.

  따라서 운영체제 중 항상 필요한 부분만을 전원이 켜짐과 동시에 올려놓고, 그렇지 않은 부분은 필요할 때만 메모리에 올려서 사용하게 된다.

  이 때 메모리에 올라가는 운영체제의 부분을 커널(kernel)이라고 부르며 커널은 운영체제 코드 중에서도 핵심적인 부분을 뜻한다.


2. 운영체제의 기능

  운영체제는 위의 이미지처럼 하드웨어와 사용자 사이에 존재한다. 운영체제의 역할은 하드웨어를 위한 역할사용자를 위한 역할로 나누어진다.

  운영체제의 두 가지 주요 기능은 1️⃣ 컴퓨터 시스템 내의 자원을 효율적으로 관리하는 것과 2️⃣컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공하는 것이다.

  편리한 환경 제공이란 운영체제가 하드웨어를 직접 다루는 복잡한 부분을 대행해주고, 각 사용자 및 프로그램은 그에 대한 자세한 내용을 알지 못해도 프로그램을 실행할 수 있도록 해주는 기능을 말한다.

  ✨운영체제의 가장 중요한 핵심 기능은 컴퓨터 시스템 내의 자원을 효율적으로 관리하는 것❗️이다.

  자원이란 CPU, 메모리, 하드디스크 등 하드웨어 자원 뿐 아니라 소프트웨어 자원까지를 통칭해서 부르는데 운영체제는 이 자원들을 효율적으로 관리해 가장 좋은 성능을 내도록 하는 역할을 담당한다. 이 밖에도 운영체제는 사용자와 운영체제 자신을 보호(보안 및 보호 기능 수행)하는 역할을 담당한다.


3. 운영체제의 분류

  운영체제는 동시 작업을 지원하는지의 여부에 따라 단일작업(single tasking)용 운영체제다중작업(multi tasking)용 운영체제로 나누어 볼 수 있다.
단일 작업과 다중작업은 말그대로 한 번에 하나의 프로그램만 실행시키느냐, 여러 개를 실행시키느냐이다. 최근에는 대부분의 운영체제가 동시에 2개 이상의 프로그램을 처리할 수 있는 다중작업을 지원한다.

  운영체제가 다중작업을 처리할 때에는 여러 프로그램이 CPU와 메모리를 공유하게 된다. CPU가 하나밖에 없어 매 순간 하나의 프로그램만 CPU에서 실행될 수 있더라도 CPU의 처리 속도가 워낙 빨라 수 밀리초 이내의 짧은 시간 규모로 여러 프로그램들이 CPU에서 번갈아 실행되면 사용자 입장에서는 여러 프로그램이 동시에 실행되는 것처럼 보이기 때문이다.

  위와 같이 CPU의 작업시간을 여러 프로그램들이 조금씩 나누어 쓰는 시스템🕐시분할 시스템(time sharing system)이라고 부른다.

  CPU와 달리 메모리의 경우 여러 프로그램들이 조금씩 메모리 공간을 보유하며 동시에 메모리에 올라가 있을 수 있는데 이처럼 메모리 공간을 분할해 여러 프로그램들이 동시에 메모리에 올려놓고 처리하는 시스템다중 프로그래밍 시스템(multi-programming system)이라고 부른다.

  다중작업용 운영체제의 경우 여러 프로그램을 같이 실행시키지만 사용자 개개인의 관점에서는 각 프로그램에 대한 키보드 입력의 결과를 곧바로 화면에 보여주기에 대화형 시스템이라고도 부른다. 여러 사용자가 동시에 접속해서 쓰는 서버의 경우도 사용자의 입력을 곧바로 응답하여 처리해주기에 대화형 시스템에 해당한다.

  운영체제를 분류하는 또 다른 기준으로는 다중 사용자에 대한 동시 지원 여부이다. 이메일 서버나 웹서버 등 여러 사용자가 동시에 접속해 사용할 수 있으므로 다중 사용자용 운영체제가 이용되는 대표적인 경우이고, DOS나 윈도우 처럼 혼자 사용하는 경우 단일 사용자용 운영체제의 경우이다. 최근에는 윈도우 계열에서도 서버 기능을 지원해 다중 사용자용 운영체제로도 쓰이는 경우가 많다.

  운영체제를 분류하는 또 다른 기준으로는 작업을 처리하는 방식이 있다. 먼저 일괄처리(batch processing)방식은 요청된 작업을 일정량씩 모아서 한꺼번에 처리하는 방식이다. 따라서 모든 작업이 종료된 후에 결과를 얻을 수 있어 사용자 입장에서 응답시간이 길다는 단점이 있다.

  시분할 방식은 여러 작업을 수행할 때 컴퓨터의 처리능력을 일정한 시간 단위로 분할해 사용하는 방식이다. 현대의 범용 컴퓨터는 대부분 시분할 방식을 사용하는데 여러 사용자의 작업을 짧은 시간 단위씩 번갈아가며 처리하게 된다. 따라서 사용자는 짧은 응답시간을 갖게 된다.

  운영체제를 분류하는 마지막 기준은 실시간(real time) 운영체제이다. 실시간 운영체제는 정해진 시간 안에 어떠한 일이 반드시 처리됨을 보장해야 하는 시스템에서 사용된다.

profile
🧑🏻‍💻iOS

0개의 댓글