Historia systemów operacyjnych - History of operating systems

Komputerowe systemy operacyjne ( OS ) zapewniają zestaw funkcji potrzebnych i używanych przez większość aplikacji na komputerze oraz łącza potrzebne do sterowania i synchronizacji sprzętu komputerowego. Na pierwszych komputerach, bez systemu operacyjnego, każdy program wymagał pełnej specyfikacji sprzętowej do poprawnego działania i wykonywania standardowych zadań, a także własnych sterowników dla urządzeń peryferyjnych , takich jak drukarki i czytniki kart perforowanych . Rosnąca złożoność sprzętu i aplikacji sprawiła, że ​​systemy operacyjne stały się koniecznością codziennego użytku.

tło

Najwcześniejsze komputery były komputerami typu mainframe, w których brakowało jakiejkolwiek formy systemu operacyjnego. Każdy użytkownik korzystał z urządzenia samodzielnie przez zaplanowany okres czasu i docierał do komputera z programem i danymi, często na perforowanych kartach papierowych i taśmie magnetycznej lub papierowej. Program zostałby załadowany do maszyny, a maszyna byłaby ustawiona do pracy do czasu zakończenia lub awarii programu. Programy można zwykle debugować za pomocą panelu sterowania za pomocą pokręteł, przełączników i lampek na panelu.

Języki symboliczne, asemblery i kompilatory zostały opracowane dla programistów w celu tłumaczenia symbolicznego kodu programu na kod maszynowy, który wcześniej byłby kodowany ręcznie. Później pojawiły się maszyny z bibliotekami kodów pomocniczych na kartach perforowanych lub taśmie magnetycznej, które były połączone z programem użytkownika, aby pomóc w operacjach takich jak wejście i wyjście. Taka była geneza współczesnego systemu operacyjnego; jednak maszyny nadal wykonywały jedno zadanie na raz. Na uniwersytecie w Cambridge w Anglii kolejka do pracy była kiedyś sznurem do prania, na którym zawieszano taśmy z różnokolorowymi klamerkami wskazującymi priorytet pracy.

Wraz ze wzrostem mocy maszyn skracał się czas uruchamiania programów, a czas na przekazanie sprzętu następnemu użytkownikowi stał się w porównaniu z tym dłuższy. Rozliczanie i opłacanie użytkowania maszyny przeszło od sprawdzania zegara ściennego do automatycznego rejestrowania przez komputer. Kolejki uruchomień ewoluowały od dosłownej kolejki ludzi przy drzwiach, do stosu multimediów na stole oczekującym na zadania lub partii kart perforowanych ułożonych jedna na drugiej w czytniku, aż do momentu, gdy urządzenie samo było w stanie wybrać i sekwencja, które napędy taśm magnetycznych przetwarzały które taśmy. Tam, gdzie twórcy programów początkowo mieli dostęp do wykonywania własnych zadań na maszynie, zostali zastąpieni przez dedykowanych operatorów maszyn, którzy opiekowali się maszyną i coraz mniej interesowali się ręcznym wykonywaniem zadań. Gdy dostępne na rynku centra komputerowe stanęły w obliczu konsekwencji utraty danych w wyniku manipulacji lub błędów operacyjnych, dostawcy sprzętu zostali zmuszeni do ulepszenia bibliotek wykonawczych, aby zapobiec niewłaściwemu wykorzystaniu zasobów systemowych. Zautomatyzowane monitorowanie było potrzebne nie tylko do wykorzystania procesora, ale także do zliczania wydrukowanych stron, kart dziurkowanych, odczytanych kart, używanej pamięci dyskowej oraz do sygnalizowania, kiedy wymagana jest interwencja operatora w przypadku takich zadań, jak wymiana taśm magnetycznych i formularzy papierowych. Funkcje bezpieczeństwa zostały dodane do systemów operacyjnych, aby rejestrować ścieżki audytu, które programy uzyskiwały dostęp do jakich plików i na przykład zapobiegać dostępowi do produkcyjnego pliku płac przez program inżynierski.

