Computer >> 컴퓨터 >  >> 시스템 >> Linux

운영 체제 이해:컴퓨터를 구동하는 핵심 소프트웨어

작성자:

  • Mary E. Shacklett, 트랜스월드 데이터
  • Stephen J. Bigelow, 수석 기술 편집자

게시일:2024년 10월 31일

운영 체제(OS)는 부팅 프로그램에 의해 컴퓨터에 처음 로드된 후 컴퓨터의 다른 모든 응용 프로그램을 관리하는 프로그램입니다. 응용프로그램은 정의된 API(Application Program Interface)를 통해 서비스를 요청하여 OS를 사용한다. 또한 사용자는 명령줄 인터페이스(CLI)나 그래픽 사용자 인터페이스(GUI)와 같은 사용자 인터페이스(UI)를 통해 운영 체제와 직접 상호 작용할 수 있습니다.

운영 체제는 컴퓨터 소프트웨어 및 소프트웨어 개발에 강력한 이점을 제공합니다. 컴퓨터를 실행하도록 특별히 설계된 시스템 소프트웨어인 운영 체제가 없으면 모든 응용 프로그램에는 자체 UI는 물론 디스크 저장소 및 네트워크 인터페이스와 같은 기본 컴퓨터 시스템 소프트웨어의 모든 하위 수준 기능을 처리하는 데 필요한 포괄적인 코드가 포함되어야 합니다. 사용 가능한 기본 하드웨어의 방대한 배열과 컴퓨터 기능을 지원하기 위해 시스템 소프트웨어 수준에서 실행해야 하는 소프트웨어 루틴의 수를 고려하면 이는 모든 애플리케이션의 크기를 부풀리고 소프트웨어 개발을 비현실적으로 만듭니다.

대신 OS는 네트워크 패킷 전송이나 디스플레이와 같은 표준 출력 장치에 텍스트 표시를 포함하여 많은 시스템 수준 소프트웨어 작업을 처리합니다. 시스템 소프트웨어는 애플리케이션과 기본 컴퓨터 및 하드웨어 기능 간의 중개자 역할을 합니다. OS는 애플리케이션이 하드웨어 및 기타 시스템 수준 기능에 대한 세부 정보를 알 필요 없이 하드웨어 및 기타 시스템 수준 기능과 상호 작용할 수 있는 일관되고 반복 가능한 방법을 제공합니다.

각 애플리케이션이 동일한 리소스와 서비스에 동일한 방식으로 액세스하는 경우 OS 및 이에 관여하는 기본 시스템 소프트웨어는 거의 모든 수의 애플리케이션에 서비스를 제공할 수 있습니다. 이를 통해 애플리케이션을 개발하고 디버그하는 데 필요한 시간과 코딩의 양을 크게 줄이는 동시에 사용자가 일반적이고 잘 이해되는 OS 인터페이스를 통해 시스템 소프트웨어와 하드웨어를 제어, 구성 및 관리할 수 있습니다.

운영체제는 어떻게 작동하나요?

일단 설치되면 운영 체제는 대규모 장치 드라이버 라이브러리를 사용하여 서비스를 특정 하드웨어 환경에 맞게 조정합니다. 예를 들어, 모든 애플리케이션은 저장 장치에 대한 공통 호출을 수행할 수 있습니다. OS는 해당 호출을 수신하고 해당 드라이버를 사용하여 해당 호출을 해당 특정 컴퓨터의 기본 하드웨어에 필요한 작업 또는 명령으로 변환합니다. 운영 체제는 다음을 식별, 구성 및 관리하는 포괄적인 플랫폼을 제공합니다.

  • 프로세서를 포함한 다양한 하드웨어.
  • 메모리 장치 및 컴퓨터 메모리 관리
  • 칩셋.
  • 저장.
  • 네트워킹.
  • 비디오 그래픽 어레이, 고화질 멀티미디어 인터페이스, 범용 직렬 버스(USB) 등의 포트 통신 인터페이스
  • Peripheral Component Interconnect Express와 같은 하위 시스템 인터페이스

운영체제의 기능은 무엇인가요?

하드웨어와 소프트웨어 등 모든 주요 컴퓨터 플랫폼에는 일반적으로 다양한 장치 폼 팩터의 특정 요구 사항을 충족하기 위해 다양한 기능으로 개발되어야 하는 OS가 필요하고 포함되어 있습니다.

최종 사용자의 관점에서 볼 때 운영 체제는 다음 세 가지 필수 기능을 제공합니다.

  1. CLI 또는 GUI를 통해 UI를 제공합니다.
  2. 애플리케이션을 시작하고 애플리케이션 실행을 관리합니다.
  3. 일반적으로 표준화된 API를 통해 해당 애플리케이션에 대한 프린터 및 백업 디스크 드라이브와 같은 시스템 하드웨어 리소스 할당을 식별하고 결정합니다.

