My Boundary As Much As I Experienced

운영체제(Operating System)란? 본문

Computer Basics

운영체제(Operating System)란?

Bumang 2023. 8. 7. 18:38

운영체제란?

운영체제(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템입니다. 여러 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공해 줍니다. (종류로는 Windows, Linux, UNIX, MS-DOS 등이 있으며, 시스템의 역할 구분에 따라 각각 용이점이 있습니다.)

 

 

 

운영체제의 성능 척도

  1. 처리능력 : 운영체제는 시스템의 생산성을 나타내는 단위로, 일정 시간 동안 처리하는 일의 양을 의미합니다.
  2. 응답시간 : 작업 의뢰 후 시스템에서 결과가 얻어질 때까지의 시간
  3. 신뢰도 : 주어진 문제를 얼마나 정확하는가에 대한 정도
  4. 사용가능도 : 시스템을 얼마나 빠르게 사용할 수 있는가에 대한 정도

 

운영체제의 기능

1. 프로세스 관리

응용 프로그램을 관리하는 기능이다. 어떤 의미에서는 CPU를 관리하는 것이라고 볼 수도 있습니다. 현재 CPU를 점유해야 할 프로세스가 뭔지 결정하고, 실제로 CPU를 프로세스에 할당하며, 이 프로세스 간 공유 자원 접근과 통신 등을 관리하게 됩니다.

컴퓨터를 사용할 때 브라우저를 쓰면서 노래를 듣고 게임까지 하는 경우를 생각해보자. 브라우저, 음악, 게임은 모두 프로세스에 해당합니다. 컴퓨터의 CPU가 하나인 경우 CPU는 한 번에 한 프로세스만을 처리할 수 있는데도 불구하고 이를 동시에 하고 있다고 느낄 수 있는 이유는 운영체제에서 적절한 방식으로 프로세스들을 관리해주기 때문입니다. 이와 관련된 내용으로는 시분할 방식, CPU 스케쥴링과 같은 개념들이 있습니다.

 

2. 저장장치 관리

1차 저장장치에 해당하는 메인 메모리와 2차 저장장치에 해당하는 하드디스크, NAND 등을 관리하는 기능입니다.

  • 1차 저장장치(Main Memory) - 캐시, 램 등..
    • 프로세스에 할당하는 메모리 영역의 할당과 해제
    • 각 메모리 영역 간의 침범 방지
    • 메인 메모리의 효율적 활용을 위한 가상 메모리 기능
  • 2차 저장장치(HDD, NAND Flash Memory 등)
    • 파일 형식의 데이터 저장
    • 이런 파일 데이터 관리를 위한 파일 시스템을 OS에서 관리
    • FAT, NTFS, EXT2, JFS, XFS 등 많은 파일 시스템들이 개발되어 사용 중
 메모리는 CPU가 직접 접근할 수 있는 컴퓨터 내부의 기억 장치입니다. 모든 프로그램은 메모리에 올라와서 실행됩니다. 오늘날에는 여러 프로그램을 동시에 실행시키기 때문에 메모리 관리를 하지 않으면 프로그램끼리 메모리 침범 이슈와 같은 문제들이 생기게 됩니다. 따라서 이러한 문제 해결을 위해 운영체제에서 메모리를 관리해줍니다.

또한 한정된 메모리 공간을 가지고 어떤 프로그램에 얼마만큼 메모리를 할당해줄 것인지 역시 관리합니다. 물리적 메모리 관리 방식으로는 고정 분할 방식, 가변 분할 방식, 가상 메모리 방식 등이 있습니다.

 또한, 운영체제는 사용자의 하드웨어에 대한 직접 접근을 막습니다. 예를 들어 사용자가 하드디스크의 특정 영역에 데이터를 직접 저장하려는 경우 중요한 데이터를 덮어써 버릴 위험이 있습니다. 또한 누군가의 악의적인 공격으로 컴퓨터 시스템에 문제를 일으킬 수 있습니다.

따라서 운영체제는 하드웨어 관리를 직접 하여 사용자의 실수를 방지하고 고의적인 공격에 대한 방어를 합니다. 또한 하드 디스크의 많은 파일들을 효율적으로 저장하고 관리해주는 역할도 수행합니다.

 

3. 네트워킹

네트워킹은 컴퓨터 활용의 핵심과도 같아졌습니다.

TCP/IP 기반의 인터넷에 연결하거나, 응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원해야 한다. 현재 상용 OS들은 다양하고 많은 네트워크 프로토콜을 지원합니다.

이처럼 운영체제는 사용자와 컴퓨터 하드웨어 사이에 위치해서, 하드웨어를 운영 및 관리하고 명령어를 제어하여 응용 프로그램 및 하드웨어를 소프트웨어적으로 제어 및 관리를 해야합니다.

 

 

4. 사용자 관리

우리가 사용하는 PC는 오직 한 사람만의 것일까? 아니요..

하나의 PC로도 여러 사람이 사용하는 경우가 많다. 만약 가족들이 각자의 계정을 만들어 사용하는 PC가 있다면, 이는 하나의 컴퓨터를 여러 명이 사용한다고 말할 수 있습니다. 따라서, 운영체제는 각 계정을 관리할 수 있는 기능이 필요합니다. 사용자 별로 프라이버시와 보안을 위해 개인 파일에 대해선 다른 사용자가 접근할 수 없도록 해야 합니다.

 

 

5. 디바이스 드라이버

운영체제는 시스템의 자원, 하드웨어를 관리한다. 시스템에는 여러 하드웨어가 붙어있는데, 이들을 운영체제에서 인식하고 관리하게 만들어 응용 프로그램이 하드웨어를 사용할 수 있게 만들어야 한다.

따라서, 운영체제 안에 하드웨어를 추상화 해주는 계층이 필요하다. 이 계층이 바로 디바이스 드라이버라고 불린다. 하드웨어의 종류가 많은 만큼, 운영체제 내부의 디바이스 드라이버도 많이 존재한다.

이러한 수많은 디바이스 드라이버들을 관리하는 기능 또한 운영체제가 맡고 있다.

'Computer Basics' 카테고리의 다른 글

시스템 콜(System Call)  (0) 2023.08.22
인터럽트(Interrupt)란?  (0) 2023.08.22
ARM 프로세서란?  (0) 2023.08.07
패리티 비트(Parity Bit)와 해밍코드(Hamming Code)  (0) 2023.08.01
고정소수점과 부동소수점  (0) 2023.08.01