Wszystkie te cechy budowały się w kierunku repertuaru w pełni zdolnego systemu operacyjnego. Ostatecznie biblioteki wykonawcze stały się połączonym programem, który został uruchomiony przed pierwszym zadaniem klienta i mógł odczytywać zadanie klienta, kontrolować jego wykonanie, rejestrować jego użycie, ponownie przydzielać zasoby sprzętowe po zakończeniu zadania i natychmiast przechodzić do przetwarzania następnego zadania. Te rezydentne programy działające w tle, zdolne do zarządzania wieloetapowymi procesami, były często nazywane monitorami lub programami monitorującymi, zanim pojawił się termin „system operacyjny”.

Bazowy program oferujący podstawowe zarządzanie sprzętem, planowanie oprogramowania i monitorowanie zasobów może wydawać się odległym przodkiem zorientowanych na użytkownika systemów operacyjnych ery komputerów osobistych . Ale nastąpiła zmiana znaczenia systemu operacyjnego. Tak jak we wczesnych samochodach brakowało prędkościomierzy, radia i klimatyzatorów, które później stały się standardem, coraz więcej opcjonalnych funkcji oprogramowania stało się standardowymi funkcjami w każdym pakiecie systemu operacyjnego, chociaż niektóre aplikacje, takie jak systemy zarządzania bazami danych i arkusze kalkulacyjne, pozostają opcjonalne i wyceniane osobno. Doprowadziło to do postrzegania systemu operacyjnego jako kompletnego systemu użytkownika ze zintegrowanym graficznym interfejsem użytkownika , narzędziami, niektórymi aplikacjami, takimi jak edytory tekstu i menedżery plików oraz narzędziami konfiguracyjnymi.

Prawdziwym potomkiem wczesnych systemów operacyjnych jest to, co obecnie nazywa się „ jądrem ”. W kręgach technicznych i rozwojowych stare ograniczone poczucie systemu operacyjnego utrzymuje się ze względu na ciągły aktywny rozwój wbudowanych systemów operacyjnych dla wszystkich rodzajów urządzeń z komponentem do przetwarzania danych, od ręcznych gadżetów po roboty przemysłowe i sterowanie w czasie rzeczywistym. systemy, które nie uruchamiają aplikacji użytkownika na froncie. Wbudowany system operacyjny w dzisiejszym urządzeniu nie jest tak odległy, jak mogłoby się wydawać od jego przodka z lat 50. XX wieku.

Szersze kategorie systemów i oprogramowania aplikacyjnego omówiono w artykule dotyczącym oprogramowania komputerowego .

Komputery mainframe

Pierwszym systemem operacyjnym używanym do rzeczywistej pracy był GM-NAA I/O , wyprodukowany w 1956 roku przez dział badań General Motors dla IBM 704 . Większość innych wczesnych systemów operacyjnych dla komputerów mainframe IBM również została wyprodukowana przez klientów.

Wczesne systemy operacyjne były bardzo zróżnicowane, a każdy dostawca lub klient produkował jeden lub więcej systemów operacyjnych przeznaczonych dla konkretnego komputera typu mainframe . Każdy system operacyjny, nawet od tego samego dostawcy, może mieć radykalnie różne modele poleceń, procedur operacyjnych i takich udogodnień, jak pomoce debugowania. Zazwyczaj za każdym razem, gdy producent wypuszczał nową maszynę, pojawiał się nowy system operacyjny, a większość aplikacji musiałaby być ręcznie dostosowywana, ponownie kompilowana i testowana.

Systemy na sprzęcie IBM

Stan rzeczy trwał do lat 60. XX wieku, kiedy IBM , już wiodący dostawca sprzętu, zaprzestał prac nad istniejącymi systemami i włożył cały swój wysiłek w opracowanie serii maszyn System/360 , z których wszystkie wykorzystywały tę samą architekturę instrukcji i wejścia/wyjścia. IBM zamierzało opracować jeden system operacyjny dla nowego sprzętu, OS/360 . Problemy napotkane podczas rozwoju systemu OS/360 są legendarne i zostały opisane przez Freda Brooksa w The Mythical Man-Month — książce, która stała się klasykiem inżynierii oprogramowania . Ze względu na różnice w wydajności w całym zakresie sprzętu i opóźnienia w rozwoju oprogramowania, zamiast jednego OS/360 wprowadzono całą rodzinę systemów operacyjnych.

