전제 조건: 운영 체제란 무엇입니까?
운영 체제는 파일, 프로세스 및 메모리 관리와 같은 모든 기본 작업을 수행합니다. 따라서 운영 체제는 모든 리소스의 관리자 역할을 합니다. 자원 관리자 . 따라서 운영 체제는 사용자와 기계 사이의 인터페이스가 됩니다. 이는 장치에 존재하는 가장 필요한 소프트웨어 중 하나입니다.
운영 체제는 시스템 프로그램과 하드웨어 간의 인터페이스 역할을 하는 소프트웨어 유형입니다. 아래에 언급된 여러 유형의 운영 체제가 있습니다. 그것들을 살펴보자.
이진 트리의 후위 순회
운영 체제 유형
아래에 언급된 여러 유형의 운영 체제가 있습니다.
- 배치 운영 체제
- 다중 프로그래밍 시스템
- 다중 처리 시스템
- 멀티 태스킹 운영 체제
- 시분할 운영 체제
- 분산 운영 체제
- 네트워크 운영 체제
- 실시간 운영 체제
1. 배치 운영 체제
이러한 유형의 운영 체제는 컴퓨터와 직접 상호 작용하지 않습니다. 동일한 요구 사항을 가진 유사한 작업을 일괄적으로 그룹화하는 운영자가 있습니다. 비슷한 요구 사항이 있는 작업을 분류하는 것은 운영자의 책임입니다.
배치 운영 체제
배치 운영 체제의 장점
- 여러 사용자가 배치 시스템을 공유할 수 있습니다.
- 배치 시스템의 유휴 시간은 매우 짧습니다.
- 일괄 시스템으로 대규모 작업을 반복적으로 관리하기 쉽습니다.
배치 운영 체제의 단점
- 컴퓨터 운영자는 배치 시스템에 대해 잘 알고 있어야 합니다.
- 배치 시스템은 디버그하기 어렵습니다.
- 때로는 비용이 많이 듭니다.
- 작업이 실패하면 다른 작업은 알 수 없는 시간 동안 기다려야 합니다.
- 일괄 운영 체제에서 작업 처리 시간은 일반적으로 대기열에 있는 동안 정확하게 예측하기 어렵습니다.
- 대기열에 있는 작업이 완료되는 데 필요한 정확한 시간을 정확하게 예측하는 것은 어렵습니다.
배치 운영 체제의 예: 급여 시스템, 은행 명세서 등
2. 다중 프로그래밍 운영 체제
다중 프로그래밍 운영 체제 하나 이상의 프로그램이 주 메모리에 존재하고 그 중 하나가 계속 실행될 수 있다는 것을 간단히 설명할 수 있습니다. 이는 기본적으로 더 나은 리소스 실행을 위해 사용됩니다.
멀티프로그래밍
다중 프로그래밍 운영 체제의 장점
- 다중 프로그래밍은 시스템의 처리량을 증가시킵니다.
- 응답 시간을 줄이는 데 도움이 됩니다.
다중 프로그래밍 운영 체제의 단점
- 시스템 리소스와 시스템의 사용자 상호 작용을 위한 기능은 없습니다.
3. 다중 처리 운영 체제
다중 처리 운영 체제 리소스 실행을 위해 둘 이상의 CPU를 사용하는 운영 체제 유형입니다. 이는 시스템의 처리량을 향상시킵니다.
다중 처리
다중 처리 운영체제의 장점
- 이는 시스템의 처리량을 증가시킵니다.
- 여러 개의 프로세서가 있으므로 하나의 프로세서가 실패하면 다른 프로세서로 진행할 수 있습니다.
다중 처리 운영 체제의 단점
안드로이드에서 게임피전을 플레이할 수 있나요?
- 다중 CPU로 인해 더 복잡하고 이해하기 어려울 수 있습니다.
4. 멀티태스킹 운영체제
멀티태스킹 운영 체제는 단순히 라운드 로빈 스케줄링 알고리즘 기능을 갖춘 다중 프로그래밍 운영 체제입니다. 여러 프로그램을 동시에 실행할 수 있습니다.
멀티 태스킹 시스템에는 다음과 같은 두 가지 유형이 있습니다.
- 선제적 멀티 태스킹
- 협동적인 멀티 태스킹
멀티태스킹
멀티 태스킹 운영 체제의 장점
이런, 자바에서
- 멀티 태스킹 운영 체제에서는 여러 프로그램을 동시에 실행할 수 있습니다.
- 적절한 메모리 관리가 제공됩니다.
멀티 태스킹 운영 체제의 단점
- 무거운 프로그램을 여러 번 실행하는 경우 시스템이 과열됩니다.
5. 시분할 운영 체제
각 작업에는 모든 작업이 원활하게 수행될 수 있도록 실행하는 데 약간의 시간이 주어집니다. 각 사용자는 단일 시스템을 사용하면서 CPU의 시간을 얻습니다. 이러한 시스템은 멀티태스킹 시스템이라고도 합니다. 작업은 단일 사용자가 수행할 수도 있고 다른 사용자가 수행할 수도 있습니다. 각 작업이 실행되는 데 걸리는 시간을 퀀텀이라고 합니다. 이 시간 간격이 끝나면 OS는 다음 작업으로 전환됩니다.

