본문 바로가기
computer science

하루에 하나씩 배우는 컴퓨터 사이언스 개념: 운영체제 개념

by vita12321 2023. 7. 28.
728x90
반응형

운영체제에 대해 자세히 배우고 개념을 이해하겠습니다. 운영체제의 역할과 중요성을 파악하고, 컴퓨팅 시스템의 핵심 원칙을 배워보겠습니다.


 

1. 운영체제 (Operating System) - 개요 구조

 

운영체제는 컴퓨터 시스템의 소프트웨어 처리에 아파트맨과 같은 중요한 역할을 담당합니다. 하드웨어와 응용 프로그램 리소스 할당, 보안, 적절한 하드웨어 인터페이스 제공 등의 작업을 수행합니다. 또한, 컴퓨터 시스템의 작업 효율성과 안정성을 확보하는 중요한 영향을 미칩니다.

 

 

1.1 운영체제의 주요 기능

 

운영체제는 다음과 같은 일련의 주요 기능을 수행합니다.

 

  • 하드웨어 자원 관리
    CPU, 메모리, 입출력 장치 등 다양한 하드웨어 구성요소를 효율적으로 관리하면서 처리합니다.

  • 사용자 인터페이스 제공
    텍스트 기반 명령어나 사용자 친화적인 그래픽 사용자 인터페이스 (GUI) 형태를 포함하여 사용자와 컴퓨터 사이에 인터페이스를 제공하여 사용자의 명령을 이해하고 처리합니다.

  • 프로세스 관리
    실행 중인 프로그램(프로세서)에 대해 처리 시간 및 메모리 등 시스템 자원을 할당하고 관리하며, 프로세스 간의 동기화 및 통신을 지원합니다.

  • 파일 시스템 관리
    데이터 저장과 검색을 위한 효율적인 파일 시스템을 제공하고, 사용자가 접근, 생성, 제거, 수정 등 파일 조작을 수행할 수 있도록 지원합니다.

  • 입출력 관리
    컴퓨터와 외부 기기들간의 데이터 전달을 관리합니다. 예를 들어, 키보드, 마우스, 프린터, 저장매체 등 다양한 입출력 장치들과 원활한 통신을 가능하게 합니다.

  • 보안
    시스템 내부 및 외부의 보안 위협으로부터 컴퓨터 시스템을 보호합니다. 파일을 저장하거나 실행할 때, 사용자 인증 등의 방식으로 시스템 자원에 대한 접근을 통제합니다.

 

 

1.2 운영체제의 구분

 

운영체제는 목적에 따라 크게 다음과 같이 구분됩니다.

 

  • 다중 사용자 (Multi-User) 운영체제
    여러 사용자가 동시에 사용할 수 있도록 설계된 시스템으로, 주로 서버에서 사용합니다.

  • 실시간 (Real-Time) 운영체제
    입력이 주어진 직후 결과를 처리해야 하는 시스템에 적합하도록 설계되어 있어 엄격한 시간 제한이 존재합니다. 주로 공장 자동화, 신호 제어 시스템 등에서 사용합니다.

  • 분산 (Distributed) 운영체제
    네트워크를 통해 연결된 다수의 컴퓨터에서 동시에 사용되도록 설계된 시스템으로, 각 컴퓨터의 자원 활용을 최적화하는 데 초점을 맞춥니다.

  • 강화형 (Hardened) 운영체제
    특별한 보안 요구가 있는 환경의 시스템에 사용되며, 기본 보안 기능 외 추가적인 보안 기능을 제공합니다. 군사 및 정부 기관에서 주로 사용됩니다.

 

2. 주요 운영체제의 종류 특징

Microsoft Windows

  • Microsoft Windows
    개인용 컴퓨터에서 주로 사용되며, 사용자 친화적인 그래픽 사용자 인터페이스를 제공합니다. 최대 시장 점유율을 가지고 있는 가장 인기 있는 운영체제입니다.

macOS

 

  • macOS
    애플의 제품에 사용되는 운영체제로, 사용자 친화적인 디자인 및 높은 보안성과 호환성이 특징입니다.

UNIX/Linux

  • UNIX/Linux
    서버와 워크스테이션에 활발하게 사용되며, 파워풀하고 안정적이며 오픈소스로 개발된 것이 특징입니다. 다양한 리눅스 배포판들이 가상화 및 클라우드 환경에서 널리 사용되고 있습니다.

 

3. 프로세스 관리와 스케줄링

 

운영체제는 프로세스를 관리하기 위해 다양한 스케줄링 알고리즘을 사용하며, 이에 따라 선점 스케줄링과 비선점 스케줄링으로 구분됩니다.

 

 

3.1 선점 스케줄링

 

미리 정해진 프로세스 우선순위에 따라 실행 중인 프로세스를 중단시키고 다음 프로세스로 전환할 있습니다. 방식은 실시간으로 프로세스를 관리할 있어 높은 프로세스 처리 효율성과 시스템 반응성을 제공합니다. 대표적인 선점 스케줄링 알고리즘으로는 기본 우선 순위 스케줄링, Round Robin 스케줄링, 최소 잔여-시간-우선(Minimum Remaining Time First, MRTF) 스케줄링 등이 있습니다.


 

3.2 비선점 스케줄링

 

실행 중인 프로세스가 완료될 때까지 대기하고, 다음 프로세스를 처리합니다. 선점 스케줄링에 비해 예측 가능한 프로세스 동작이 가능하나, 실시간 반응성은 떨어지게 됩니다. 대표적인 비선점 스케줄링 알고리즘으로는 FCFS(First Come First Served), SJF(Shortest Job First), 우선순위 기반 스케줄링 등이 있습니다.

 

 

결국, 운영체제는 컴퓨터 시스템의 핵심 구성 요소이며 다양한 목적과 환경에 맞춰 제공되고 있습니다. 하루에 하나씩 배우는 컴퓨터 사이언스 개념을 통해 운영체제에 대해 깊이 배우고 이해하면, 컴퓨터 프로그래밍 시스템 관리 과정을 최적화하는 도움이 것입니다.

728x90
반응형