IBM zakończył działalność, wypuszczając szereg przerw, po których pojawiły się dwa systemy operacyjne o dłuższej żywotności:

  • OS/360 dla średnich i dużych systemów. Było to dostępne w trzech opcjach generacji systemu :
    • PCP dla początkujących użytkowników i dla tych, którzy nie mają środków na wieloprogramowanie.
    • MFT dla systemów średniej klasy, zastąpiony przez MFT-II w OS/360 Release 15/16. Miał on jednego następcę, OS/VS1 , którego zaprzestano w latach 80. XX wieku.
    • MVT dla dużych systemów. Pod wieloma względami było to podobne do PCP i MFT (większość programów można było przenieść wśród tych trzech bez ponownej kompilacji ), ale ma bardziej wyrafinowane zarządzanie pamięcią i funkcję współdzielenia czasu , TSO . MVT miał kilku następców, w tym obecny system z/OS .
  • DOS/360 dla małych modeli System/360 miał kilku następców, w tym obecny z/VSE . Różnił się znacząco od OS/360.

IBM zachował pełną kompatybilność z przeszłością, dzięki czemu programy opracowane w latach sześćdziesiątych mogą nadal działać w środowisku z/VSE (jeśli zostały opracowane dla DOS/360) lub z/OS (jeśli zostały opracowane dla MFT lub MVT) bez zmian.

IBM opracował również TSS/360 , system podziału czasu dla System/360 Model 67 . Nadmiernie rekompensując sobie postrzeganą wagę rozwoju systemu użytkowania nieruchomości w oznaczonym czasie, zatrudnili setki programistów do pracy nad projektem. Wczesne wydania TSS były powolne i zawodne; zanim TSS osiągnął akceptowalną wydajność i niezawodność, IBM chciał, aby jego użytkownicy TSS przeszli na OS/360 i OS/VS2; podczas gdy IBM oferował TSS/370 PRPQ, porzucili go po 3 wydaniach.

Kilka systemów operacyjnych dla architektur IBM S/360 i S/370 zostało opracowanych przez firmy trzecie, w tym Michigan Terminal System (MTS) i MUSIC/SP .

Inne systemy operacyjne typu mainframe

Firma Control Data Corporation opracowała systemy operacyjne SCOPE w latach 60. XX wieku do przetwarzania wsadowego, a później opracowała system operacyjny MACE do współdzielenia czasu, który był podstawą późniejszego Kronosa . We współpracy z University of Minnesota w latach 70. opracowano systemy operacyjne Kronos, a później NOS , które wspierały jednoczesne korzystanie z partii i współdzielenie czasu. Podobnie jak wiele komercyjnych systemów współdzielenia czasu, jego interfejs był rozszerzeniem systemu współdzielenia czasu DTSS , jednego z pionierskich przedsięwzięć w zakresie współdzielenia czasu i języków programowania.

Pod koniec lat 70. firma Control Data i University of Illinois opracowały system PLATO , który wykorzystywał wyświetlacze plazmowe i sieci współdzielenia czasu na duże odległości. PLATO był niezwykle innowacyjny jak na swoje czasy; model pamięci współdzielonej języka programowania PLATO TUTOR umożliwił takie aplikacje, jak czat w czasie rzeczywistym i gry graficzne dla wielu użytkowników.