사용자 인터페이스

사용자는 시스템 기능을 트리거하고 애플리케이션을 실행하는 아이콘이 포함된 포인트 앤 클릭 방식의 시각적 화면인 GUI, 데이터 입력을 위한 단일 명령줄로 구성된 CLI, 또는 두 가지 모두를 통해 컴퓨터와 상호 작용하여 작업을 수행할 수 있습니다.

운영 체제 이해:컴퓨터를 구동하는 핵심 소프트웨어 OS의 아키텍처.

애플리케이션 관리

운영 체제는 다음 기능을 지원하는 모든 애플리케이션의 실행 및 관리를 처리합니다.

  • 다양한 작업이 사용 가능한 프로세서 리소스를 공유할 수 있도록 여러 프로세스 또는 스레드를 시분할합니다.
  • 프로세서의 즉각적인 주의를 끌기 위해 애플리케이션이 생성하는 중단을 관리하여 다른 프로세스를 방해하지 않고 애플리케이션과 해당 데이터를 실행할 수 있는 충분한 메모리가 있는지 확인합니다.
  • 애플리케이션 프로세스를 제거할 수 있는 오류 처리를 수행합니다.
  • 다른 애플리케이션이나 OS를 방해하지 않고 메모리 관리를 수행합니다.

하드웨어 프로비저닝 및 실행

운영 체제는 하위 수준 OS 또는 하드웨어 상태에 대해 알 필요 없이 애플리케이션이 OS 및 하드웨어 기능을 사용할 수 있도록 하는 API를 지원할 수도 있습니다. 예를 들어, Windows API를 사용하면 프로그램이 키보드나 마우스에서 입력을 얻을 수 있습니다. 대화 상자 창 및 버튼과 같은 GUI 요소를 생성합니다. 저장 장치에 파일을 읽고 쓸 수 있습니다. 애플리케이션은 거의 항상 애플리케이션이 실행되려는 OS 시스템을 사용하도록 맞춤화됩니다.

프로세스 일정 및 우선순위 지정

여러 프로그램이 동시에 실행될 수 있는 멀티태스킹 운영 체제에서 OS는 다른 응용 프로그램에 차례를 주기 전에 응용 프로그램이 실행되어야 하는 순서와 각 응용 프로그램에 허용되는 시간을 결정합니다. 예를 들어, OS는 대규모 인쇄 작업과 같은 일괄 작업을 나중에 리소스가 비어 있을 때 실행되도록 예약할 수 있는지 결정할 수 있습니다.

병렬 처리

병렬 처리를 제공할 수 있는 컴퓨터에서 OS는 프로그램이 한 번에 두 개 이상의 프로세서에서 실행되도록 프로그램을 분할하는 방법을 관리합니다.

파일 관리

사용자 요청, IT 규칙 세트 또는 기본 설정에 따라 운영 체제는 파일 및 디렉터리의 생성, 액세스, 수정 및 삭제를 관리합니다.

네트워킹

사용자에게 투명한 OS는 네트워크 프로토콜을 해독하고 네트워크에 연결하여 워크스테이션을 네트워크 전체 리소스에 자동으로 연결합니다. 이를 통해 단일 사용자가 네트워크에서 호스팅되는 네트워크 프린터 및 서버에 액세스할 수 있습니다.

보안

IT가 정의하고 승인한 정책을 사용하여 OS는 사용자, 애플리케이션 및 데이터에 대한 보안 액세스 제어 및 암호화를 시행합니다.

성능 모니터링 및 오류 감지

OS는 지속적으로 컴퓨터 성능을 모니터링하고 최적의 성능을 위해 미세 조정하고 리소스 활용도, 성능 저하 및 병목 현상, 오류 해결과 관련된 문제를 해결하는 데 도움이 되는 시스템 로그를 생성합니다.

백업 및 복구

데이터는 하루 종일, 밤마다, 매주 또는 정의된 빈도에 따라 정기적으로 백업할 수 있습니다. OS는 사용자나 IT 지원 없이 이러한 백업을 자동으로 수행할 수 있습니다. 데이터 중단이나 시스템 오류가 발생하는 경우 최신 백업에서 데이터를 쉽게 복구할 수 있습니다.

가상화

대부분의 OS를 사용하면 사용자는 단일 물리적 워크스테이션에서 각 OS를 다른 OS와 분리하는 소프트웨어 생성 파티션을 사용하여 서로 독립적으로 실행되는 여러 운영 체제를 정의할 수 있습니다. 이를 통해 사용자는 각각 전용 OS가 있는 여러 애플리케이션을 단일 워크스테이션에서 동시에 실행하여 성능을 최적화할 수 있습니다.

기기 관리

