운영체제는 컴퓨터 하드웨어와 함께 탄생한 것이 아니라 컴퓨터 기술 자체와 함께 자원 활용도 향상과 컴퓨터 시스템 성능 향상이라는 두 가지 주요 요구를 충족시키기 위해 컴퓨터를 사용하는 과정에서 개발되었습니다. 응용 프로그램의 개발이 증가함에 따라 점차적으로 형성되고 완성되었습니다. 기본 소개 중국어 이름: 운영 체제 개발 역사 1단계: 수동 작업 2단계: 일괄 처리 시스템 3단계: 온라인 일괄 처리 시스템 수동 작업, 일괄 처리 시스템, 다중 프로그래밍 시스템, 시분할 시스템, 실시간 시스템, 일반 운영 체제 , 시스템 개발, 수동 조작 최초의 컴퓨터는 1946년에 탄생했습니다. 1950년대 중반에는 운영체제가 아직 등장하지 않았고 컴퓨터 작업은 수동 조작에 의존했습니다. 프로그래머는 프로그램과 데이터에 해당하는 천공 종이 테이프(또는 카드)를 입력 기계에 넣은 다음 입력 기계를 시작하여 프로그램과 데이터를 컴퓨터 메모리에 입력한 다음 프로그램을 시작하여 데이터를 통해 실행합니다. 콘솔 스위치; 계산이 완료되면 프린터는 계산 결과를 출력합니다. 사용자가 결과를 가져오고 종이 테이프(또는 카드)를 제거하면 다음 사용자가 기계에 탑승할 수 있습니다. 수동운전 수동운전에는 두 가지 특징이 있습니다. (1) 사용자는 기계 전체를 독점적으로 소유합니다. 다른 사용자가 리소스를 점유하고 있기 때문에 대기 시간은 없지만 리소스 활용도가 낮습니다. (2) CPU는 수동운전을 기다립니다. CPU가 완전히 활용되지 않습니다. 1950년대 후반, 인간과 기계 사이의 모순이 나타났습니다. 수동 작업의 느린 속도와 컴퓨터의 빠른 속도 사이에 형성된 급격한 모순은 시스템 자원 활용도를 심각하게 손상시켰습니다(자원 활용도가 100%로 감소). ) 여러 개 또는 그 이하)은 용납될 수 없습니다. 유일한 해결책은 수동 작업을 없애고 작업의 자동 전환을 실현하는 것입니다. 이것이 일괄 처리가 발생하는 방식입니다. 일괄 처리 시스템 일괄 처리 시스템: 컴퓨터에 로드된 시스템 소프트웨어로, 컴퓨터는 제어 하에 한 명 이상의 사용자의 작업(이 작업에는 프로그램, 데이터 및 명령이 포함됨)을 자동으로 일괄 처리할 수 있습니다. 온라인 일괄처리 시스템 가장 먼저 등장한 것은 온라인 일괄처리 시스템, 즉 작업의 입출력을 CPU에서 처리하는 시스템이었다. 호스트 컴퓨터와 입력 기계 사이에 저장 장치인 테이프가 추가됩니다. 호스트 컴퓨터에서 실행되는 감독 프로그램의 자동 제어에 따라 컴퓨터는 입력 기계의 사용자 작업을 테이프로 읽는 작업을 자동으로 완료할 수 있습니다. 테이프에 있는 사용자 작업을 순차적으로 읽어 들입니다. 사용자 작업은 호스트 메모리로 읽어 들여 실행되며, 계산 결과는 출력 시스템으로 출력됩니다. 이전 작업 배치를 완료한 후 감독 프로그램은 입력 기계에서 다른 작업 배치를 입력하고 이를 테이프에 저장한 후 위 단계를 반복합니다. 감독 프로그램은 각 작업을 지속적으로 처리하여 작업 간 자동 이전을 실현하고 작업 생성 시간과 수동 작업 시간을 줄이며 인간과 기계 간의 갈등을 효과적으로 극복하고 컴퓨터 활용도를 향상시킵니다. 그러나 작업이 입력되고 결과가 출력될 때 호스트의 고속 CPU는 여전히 유휴 상태이며 느린 입출력 장치가 작업을 완료하기를 기다리고 있습니다. 호스트는 "busy wait" 상태입니다. 오프라인 일괄 처리 시스템 고속 호스트와 느린 주변 장치 간의 모순을 극복 및 완화하고 CPU 활용도를 향상시키기 위해 입출력이 호스트 제어와 분리되는 오프라인 일괄 처리 시스템이 도입되었습니다. 이 접근 방식의 두드러진 특징은 호스트 컴퓨터에 직접 연결되지 않지만 특히 입/출력 장치를 처리하는 데 사용되는 위성 시스템을 추가한다는 것입니다. 그 기능은 다음과 같습니다. (1) 입력 기계에서 사용자 작업을 읽고 입력 테이프에 넣습니다. (2) 출력 테이프에서 실행 결과를 읽고 이를 출력 기계에 전달합니다. 이런 방식으로 호스트는 느린 입/출력 장치를 직접 처리하지 않고 상대적으로 빠른 테이프 드라이브를 처리하므로 호스트와 장치 간의 충돌을 효과적으로 완화할 수 있습니다. 호스트 컴퓨터와 위성 컴퓨터는 병렬로 작동할 수 있으며 둘 사이의 명확한 업무 분담을 통해 호스트 컴퓨터의 고속 컴퓨팅 성능을 최대한 활용할 수 있습니다. 오프라인 배치 처리 시스템: 1960년대에 널리 사용되었으며, 인간과 기계 사이의 충돌은 물론 호스트와 주변 장치 사이의 충돌도 크게 완화되었습니다. IBM-7090/7094: 탑재된 감독 프로그램은 현대 운영 체제의 프로토타입인 오프라인 일괄 처리 시스템입니다. 단점: 호스트 메모리에 하나의 작업만 저장될 때마다 작업 중에 입출력(I/O) 요청을 발행할 때마다 고속 CPU는 저속 I/O가 완료되기를 기다리고 있습니다. CPU를 유휴 상태로 만듭니다. CPU 활용도를 높이기 위해 다중 프로그래밍 시스템이 도입되었습니다. 멀티프로그래밍 시스템 멀티프로그래밍 기술 소위 멀티프로그래밍 기술은 여러 프로그램이 메모리에 동시에 들어가 실행되도록 하는 것을 의미합니다. 즉, 여러 프로그램이 동시에 메모리에 저장되고 CPU에서 교대로 실행될 수 있습니다. 이들은 시스템의 다양한 하드웨어 및 소프트웨어 리소스를 공유합니다. I/O 요청으로 인해 프로그램이 일시 중지되면 CPU는 즉시 다른 프로그램 실행으로 전환합니다. 단일 프로그램의 실행 프로세스: 프로그램 A가 계산 중일 때 I/O는 유휴 상태입니다. 프로그램 A가 I/O를 실행할 때 CPU는 유휴 상태입니다(프로그램 B의 경우에도 마찬가지입니다). 완료되면 B가 메모리에 들어가서 작업을 시작할 수 있습니까? 두 개가 직렬로 이루어지며 모두 완료하는 데 걸리는 시간은 = T1 + T2입니다.
? 다중 프로그램의 실행 프로세스: 두 개의 프로그램 A와 B를 동시에 메모리에 저장합니다. 시스템의 제어 하에 두 프로그램은 서로 분산되어 CPU에서 교대로 실행될 수 있습니다. O 작업, CPU가 포기되면 프로그램 B가 CPU를 점유하여 실행될 수 있으므로 CPU는 더 이상 유휴 상태가 아니며 A I/O 작업을 수행하는 I/O 장치도 유휴 상태가 아닙니다. CPU 및 I/O 장치는 "사용 중" 상태이며 이는 CPU에 큰 영향을 미치므로 리소스 활용도가 향상되므로 A와 B를 완료하는 데 필요한 시간이 < 결과적으로 실시간 시스템이 생성됩니다. 즉, 시스템은 임의의 외부 이벤트에 적시에 응답하고 엄격한 시간 범위 내에 이벤트 처리를 완료할 수 있습니다. 실시간 시스템은 특정 애플리케이션에서 제어 장치로 사용되는 경우가 많습니다. 실시간 시스템은 두 가지 범주로 나눌 수 있습니다. (1) 실시간 제어 시스템. 항공기 비행, 미사일 발사 등의 자동 제어에 사용될 때 컴퓨터는 측정 시스템에서 측정된 데이터를 가능한 한 빨리 처리하고 항공기 또는 미사일을 적시에 제어하거나 관련 정보를 결정에 제공해야 합니다. 제조사는 디스플레이 단말기를 통해 철강 압연, 석유화학 등 산업 생산 공정을 제어하는 데에도 컴퓨터가 사용될 경우 다양한 센서에서 전송되는 데이터를 적시에 처리한 후 해당 액추에이터를 제어해야 합니다. (2) 실시간 정보처리 시스템. 항공권 예약, 항공편, 경로, 요금 등에 대한 문의, 은행 시스템 또는 정보 검색 시스템에 사용될 때 컴퓨터는 단말 장치에서 보낸 서비스 요청에 신속하고 정확하게 응답해야 합니다. 이 유형은 첫 번째 유형보다 응답 적시성에 대한 요구 사항이 약간 약합니다. 실시간 운영 체제의 주요 특징: (1) 적시 응답. 정보 수신, 분석, 처리 및 전송의 모든 프로세스는 엄격한 시간 제한 내에 완료되어야 합니다. (2) 높은 신뢰성. 필요한 기밀 유지 조치를 포함하여 이중 시스템 시스템 프런트엔드 및 백엔드 작업과 같은 중복 조치를 취해야 합니다. 일반 운영 체제 운영 체제에는 다중 채널 일괄 처리 시스템, 시분할 시스템, 실시간 시스템의 세 가지 기본 유형이 있습니다. 일반 운영 체제: 여러 유형의 운영 특성을 가진 운영 체제입니다. 다중 채널 일괄 처리, 시분할, 실시간 처리 또는 그 중 두 가지 이상의 기능을 가질 수 있습니다. 예: 실시간 처리 + 일괄 처리 = 실시간 일괄 처리 시스템. 먼저, 실시간 작업을 먼저 처리하고, 시간이 없는 경우 일괄 처리 작업을 수행하도록 합니다. 실시간 작업을 포그라운드 작업이라고 하고, 배치 작업을 백그라운드 작업이라고 합니다. 또 다른 예: 시분할 처리 + 일괄 처리 = 시분할 일괄 처리 시스템. 즉, 강력한 시간 요구 사항이 없는 작업은 "백그라운드"(일괄 처리)에서 처리되고, 빈번한 상호 작용이 필요한 작업은 "포그라운드"(시간 공유)에서 처리되며, 프로세서는 " 전경" 작업. 1960년대 중반부터 국제 사회에서는 대규모 범용 운영체제를 개발하기 시작했습니다. 이러한 시스템은 다양한 응용 범위와 운영 방법을 사용하여 다양한 환경에 완벽하게 기능하고 적응할 수 있도록 노력합니다. 그러나 이러한 시스템은 너무 복잡하고 규모가 커서 막대한 비용을 지불할 뿐만 아니라 신뢰성, 유지 관리성 및 이해성을 해결하는 데 큰 어려움을 겪습니다. 이에 비해 UNIX 운영 체제는 예외입니다. 이것은 일반적인 다중 사용자 시간 공유 대화형 운영 체제입니다. 처음에는 린 코어를 구축했지만 그 기능은 많은 대규모 운영 체제와 비슷하며, 코어 계층을 넘어 거대한 소프트웨어 시스템을 지원할 수 있습니다. 이는 빠르게 적용되고 승격되었으며 지속적으로 개선되어 최신 운영 체제에 큰 영향을 미쳤습니다. 이 시점에서 운영 체제의 기본 개념, 기능, 기본 구조 및 구성이 형성되고 점차 개선되었습니다. 시스템 개발 1980년대 대규모 집적회로 기술의 급속한 발전과 마이크로프로세서의 출현 및 발전은 컴퓨터의 대대적인 발전과 대중화의 물결을 일으켰다. 한편으로는 개인용 컴퓨터 시대를 열었고 동시에 컴퓨터 네트워크, 분산 처리, 슈퍼컴퓨터 및 지능으로 발전했습니다. 이에 따라 개인용 컴퓨터 운영체제, 네트워크 운영체제, 분산 운영체제 등 운영체제가 더욱 발전해 왔다. 개인용 컴퓨터 운영 체제 개인용 컴퓨터의 운영 체제는 온라인으로 상호 작용하는 단일 사용자 운영 체제로, 범용 시분할 시스템에서 제공하는 것과 매우 유사한 온라인 상호 작용 기능을 제공합니다. 개인적인 것이기 때문에 일부 기능은 훨씬 간단합니다. 그러나 개인용 컴퓨터의 보급으로 인해 보다 편리하고 친숙한 사용자 인터페이스와 풍부한 기능을 제공하는 파일 시스템에 대한 요구가 점점 더 시급해질 것입니다. 네트워크 운영 체제 컴퓨터 네트워크: 지리적으로 분산된 여러 컴퓨터 시스템을 통신 시설을 통해 자율 기능으로 상호 연결하여 정보 교환, 자원 공유, 상호 운용성 및 협업 처리를 실현하는 시스템입니다. 네트워크 운영 체제: 원래의 해당 컴퓨터 운영 체제에는 통신, 리소스 공유, 시스템 보안 및 다양한 네트워크 응용 프로그램 서비스를 포함하여 네트워크 아키텍처의 다양한 프로토콜 표준에 따라 네트워크 관리 모듈이 추가됩니다. 분산 운영 체제 표면적으로는 분산 시스템과 컴퓨터 네트워크 시스템 사이에 큰 차이가 없습니다. 분산 운영 체제는 지리적으로 분산된 데이터 처리 시스템이나 자율 기능을 갖춘 컴퓨터 시스템을 통신 네트워크를 통해 상호 연결하여 정보 교환 및 리소스 공유를 실현하고 협업하여 작업을 완료합니다. --하드웨어 연결은 동일합니다. 그러나 다음과 같은 몇 가지 명백한 차이점이 있습니다. (1) 분산 시스템에서는 시스템 운영의 통일성을 달성하기 위해 통합된 운영 체제가 필요합니다. (2) 분산 운영체제는 분산 시스템의 모든 자원을 관리하며, 전체 시스템의 자원 할당 및 스케줄링, 작업 분할, 정보 전송 및 제어 조정을 담당하며 사용자에게 통일된 인터페이스를 제공합니다. (3) 사용자는 이 인터페이스를 통해 필요한 작업을 구현하고 시스템 리소스를 사용합니다. 작업을 수행할 컴퓨터 또는 사용할 컴퓨터 리소스는 운영 체제에 의해 완료되며 사용자는 필요하지 않습니다. 이름: 시스템 투명성. (4) 분산 시스템은 분산 컴퓨팅 및 처리에 더 중점을 두기 때문에 다중 기계 협력 및 시스템 재구성, 견고성 및 내결함성에 대한 요구 사항이 더 높습니다. 우리는 시스템이 더 짧은 응답 시간, 높은 처리량 및 높은 신뢰성을 갖기를 바랍니다. .