Dla UNIVAC 1107 , UNIVAC , pierwszy komercyjny producent komputera, wyprodukował EXEC I system operacyjny, a Computer Sciences Corporation opracowała EXEC II System operacyjny i oddał go do UNIVAC. EXEC II został przeniesiony do UNIVAC 1108 . Później UNIVAC opracował system operacyjny EXEC 8 dla 1108; była podstawą systemów operacyjnych dla późniejszych członków rodziny. Podobnie jak wszystkie wczesne systemy mainframe, EXEC I i EXEC II były systemem zorientowanym wsadowo, który zarządzał bębnami magnetycznymi, dyskami, czytnikami kart i drukarkami liniowymi; EXEC 8 wspierał zarówno przetwarzanie wsadowe, jak i przetwarzanie transakcji on-line. W latach 70. UNIVAC wyprodukował system Real-Time Basic (RTB) do obsługi udostępniania czasu na dużą skalę, również wzorowany na systemie Dartmouth BASIC .

Firma Burroughs Corporation wprowadziła B5000 w 1961 roku z systemem operacyjnym MCP ( Master Control Program ). B5000 był maszyną stosową zaprojektowaną do obsługi wyłącznie języków wysokiego poziomu, bez oprogramowania, nawet na najniższym poziomie systemu operacyjnego, napisaną bezpośrednio w języku maszynowym lub języku asemblera ; MCP był pierwszym systemem operacyjnym napisanym w całości w języku wysokiego poziomu - ESPOL , dialekcie ALGOL 60 - chociaż ESPOL miał specjalne wyrażenia dla każdej "sylaby" w zestawie instrukcji B5000. MCP wprowadził również wiele innych przełomowych innowacji, takich jak bycie jedną z pierwszych komercyjnych implementacji pamięci wirtualnej . Przepisanie MCP dla B6500 jest nadal używane w linii komputerów Unisys ClearPath/MCP.

Firma GE wprowadziła serię GE-600 z systemem operacyjnym General Electric Comprehensive Operating Supervisor (GECOS) w 1962 roku. Po tym, jak Honeywell przejęła działalność komputerową GE, jej nazwę zmieniono na General Comprehensive Operating System (GCOS). W latach 70. firma Honeywell rozszerzyła użycie nazwy GCOS na wszystkie swoje systemy operacyjne, chociaż wiele z jej komputerów nie miało nic wspólnego z wcześniejszą serią GE 600, a ich systemy operacyjne nie wywodziły się z oryginalnego GECOS.

Projekt MAC w MIT, współpracując z GE i Bell Labs , opracował Multics , który wprowadził koncepcję poziomów uprawnień zabezpieczeń pierścieniowych.

Firma Digital Equipment Corporation opracowała TOPS-10 dla swojej linii komputerów 36-bitowych PDP-10 w 1967 roku. Przed rozpowszechnieniem się systemu Unix, TOPS-10 był szczególnie popularnym systemem na uniwersytetach i we wczesnej społeczności ARPANET . Bolt, Beranek i Newman opracowali TENEX dla zmodyfikowanego PDP-10, który wspierał stronicowanie popytu ; był to kolejny popularny system w społeczności badawczej i ARPANET, a później został rozwinięty przez DEC w TOPS-20 .

Scientific Data Systems /Xerox Data Systems opracował kilka systemów operacyjnych dla serii komputerów Sigma , takich jak Basic Control Monitor (BCM), Batch Processing Monitor (BPM) i Basic Time-Sharing Monitor (BTM). Później BPM i BTM zostały zastąpione przez Universal Time-Sharing System (UTS); został zaprojektowany, aby zapewnić usługi wieloprogramowania dla programów użytkownika online (interaktywnych) oprócz zadań produkcyjnych w trybie wsadowym. Jego następcą został system operacyjny CP-V , który połączył UTS z mocno zorientowanym wsadowo systemem operacyjnym Xerox .

Minikomputery

Firma Digital Equipment Corporation stworzyła kilka systemów operacyjnych dla swoich 16-bitowych komputerów PDP-11 , w tym prosty system RT-11 , systemy operacyjne RSTS z podziałem czasu oraz rodzinę systemów operacyjnych czasu rzeczywistego RSX-11 , a także System VMS dla 32-bitowych maszyn VAX .