시간 공유 OS
시간 공유 OS의 장점
- 각 작업에는 동등한 기회가 부여됩니다.
- 소프트웨어 복제 가능성이 적습니다.
- CPU 유휴 시간을 줄일 수 있습니다.
- 리소스 공유: 시간 공유 시스템을 사용하면 여러 사용자가 CPU, 메모리, 주변 장치와 같은 하드웨어 리소스를 공유하여 하드웨어 비용을 줄이고 효율성을 높일 수 있습니다.
- 생산성 향상: 시간 공유를 통해 사용자는 동시에 작업할 수 있으므로 컴퓨터 사용 차례를 기다리는 시간이 줄어듭니다. 이렇게 생산성이 향상되면 더 짧은 시간에 더 많은 작업을 완료할 수 있습니다.
- 향상된 사용자 경험: 시간 공유는 사용자가 컴퓨터와 실시간으로 통신할 수 있는 대화형 환경을 제공하여 일괄 처리보다 더 나은 사용자 경험을 제공합니다.
시간 공유 OS의 단점
- 신뢰성 문제.
- 사용자 프로그램과 데이터의 보안과 무결성을 관리해야 합니다.
- 데이터 통신 문제.
- 높은 오버헤드: 시간 공유 시스템은 스케줄링, 컨텍스트 전환 및 여러 사용자 지원에 따른 기타 오버헤드가 필요하기 때문에 다른 운영 체제보다 오버헤드가 높습니다.
- 복잡성: 시간 공유 시스템은 복잡하며 여러 사용자를 동시에 관리하려면 고급 소프트웨어가 필요합니다. 이러한 복잡성으로 인해 버그와 오류가 발생할 가능성이 높아집니다.
- 보안 위험: 여러 사용자가 리소스를 공유하면 보안 위반 위험이 높아집니다. 시간 공유 시스템에서는 데이터와 소프트웨어의 보안을 보장하기 위해 사용자 액세스, 인증 및 권한 부여를 신중하게 관리해야 합니다.
설명이 포함된 시간 공유 OS의 예
- IBM VM/CMS : IBM VM/CMS는 1972년에 처음 출시된 시분할 운영 체제입니다. 오늘날에도 여전히 사용되고 있으며, 여러 사용자가 자신의 운영 체제 및 애플리케이션 인스턴스를 실행할 수 있는 가상 머신 환경을 제공합니다.
- TSO(시간 공유 옵션) : TSO는 1960년대 IBM이 IBM System/360 메인프레임 컴퓨터용으로 처음 도입한 시분할 운영 체제입니다. 이를 통해 여러 사용자가 동일한 컴퓨터에 동시에 액세스하여 자신의 응용 프로그램을 실행할 수 있었습니다.
- Windows 터미널 서비스 : Windows 터미널 서비스는 여러 사용자가 원격으로 Windows 서버에 액세스할 수 있도록 하는 시분할 운영 체제입니다. 사용자는 자신의 애플리케이션을 실행하고 프린터, 네트워크 스토리지 등의 공유 리소스에 실시간으로 액세스할 수 있습니다.
6. 분산운영체제
이러한 유형의 운영 체제는 컴퓨터 기술 분야에서 최근 발전한 것이며 전 세계적으로도 빠른 속도로 널리 받아들여지고 있습니다. 자율적으로 상호 연결된 다양한 컴퓨터는 공유 통신 네트워크를 사용하여 서로 통신합니다. 독립 시스템은 자체 메모리 유닛과 CPU를 보유합니다. 이들은 다음과 같이 불립니다. 느슨하게 결합된 시스템 또는 분산 시스템 . 이러한 시스템의 프로세서는 크기와 기능이 다릅니다. 이러한 유형의 운영 체제를 사용하여 작업할 때의 주요 이점은 한 사용자가 자신의 시스템에는 실제로 존재하지 않지만 이 네트워크 내에 연결된 다른 시스템에 액세스할 수 있는 파일이나 소프트웨어에 항상 액세스할 수 있다는 것입니다. 즉, 원격 액세스가 네트워크 내에서 활성화됩니다. 해당 네트워크에 연결된 장치.
분산 OS
분산 운영 체제의 장점
- 모든 시스템은 서로 독립적이므로 하나의 오류가 다른 네트워크 통신에 영향을 미치지 않습니다.
- 전자 메일은 데이터 교환 속도를 높입니다.
- 리소스가 공유되기 때문에 계산 속도와 내구성이 매우 뛰어납니다.
- 호스트 컴퓨터의 부하가 줄어듭니다.
- 이러한 시스템은 많은 시스템을 네트워크에 쉽게 추가할 수 있으므로 쉽게 확장할 수 있습니다.
- 데이터 처리 지연이 줄어듭니다.
분산 운영 체제의 단점
- 메인 네트워크에 장애가 발생하면 전체 통신이 중단됩니다.
- 분산 시스템을 구축하기 위해 아직 잘 정의되지 않은 언어가 사용됩니다.
- 이러한 유형의 시스템은 가격이 매우 높기 때문에 쉽게 사용할 수 없습니다. 기본 소프트웨어가 매우 복잡하고 아직 잘 이해되지 않았을 뿐만 아니라.
분산 운영 체제의 예는 다음과 같습니다. LOCUS 등
분산 OS는 다음 문제를 해결해야 합니다.
- 네트워킹은 분산 시스템의 노드 간 데이터 전송을 지연시킵니다. 이러한 지연으로 인해 서로 다른 노드에 있는 데이터가 일관되지 않게 표시될 수 있으며 시스템에서 이벤트가 발생한 시간순을 파악하기 어려울 수 있습니다.
- 컴퓨터나 네트워킹 구성 요소에 오류가 발생할 경우 계산 속도를 높이고 안정적인 작동을 제공하려면 스케줄링, 리소스 할당 및 교착 상태 감지와 같은 제어 기능을 여러 노드에서 수행해야 합니다.
- 서로 다른 노드에 있는 프로세스에 의해 교환되는 메시지는 공용 네트워크를 통해 이동하고 분산 운영 체제에 의해 제어되지 않는 컴퓨터 시스템을 통과할 수 있습니다. 침입자는 이 기능을 악용하여 메시지를 변조하거나 가짜 메시지를 만들어 인증 절차를 속이고 시스템 사용자로 가장할 수 있습니다.
7. 네트워크 운영 체제
이러한 시스템은 서버에서 실행되며 데이터, 사용자, 그룹, 보안, 애플리케이션 및 기타 네트워킹 기능을 관리하는 기능을 제공합니다. 이러한 유형의 운영 체제를 사용하면 소규모 개인 네트워크를 통해 파일, 프린터, 보안, 응용 프로그램 및 기타 네트워킹 기능에 대한 공유 액세스가 가능합니다. 네트워크 운영 체제의 또 다른 중요한 측면은 모든 사용자가 네트워크 내의 다른 모든 사용자의 기본 구성, 개별 연결 등을 잘 알고 있다는 것입니다. 이것이 바로 이러한 컴퓨터가 널리 알려진 이유입니다. 긴밀하게 결합된 시스템 .
네트워크 운영 체제
kmp 알고리즘
네트워크 운영체제의 장점
- 매우 안정적인 중앙 집중식 서버.
- 보안 문제는 서버를 통해 처리됩니다.
- 새로운 기술과 하드웨어 업그레이드가 시스템에 쉽게 통합됩니다.
- 다양한 위치와 유형의 시스템에서 원격으로 서버에 액세스할 수 있습니다.
네트워크 운영체제의 단점
- 서버는 비용이 많이 듭니다.
- 사용자는 대부분의 작업을 중앙 위치에 의존해야 합니다.
- 정기적인 유지 관리 및 업데이트가 필요합니다.
네트워크 운영 체제의 예는 다음과 같습니다. Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, BSD 등
8. 실시간 운영체제
이러한 유형의 OS는 실시간 시스템을 제공합니다. 입력을 처리하고 응답하는 데 필요한 시간 간격은 매우 작습니다. 이 시간 간격을 응답 시간 .
실시간 시스템 미사일 시스템, 항공 교통 관제 시스템, 로봇 등과 같이 매우 엄격한 시간 요구 사항이 있는 경우에 사용됩니다.
부울을 문자열로 변환
실시간 운영 체제의 유형
- 하드 실시간 시스템:
하드 실시간 OS는 시간 제약이 매우 엄격하고 가능한 가장 짧은 지연도 허용되지 않는 애플리케이션을 위한 것입니다. 이러한 시스템은 사고 발생 시 즉시 사용할 수 있어야 하는 자동 낙하산이나 에어백과 같은 생명을 구하기 위해 제작되었습니다. 가상 메모리는 이러한 시스템에서 거의 발견되지 않습니다. - 소프트 실시간 시스템:
이러한 OS는 시간 제약이 덜 엄격한 애플리케이션용입니다.
자세한 내용은 다음을 참조하세요. 하드 실시간 OS와 소프트 실시간 OS의 차이점 .
실시간 운영 체제
RTOS의 장점
- 최대 소비: 장치와 시스템을 최대한 활용하여 모든 리소스에서 더 많은 결과를 얻을 수 있습니다.
- 작업 전환: 이러한 시스템에서는 작업 이동에 할당되는 시간이 매우 적습니다. 예를 들어, 이전 시스템에서는 한 작업에서 다른 작업으로 이동하는 데 약 10마이크로초가 걸렸고, 최신 시스템에서는 3마이크로초가 걸립니다.
- 적용에 중점을 둡니다: 애플리케이션 실행에 집중하고 대기열에 있는 애플리케이션의 중요성은 줄입니다.
- 실시간 운영 체제 그만큼 임베디드 시스템: 프로그램의 크기가 작기 때문에 RTOS는 전송 등의 임베디드 시스템에도 사용할 수 있습니다.
- 오류 없음: 이러한 유형의 시스템에는 오류가 없습니다.
- 메모리 할당: 메모리 할당은 이러한 유형의 시스템에서 가장 잘 관리됩니다.
RTOS의 단점
- 제한된 작업: 동시에 실행되는 작업은 거의 없으며 오류를 피하기 위해 몇 가지 응용 프로그램에 대한 집중도가 매우 낮습니다.
- 과도한 시스템 리소스 사용: 때로는 시스템 리소스가 좋지 않고 비용도 많이 듭니다.
- 복잡한 알고리즘: 알고리즘은 디자이너가 작성하기에는 매우 복잡하고 어렵습니다.
- 장치 드라이버 및 인터럽트 신호: 인터럽트에 가장 먼저 응답하려면 특정 장치 드라이버와 인터럽트 신호가 필요합니다.
- 스레드 우선순위: 이러한 시스템은 작업 전환 가능성이 매우 낮기 때문에 스레드 우선 순위를 설정하는 것은 좋지 않습니다.
실시간 운영 체제의 예는 다음과 같습니다. 과학실험, 의료영상시스템, 산업제어시스템, 무기시스템, 로봇, 항공교통관제시스템 등