운영 체제는 프린터, 키보드 및 기타 컴퓨터 하드웨어 장치와 같은 기본 입/출력 장치에 대한 공통 액세스를 통해 애플리케이션을 식별, 구성 및 제공합니다. OS는 하드웨어를 인식하고 식별함에 따라 OS와 OS에서 실행되는 애플리케이션이 장치를 사용할 수 있도록 하는 해당 장치 드라이버와 인터페이스를 설치합니다.

운영 체제는 올바른 프린터를 식별하고 적절한 프린터 드라이버를 설치하므로 응용 프로그램은 해당 프린터에 특정한 코드나 명령을 사용할 필요 없이 프린터만 호출하면 됩니다. 이 프로세스는 다음을 포함하여 다른 장치에서도 유사합니다.

  • USB 포트.
  • 네트워킹 포트.
  • 그래픽 처리 장치와 같은 그래픽 장치
  • 마더보드 칩셋.
  • 적절한 파일 시스템으로 포맷된 직렬 연결 SCSI 디스크 어댑터 및 디스크와 같은 저장 장치

OS는 서비스를 위한 물리적 및 논리적 장치를 식별하고 구성하며 일반적으로 Windows 레지스트리와 같은 표준화된 구조에 기록합니다. 장치 제조업체는 주기적으로 드라이버를 패치하고 업데이트하며, OS는 이를 업데이트하여 최적의 장치 성능과 보안을 보장해야 합니다. 장치가 교체되면 OS도 새 드라이버를 설치하고 구성합니다.

운영체제 유형 및 예

운영 체제의 기본 역할은 어디에나 있지만 다음을 포함하여 광범위한 하드웨어 및 사용자 요구 사항을 충족하는 수많은 운영 체제가 있습니다.

범용 운영체제

범용 OS는 다양한 하드웨어에서 다양한 애플리케이션을 실행할 수 있으므로 사용자는 하나 이상의 애플리케이션이나 작업을 동시에 실행할 수 있습니다. 범용 OS는 다양한 데스크탑 및 노트북 모델에 설치될 수 있으며 회계 시스템, 데이터베이스, 웹 브라우저, 게임에 이르는 애플리케이션을 실행할 수 있습니다. 범용 OS는 일반적으로 애플리케이션이 존재하는 광범위한 컴퓨팅 하드웨어를 안정적으로 공유할 수 있도록 프로세스나 스레드, 하드웨어 관리에 중점을 둡니다.

일반적인 데스크톱 운영 체제는 다음과 같습니다:

  • Microsoft의 주력 운영 체제인 Windows는 가정용 및 업무용 컴퓨터의 사실상 표준입니다. 1985년에 출시된 Microsoft Windows GUI 기반 OS는 이후 여러 버전으로 출시되었습니다. 사용자 친화적인 Windows 95는 개인용 컴퓨팅의 급속한 발전에 크게 기여했습니다.
  • Mac OS는 Apple의 PC 및 워크스테이션 제품군을 위한 운영 체제입니다.
  • Unix는 유연성과 적응성을 위해 설계된 다중 사용자 운영 체제입니다. 원래 1970년대에 개발된 Unix는 C 언어로 작성된 최초의 OS 중 하나였습니다.
  • Linux는 PC 사용자에게 무료 또는 저렴한 OS 대안을 제공하도록 설계된 오픈 소스 커뮤니티의 Unix 계열 운영 체제입니다. Linux는 효율적이고 빠른 성능의 OS로 정평이 나 있습니다.

모바일 운영체제

모바일 운영 컴퓨터 시스템은 스마트폰, 태블릿과 같은 모바일 컴퓨팅 및 통신 중심 장치용으로 설계되었습니다. 모바일 장치는 일반적으로 기존 PC에 비해 제한된 컴퓨팅 리소스를 제공하며, OS는 자체 리소스 사용을 최소화하는 동시에 장치에서 실행되는 하나 이상의 애플리케이션에 적절한 리소스를 보장하기 위해 크기와 복잡성을 줄여야 합니다. 모바일 운영 체제는 효율적인 성능, 사용자 응답성, 미디어 스트리밍 지원과 같은 데이터 처리 작업에 대한 세심한 주의를 강조하는 경향이 있습니다. Apple iOS와 Android는 모바일 운영체제의 예입니다.

임베디드 운영체제

모든 컴퓨팅 장치가 범용인 것은 아닙니다. 가정용 디지털 보조 장치, 현금 자동 입출금기, 비행기 시스템, 소매 POS 단말기, 사물 인터넷 장치 등 다양한 종류의 전용 장치는 보다 맞춤화되고 "축소화된" 운영 체제를 사용합니다. 내장형 OS와 범용 OS의 주요 차이점은 내장형 OS가 내장된 장치는 한 가지 주요 작업만 수행하므로 OS는 매우 단순하며 성능과 탄력성 모두에 전념한다는 것입니다. 임베디드 OS는 충돌 없이 빠르게 실행되어야 하며 모든 상황에서 계속 작동하려면 모든 오류를 우아하게 처리해야 합니다. 대부분의 경우 OS는 실제 장치에 통합된 칩으로 제공됩니다. 예를 들어, 환자의 생명 유지 장비에 사용되는 의료 기기는 환자의 생명을 유지하기 위해 안정적으로 실행되어야 하는 내장 OS를 사용합니다. 임베디드 Linux는 임베디드 OS의 한 예입니다.