Kilku konkurentów Digital Equipment Corporation, takich jak Data General , Hewlett-Packard i Computer Automation, stworzyło własne systemy operacyjne. Jeden taki, „MAX III”, został opracowany dla komputerów Modcomp II i Modcomp III. Charakteryzował się rynkiem docelowym, jakim był rynek sterowania przemysłowego. Wśród bibliotek Fortran znalazła się jedna, która umożliwiała dostęp do urządzeń pomiarowych i kontrolnych.

Kluczową innowacją IBM w systemach operacyjnych tej klasy (którą nazywają „średnim zakresem”) był ich „CPF” dla System/38 . Miało to adresowanie oparte na możliwościach , wykorzystywało architekturę interfejsu maszyny do izolowania oprogramowania aplikacji i większości systemu operacyjnego od zależności sprzętowych (w tym nawet takie szczegóły, jak rozmiar adresu i rozmiar rejestru) oraz zawierało zintegrowany RDBMS . Kolejny OS/400 dla systemu AS/400 nie zawiera plików, a jedynie obiekty różnych typów, które pozostają w bardzo dużej, płaskiej pamięci wirtualnej, zwanej magazynem jednopoziomowym. i5/OS i późniejsze IBM i dla iSeries kontynuują tę linię systemu operacyjnego.

System operacyjny Unix został opracowany w AT&T Bell Laboratories pod koniec lat 60., początkowo dla PDP-7 , a później dla PDP-11. Ponieważ był zasadniczo darmowy we wczesnych wydaniach, łatwo dostępny i łatwy do modyfikacji, zyskał szeroką akceptację. Stało się to również wymogiem w firmach obsługujących systemy Bell. Ponieważ został napisany w języku C , kiedy ten język został przeniesiony do nowej architektury maszynowej, Unix również mógł zostać przeniesiony. Ta przenośność pozwoliła mu stać się wyborem dla drugiej generacji minikomputerów i pierwszej generacji stacji roboczych . Powszechnie stosowany stanowił przykład idei systemu operacyjnego, który był koncepcyjnie taki sam na różnych platformach sprzętowych, a później stał się jednym z korzeni projektów wolnego oprogramowania i oprogramowania open source , w tym GNU , Linux i Berkeley Software Distribution . MacOS firmy Apple jest również oparty na Uniksie za pośrednictwem NeXTSTEP i FreeBSD .

System operacyjny Pick był kolejnym systemem operacyjnym dostępnym dla wielu różnych marek sprzętu. Komercyjnie wydany w 1973 r. jego rdzeniem był podobny do BASIC język o nazwie Data/BASIC oraz język manipulacji bazą danych w stylu SQL o nazwie ENGLISH. Licencjonowany dla wielu różnych producentów i dostawców, na początku lat 80-tych obserwatorzy postrzegali system operacyjny Pick jako silnego konkurenta dla Uniksa.

Mikrokomputery

W połowie lat 70. na rynku pojawiła się nowa klasa małych komputerów. Wyposażone w 8-bitowe procesory, zazwyczaj MOS Technology 6502 , Intel 8080 , Motorola 6800 lub Zilog Z80 , wraz z podstawowymi interfejsami wejściowymi i wyjściowymi oraz tyle pamięci RAM, ile jest to praktyczne, systemy te zaczynały jako komputery hobbystyczne oparte na zestawach, ale wkrótce przekształciły się w niezbędne narzędzie biznesowe.

Komputery domowe

