운영 체제 개발 역사에 대한 자세한 정보를 모두 제공합니다.
운영체제는 컴퓨터 하드웨어와 함께 탄생한 것이 아니라 컴퓨터 기술 자체와 함께 자원 활용도 향상과 컴퓨터 시스템 성능 향상이라는 두 가지 주요 요구를 충족시키기 위해 컴퓨터를 사용하는 과정에서 개발되었습니다. 응용 프로그램의 개발이 증가함에 따라 점차적으로 형성되고 완성되었습니다. 기본 소개 중국어 이름: 운영 체제 개발 역사 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를 완료하는 데 필요한 시간도 향상됩니다. T1 T2. 다중 프로그래밍 기술은 CPU를 최대한 활용할 뿐만 아니라 I/O 장치 및 메모리의 활용도를 향상시켜 전체 시스템의 리소스 활용도와 시스템 처리량(단위 시간당 처리 작업(프로그램) 수)을 향상시킵니다. ), 궁극적으로 전체 시스템의 효율성을 향상시킵니다. 단일 프로세서 시스템에서 실행되는 다중 프로그램의 특징: (1) 다중 프로그램: 여러 개의 독립적인 프로그램이 동시에 컴퓨터 메모리에 저장됩니다. (2) 거시적 병렬성: 여러 프로그램이 동시에 시스템에 입력됩니다. 모두 실행 중입니다. 즉, 실행이 차례로 시작되었지만 실행이 완료되지 않았습니다. (3) 미세한 직렬화: 실제로 각 프로그램은 CPU를 차례로 사용하고 교대로 실행됩니다. 다중 프로그래밍 시스템의 출현은 운영 체제가 더욱 성숙해지는 단계를 의미합니다. 작업 스케줄링 관리, 프로세서 관리, 메모리 관리, 외부 장치 관리, 파일 시스템 관리 등의 기능이 차례로 등장했습니다. 다채널 일괄 처리 시스템 1960년대 중반, 앞서 언급한 일괄 처리 시스템에 다채널 프로그래밍 기술이 도입되어 다채널 일괄 처리 시스템(이하: 일괄 처리 시스템이라고도 함)을 형성했습니다. 여기에는 두 가지 특성이 있습니다. (1) 다중 채널: 시스템은 동시에 여러 작업을 수용할 수 있습니다. 이러한 작업은 외부 저장소에 배치되어 백업 대기열을 형성합니다. 시스템은 백업 작업 대기열에서 하나 이상의 작업을 선택하고 특정 예약 원칙에 따라 작업을 위해 메모리에 입력됩니다. 작업에 들어갑니다. 시스템에 의해 자동으로 구현되므로 시스템에서 자동으로 전송되고 지속적인 워크플로우가 형성됩니다. (2) 일괄 처리: 시스템이 작동하는 동안 사용자는 자신의 작업과 상호 작용할 수 없습니다. 즉, 작업이 시스템에 들어가면 사용자는 작업 실행에 직접 개입할 수 없습니다. 일괄 처리 시스템의 목표는 시스템 자원 활용도와 시스템 처리량을 향상하고 작업 프로세스를 자동화하는 것입니다. 일괄 처리 시스템의 중요한 단점은 인간-컴퓨터 상호 작용 기능을 제공하지 않아 사용자가 컴퓨터를 사용할 때 불편을 초래한다는 것입니다. 사용자는 전체 시스템 리소스를 독점적으로 소유하고 프로그램 실행을 직접 제어하지만 언제든지 프로그램의 실행 상태를 이해할 수 있습니다. 그러나 이러한 작업 방식은 기계 전체를 독점하게 되어 자원 효율성이 매우 낮습니다. ? 새로운 추구 목표: 컴퓨터 효율성을 보장할 뿐만 아니라 사용자가 컴퓨터를 편리하게 사용할 수 있도록 하는 것입니다. 1960년대 중반 컴퓨터 기술과 소프트웨어 기술의 발달로 이러한 추구가 가능해졌다. ? 시분할 시스템 CPU 속도의 지속적인 향상과 시분할 기술의 사용으로 인해 한 대의 컴퓨터가 여러 사용자 단말기에 동시에 연결될 수 있으며, 각 사용자는 자신의 단말기에서 온라인으로 컴퓨터를 사용할 수 있습니다. 그가 기계를 독점적으로 소유하고 있다면. 시간 공유 기술: 프로세서의 실행 시간을 짧은 시간 조각으로 나누고 시간 조각에 따라 프로세서를 각 온라인 작업에 차례로 할당합니다.
1960년대 중반부터 국제 사회에서는 대규모 범용 운영체제를 개발하기 시작했습니다. 이러한 시스템은 다양한 애플리케이션 범위와 운영 방법을 통해 다양한 환경에 완벽하게 기능하고 적응할 수 있도록 노력합니다. 그러나 이러한 시스템은 너무 복잡하고 규모가 커서 막대한 비용을 지불할 뿐만 아니라 신뢰성, 유지 관리성 및 이해성을 해결하는 데 큰 어려움을 겪습니다. 이에 비해 UNIX 운영 체제는 예외입니다. 이것은 일반적인 다중 사용자 시간 공유 대화형 운영 체제입니다. 처음에는 린 코어를 구축했지만 그 기능은 많은 대규모 운영 체제와 비슷하며, 코어 계층을 넘어 거대한 소프트웨어 시스템을 지원할 수 있습니다. 이는 빠르게 적용되고 승격되었으며 지속적으로 개선되어 최신 운영 체제에 큰 영향을 미쳤습니다. 이 시점에서 운영 체제의 기본 개념, 기능, 기본 구조 및 구성이 형성되고 점차 개선되었습니다. 시스템 개발 1980년대 대규모 집적회로 기술의 급속한 발전과 마이크로프로세서의 출현 및 발전은 컴퓨터의 대대적인 발전과 대중화의 물결을 일으켰다. 한편으로는 개인용 컴퓨터 시대를 열었고 동시에 컴퓨터 네트워크, 분산 처리, 슈퍼컴퓨터 및 지능으로 발전했습니다. 그 결과 개인용 컴퓨터 운영체제, 네트워크 운영체제, 분산 운영체제 등 운영체제가 더욱 발전해 왔다. 개인용 컴퓨터 운영 체제 개인용 컴퓨터의 운영 체제는 온라인에서 대화형으로 작동하는 단일 사용자 운영 체제로, 범용 시분할 시스템에서 제공하는 것과 매우 유사한 온라인 대화형 기능을 제공합니다. 개인용이므로 일부 기능은 훨씬 간단해집니다. 그러나 개인용 컴퓨터의 보급으로 인해 보다 편리하고 친숙한 사용자 인터페이스와 풍부한 기능을 제공하는 파일 시스템에 대한 요구가 점점 더 시급해질 것입니다. 네트워크 운영 체제 컴퓨터 네트워크: 지리적으로 분산된 여러 컴퓨터 시스템을 통신 시설을 통해 자율 기능으로 상호 연결하여 정보 교환, 자원 공유, 상호 운용성 및 협업 처리를 실현하는 시스템입니다. 네트워크 운영 체제: 원래의 해당 컴퓨터 운영 체제에는 통신, 리소스 공유, 시스템 보안 및 다양한 네트워크 응용 프로그램 서비스를 포함하여 네트워크 아키텍처의 다양한 프로토콜 표준에 따라 네트워크 관리 모듈이 추가됩니다. 분산 운영 체제 표면적으로는 분산 시스템과 컴퓨터 네트워크 시스템 사이에 큰 차이가 없습니다. 분산 운영 체제는 지리적으로 분산된 데이터 처리 시스템이나 자율 기능을 갖춘 컴퓨터 시스템을 통신 네트워크를 통해 상호 연결하여 정보 교환 및 리소스 공유를 실현하고 협업하여 작업을 완료합니다. --하드웨어 연결은 동일합니다. 그러나 다음과 같은 몇 가지 명백한 차이점이 있습니다. (1) 분산 시스템에서는 시스템 운영의 통일성을 달성하기 위해 통합된 운영 체제가 필요합니다. (2) 분산 운영체제는 분산 시스템의 모든 자원을 관리하며, 전체 시스템의 자원 할당 및 스케줄링, 작업 분할, 정보 전송 및 제어 조정을 담당하며 사용자에게 통일된 인터페이스를 제공합니다. (3) 사용자는 이 인터페이스를 통해 필요한 작업을 구현하고 시스템 리소스를 사용합니다. 작업을 수행할 컴퓨터 또는 사용할 컴퓨터 리소스는 운영 체제에 의해 완료되며 사용자는 필요하지 않습니다. 이름: 시스템 투명성. (4) 분산 시스템은 분산 컴퓨팅 및 처리에 더 중점을 두기 때문에 다중 기계 협력 및 시스템 재구성, 견고성 및 내결함성에 대한 요구 사항이 더 높습니다. 우리는 시스템이 더 짧은 응답 시간, 높은 처리량 및 높은 신뢰성을 갖기를 바랍니다. .