네트워크 운영체제

네트워크 운영 체제(NOS)는 근거리 통신망에서 작동하는 장치 간의 통신을 용이하게 하기 위한 또 다른 특수 OS입니다. NOS는 네트워크 패킷을 생성, 교환 및 분해하기 위해 네트워크 프로토콜을 이해하는 데 필요한 통신 스택을 제공합니다. 오늘날에는 다른 OS가 네트워크 통신을 처리하기 때문에 특수 NOS의 개념은 거의 쓸모가 없습니다. 예를 들어 Windows 10 및 Windows Server 2019에는 포괄적인 네트워킹 기능이 포함되어 있습니다. NOS의 개념은 라우터, 스위치, 방화벽과 같은 일부 네트워킹 장치에 여전히 사용되고 있으며 제조업체는 Cisco Internetwork Operating System 및 MikroTik의 오픈 소스 NOS RouterOS를 포함한 독점 NOS를 사용합니다.

실시간 운영체제

컴퓨팅 장치가 일정하고 반복 가능한 시간 제약 내에서 현실 세계와 상호 작용해야 하는 경우 장치 제조업체는 RTOS(실시간 운영 체제)를 사용하도록 선택할 수 있습니다. 예를 들어, 산업 제어 시스템은 대규모 공장이나 발전소의 운영을 지시할 수 있습니다. 이러한 시설은 수많은 센서로부터 신호를 생성하고 신호를 보내 밸브, 액추에이터, 모터 및 수많은 기타 장치를 작동시킵니다. 이러한 상황에서 산업 제어 시스템은 변화하는 실제 조건에 신속하고 예측 가능하게 대응해야 합니다. 그렇지 않으면 재난이 발생할 수 있습니다. RTOS는 다른 유형의 운영 체제에서 완벽하게 허용되는 버퍼링, 처리 지연 및 기타 지연 없이 작동해야 합니다. RTOS의 예로는 FreeRTOS 및 Wind River VxWorks가 있습니다.

운영 체제 유형 간의 차이는 절대적이지 않으며 일부 OS는 다른 OS의 특성을 공유할 수 있습니다. 예를 들어, 범용 OS에는 기존 NOS에 있는 네트워킹 기능이 일상적으로 포함되어 있습니다. 마찬가지로, 임베디드 운영 체제에는 일반적으로 RTOS의 속성이 포함되어 있는 반면, 모바일 운영 체제는 일반적으로 다른 범용 OS와 마찬가지로 수많은 앱을 동시에 실행할 수 있습니다.

분산 운영 체제

네트워크에 설치된 분산 OS는 다수의 워크스테이션, 특히 상주 애플리케이션이나 데이터가 거의 또는 전혀 없는 씬 클라이언트 컴퓨터에 서비스를 제공할 수 있습니다. 여러 사용자가 이러한 대규모 분산 네트워크 서버에서 호스팅되는 응용 프로그램과 리소스에 액세스하고 공유하며, 이러한 서버의 OS는 여러 사용자 워크스테이션의 액세스 요청과 리소스 소비를 관리합니다. 분산 OS의 예로는 Microsoft Windows Server와 서버용 오픈 소스 Linux의 다양한 배포가 있습니다.

클러스터 운영 체제

클러스터 운영 체제는 단일 시스템에서 함께 작동하는 컴퓨터 클러스터를 실행하도록 설계된 OS입니다. 인공지능 처리는 데이터의 신속한 동시 병렬 처리가 필요하기 때문에 클러스터 컴퓨팅의 대표적인 예입니다. 중개 시스템과 같이 수천 개의 트랜잭션을 동시에 실시간으로 처리해야 하는 고성능 컴퓨팅 시스템은 클러스터 컴퓨팅의 또 다른 사용 사례입니다. Rocks Cluster Distribution과 오픈 소스 Open MPI는 클러스터 컴퓨팅 OS의 두 가지 예입니다.

계속 읽기 운영 체제(OS)란 무엇입니까?

  • 운영 체제 변경을 원하는 데이터 센터를 위한 조언
  • Windows 11이 마침내 출시될 준비가 되었나요?
  • 메인프레임 기술이 부족합니다. 외부인 대 내부인의 관점
  • Windows 11 업그레이드 프로젝트를 계획하는 방법
  • Windows 10의 지원 종료는 언제인가요? 지원 연장 방법