Podczas gdy wiele ośmiobitowych komputerów domowych z lat 80., takich jak BBC Micro , Commodore 64 , Apple II , 8-bitowe Atari , Amstrad CPC , ZX Spectrum i inne, mogło ładować system operacyjny innej firmy , takie jak CP/M lub GEOS , były one generalnie używane bez. Ich wbudowane systemy operacyjne zostały zaprojektowane w czasach, gdy dyskietki były bardzo drogie i nie spodziewano się, że będą używane przez większość użytkowników, więc standardowym urządzeniem pamięci masowej w większości przypadków był napęd taśmowy wykorzystujący standardowe kasety kompaktowe . Większość, jeśli nie wszystkie, z tych komputerów są dostarczane z wbudowanym interpreterem języka BASIC w pamięci ROM, który służył również jako prymitywny interfejs wiersza poleceń , umożliwiający użytkownikowi załadowanie oddzielnego systemu operacyjnego dysku w celu wykonywania poleceń zarządzania plikami oraz ładowania i zapisywania do dysk. Najpopularniejszy komputer domowy, Commodore 64, był godnym uwagi wyjątkiem, ponieważ jego system DOS znajdował się w pamięci ROM w sprzęcie dysku, a napęd był adresowany identycznie do drukarek, modemów i innych urządzeń zewnętrznych.

Co więcej, te systemy były dostarczane z minimalną ilością pamięci komputera — 4-8 kilobajtów było standardem we wczesnych komputerach domowych — a także 8-bitowe procesory bez wyspecjalizowanych obwodów pomocniczych, takich jak MMU lub nawet dedykowany zegar czasu rzeczywistego . Na tym sprzęcie obciążenie złożonego systemu operacyjnego obsługującego wiele zadań i użytkowników prawdopodobnie obniżyłoby wydajność maszyny, nie będąc naprawdę potrzebną. Ponieważ systemy te były w dużej mierze sprzedawane jako kompletne, ze stałą konfiguracją sprzętową, nie było również potrzeby, aby system operacyjny zapewniał sterowniki dla szerokiej gamy sprzętu, aby wyeliminować różnice.

Gry wideo, a nawet dostępne arkusze kalkulacyjne , bazy danych i edytory tekstu dla komputerów domowych były w większości samodzielnymi programami, które całkowicie przejęły kontrolę nad maszyną. Chociaż dla tych komputerów istniało zintegrowane oprogramowanie , zwykle brakowało im funkcji w porównaniu do ich samodzielnych odpowiedników, głównie z powodu ograniczeń pamięci. Wymiana danych odbywała się głównie za pomocą standardowych formatów, takich jak tekst ASCII lub CSV , lub za pomocą wyspecjalizowanych programów do konwersji plików.

Systemy operacyjne w grach wideo i konsolach

Ponieważ praktycznie wszystkie konsole do gier wideo i automaty do gier zaprojektowane i zbudowane po 1980 roku były prawdziwymi cyfrowymi maszynami opartymi na mikroprocesorach (w przeciwieństwie do wcześniejszych klonów Ponga i pochodnych), niektóre z nich miały minimalną formę BIOS - u lub wbudowanej gry, takiej jak ColecoVision , Sega Master System i SNK Neo Geo .

Współczesne konsole do gier i gry wideo, począwszy od PC-Engine , mają minimalny BIOS, który zapewnia również interaktywne narzędzia, takie jak zarządzanie kartami pamięci , odtwarzanie płyt CD audio lub wideo , ochrona przed kopiowaniem, a czasami zawierają biblioteki dla programistów itp. Jednak niewiele z tych przypadków kwalifikuje się jako prawdziwy system operacyjny.

Najbardziej godnymi uwagi wyjątkami są prawdopodobnie konsola do gier Dreamcast, która zawiera minimalny BIOS, taka jak PlayStation , ale może załadować system operacyjny Windows CE z dysku gry, umożliwiając łatwe przenoszenie gier ze świata PC , oraz konsola do gier Xbox , która jest niewiele więcej niż w przebraniu procesorem Intel PC z systemem tajemnicy, zmodyfikowaną wersję systemu Microsoft Windows w tle. Co więcej, istnieją wersje Linuksa, które będą działać na Dreamcast i późniejszych konsolach do gier.

Na długo wcześniej Sony wypuściło na swoją pierwszą platformę PlayStation rodzaj zestawu deweloperskiego o nazwie Net Yaroze , który zapewniał szereg narzędzi programistycznych i programistycznych do użytku ze zwykłym komputerem PC oraz specjalnie zmodyfikowaną „czarną konsolę PlayStation”, którą można było podłączyć. z komputerem PC i pobierać z niego programy. Operacje te wymagają ogólnie działającego systemu operacyjnego na obu zaangażowanych platformach.

Ogólnie można powiedzieć, że konsole do gier wideo i automaty arkadowe na monety korzystały co najwyżej z wbudowanego BIOS - u w latach 70., 80. i przez większość lat 90., podczas gdy od ery PlayStation i później zaczęły one być coraz bardziej wyrafinowane, do tego stopnia, że ​​wymaga generycznego lub niestandardowego systemu operacyjnego do pomocy w rozwoju i rozbudowie.

Era komputerów osobistych

Rozwój mikroprocesorów sprawił, że tanie komputery stały się dostępne dla małych firm i hobbystów, co z kolei doprowadziło do powszechnego stosowania wymiennych komponentów sprzętowych przy użyciu wspólnego połączenia (takich jak S-100 , SS-50, Apple II , ISA i PCI). magistrale ) oraz rosnące zapotrzebowanie na „standardowe” systemy operacyjne do ich kontrolowania. Najważniejszym z wcześniejszych systemów operacyjnych dotyczących tych maszyn było Digital Research jest CP / M -80 do 8080/8085 / Z-80 procesorów. Opierał się na kilku systemach operacyjnych Digital Equipment Corporation, głównie dla architektury PDP-11. Pierwszy system operacyjny Microsoftu, MDOS/MIDAS , został zaprojektowany zgodnie z wieloma funkcjami PDP-11, ale dla systemów opartych na mikroprocesorach. MS-DOS lub PC DOS dostarczany przez IBM został zaprojektowany jako podobny do CP/M-80. Każda z tych maszyn miała mały program startowy w pamięci ROM, który ładował sam system operacyjny z dysku. BIOS na maszynach klasy IBM-PC był rozszerzeniem tego pomysłu i zyskał więcej cech i funkcji w ciągu 20 lat od wprowadzenia pierwszego IBM-PC w 1981 roku.

Malejące koszty wyposażenia wyświetlacza i procesorów wykonana jest praktyczny dostarczenie graficznych interfejsów użytkownika dla wielu systemów operacyjnych, takich jak rodzajowy X Window System , który jest zaopatrzony w wielu systemach Unix lub innych układów graficznych, takich jak firmy Apple „s klasycznego Mac OS i MacOS tego, Radio Shack kolor komputer za OS-9 Poziom II / MultiVue , Commodore 's AmigaOS , Atari TOS , IBM ' s OS / 2 i Microsoft Windows . Oryginalny GUI został opracowany w Xerox Alto systemu komputerowego w Xerox Palo Alto Research Center w roku 1970 i sprzedawany przez wielu producentów na całym 1980 i 1990.

Od końca 1990 roku, były trzy systemy operacyjne w powszechnym użytku na komputerach osobistych: Apple Inc. „s MacOS The open source Linux i Microsoft Windows . Od 2005 roku i przejścia Mac na procesory Intel , wszystkie zostały opracowane głównie na platformie x86 , chociaż macOS zachował obsługę PowerPC do 2009 roku, a Linux pozostaje przeniesiony na wiele architektur, w tym takie jak 68k , PA-RISC i DEC Alpha , które już dawno zostały zastąpione i wycofane z produkcji oraz SPARC i MIPS , które są używane w serwerach lub systemach wbudowanych, ale już nie w komputerach stacjonarnych. Inne systemy operacyjne, takie jak AmigaOS i OS/2, pozostają w użyciu, jeśli w ogóle, głównie przez entuzjastów retrokomputerów lub dla wyspecjalizowanych aplikacji wbudowanych.

Mobilne systemy operacyjne

Android to najczęściej używany mobilny system operacyjny .

Na początku lat 90-tych firma Psion wypuściła Psion Series 3 PDA , małe mobilne urządzenie komputerowe. Obsługuje aplikacje napisane przez użytkowników działające w systemie operacyjnym o nazwie EPOC . Późniejszymi wersjami EPOC stały się Symbian , system operacyjny używany dla telefonów komórkowych firm Nokia , Ericsson , Sony Ericsson , Motorola , Samsung oraz telefonów opracowanych dla NTT Docomo przez Sharp , Fujitsu i Mitsubishi . Symbian był najpopularniejszym na świecie systemem operacyjnym dla smartfonów do 2010 r., ze szczytowym udziałem w rynku wynoszącym 74% w 2006 r. W 1996 r. firma Palm Computing wypuściła systemy Pilot 1000 i Pilot 5000 z systemem operacyjnym Palm OS . Microsoft Windows CE był bazą dla Pocket PC 2000, przemianowanego na Windows Mobile w 2003 roku, który w szczytowym momencie 2007 roku był najpopularniejszym systemem operacyjnym dla smartfonów w USA

W 2007 roku Apple wprowadził iPhone'a i jego system operacyjny, znany po prostu jako iPhone OS (do czasu wydania iOS 4 ), który podobnie jak Mac OS X jest oparty na uniksopodobnym Darwin . Oprócz tych podstaw firma wprowadziła również potężny i innowacyjny graficzny interfejs użytkownika, który później był również używany na tablecie iPad . Rok później został wprowadzony Android z własnym graficznym interfejsem użytkownika, oparty na zmodyfikowanym jądrze Linux , a Microsoft ponownie wszedł na rynek mobilnych systemów operacyjnych z Windows Phone w 2010 roku, który został zastąpiony przez Windows 10 Mobile w 2015 roku.

Oprócz tego w tej dziedzinie rywalizuje szeroka gama innych mobilnych systemów operacyjnych .

Powstanie wirtualizacji

Systemy operacyjne pierwotnie działały bezpośrednio na samym sprzęcie i świadczyły usługi aplikacjom, ale w przypadku wirtualizacji sam system operacyjny działa pod kontrolą hiperwizora , zamiast bezpośrednio kontrolować sprzęt.

Na komputerach mainframe IBM wprowadził pojęcie maszyny wirtualnej w 1968 roku z CP/CMS na IBM System/360 Model 67 i rozszerzył to później w 1972 o Virtual Machine Facility/370 (VM/370) na System/370 .

Na komputerach osobistych opartych na architekturze x86 firma VMware spopularyzowała tę technologię dzięki produktowi VMware Workstation z 1999 r. oraz produktom VMware GSX Server i VMware ESX Server z 2001 r. Później szeroka gama produktów innych firm, w tym Xen , KVM i Hyper-V, spowodowała, że ​​do 2010 r. poinformowano, że ponad 80 procent przedsiębiorstw posiadało program lub projekt wirtualizacji, a 25 procent wszystkich obciążeń serwerów będzie znajdować się na maszynie wirtualnej.

Z biegiem czasu granica między maszynami wirtualnymi, monitorami i systemami operacyjnymi została zatarta:

  • Hiperwizory stały się bardziej złożone, zyskując własny interfejs programowania aplikacji, zarządzanie pamięcią czy system plików.
  • Wirtualizacja staje się kluczową cechą systemów operacyjnych, czego przykładem są KVM i LXC w Linuksie, Hyper-V w Windows Server 2008 czy HP Integrity Virtual Machines w HP-UX .
  • W niektórych systemach, takich jak serwery IBM oparte na procesorach POWER5 i POWER6 , hiperwizor nie jest już opcjonalny.
  • Radykalnie uproszczone systemy operacyjne, takie jak CoreOS , zostały zaprojektowane do działania tylko na systemach wirtualnych.
  • Aplikacje zostały przeprojektowane tak, aby działały bezpośrednio na monitorze maszyny wirtualnej.

Pod wieloma względami oprogramowanie maszyny wirtualnej odgrywa obecnie rolę, jaką wcześniej pełnił system operacyjny, w tym zarządzanie zasobami sprzętowymi (procesor, pamięć, urządzenia we/wy), stosowanie zasad planowania lub umożliwianie administratorom systemu zarządzania systemem.

Zobacz też

Uwagi

Bibliografia

Dalsza lektura