Krótka Historia
Systemów Operacyjnych
Tomasz Borzyszkowski2
UNIX:
prepoczątki
1965r.
-
firmy Bell Telephone Labs, General Electric Company i Massachusetts Inst. of Tech. podjęły prace nad stworzeniemnowego systemu operacyjnego MULTICS, miał on zapewniać:
prosta wersja zaimplementowana na maszynie GE 645 przed 1969 Bell Labs wycofuje się z projektu lecz ich centum obliczeniowe
pozostaje bez środowiska do obliczeń interaktywnych
projekt wychował przyszłych twórców systemu UNIX:
Kena Thompsona (KT) i Denisa Ritche (DR)
wielodostęp
współdzielenie danych
3
UNIX:
początki
1969
(KT i DR)
wczesna wersja UNIXa na GE 645: ubogie jądro i prosty system plików DR pisał w Fortranie grę Podróż w przestrzeni kosmicznej lecz skomplikowana asemblacja skłoniła go do zaimplementowania sys. UNIX na komputerze PDP-7 by poprawić środowisko pisania gry; składał się z: systemu plikow; podsystemu obsługi
procesów i małego zbioru programów usługowych nazwę UNIX wymyślił Brian Kernighan
(kalambur od MULTICS)
1971 instalacja na PDP-11; mały rozmiar: system - 16KB,
programy użytkowe - 8KB, dysk - 512KB i 64KB -ograniczenie rozmiaru pliku
4
UNIX:
początki cd
1973 UNIXa napisano na nowo w języku
C
1971 KT pod wpływem BCPL projektuje język B (interpreter) 1972 DR rozwinął B w język C (kompilacja i generowanie kodu,
typy danych, ...)
25 instalacji w Bell Labs; powstaje Unix System Group 1976 UNIX Version 6: pierwsza wersja poza Bell Labs
1978 UNIX V7: wieloplatformowy (PDP-11/70, Interdata8/32,
VAX) pochodzi od niej większość współczesnych UNIXów (komercyjnych) oraz powstaje USG (UNIX Support Group)
1984 UNIX System V R2 i R4, cechy: pamięć wirtualna ze
stronicowaniem w trybie kopiowania, pamięć dzielona i system strumieni we/wy
5
UNIX:
a tymczasem w Berkley ...
od
1978
opracowywano UNIXa na komputery VAX.Wersje z Berkley nazywają się
BSD
(Berkley Software Distribution)Najpopularniejsza wersja to
4.2 BSD
zawiera: protokoły sieciowe: TCP/IP, lokalne: Ethernet, pierścieniowe z
żetonami i globalne: NFS NET.
Przyczynia się do rozpowszechnienia Internetu i ww. protokołów. Wersja 4.3 BSD rozszerza 4.2 BSD o:
c-shell (csh)
edytory ex/vi
6
Inne UNIX
y
ULTRIX i OSF/1
: firma DEC, administracja jak w BSD, jądro jak w System V SunOS i Solaris: pierwszy BSD, drugi V.4, oba firmy Sun AIX: mieszanka V.4, BSD i OSF/1, firma IBM
SCO UNIX: V.3.2, firma Santa Cruz Operation
XENIX: UNIX przepisany przez Microsoft na procesor Intel 8088 HP-UX: wariant Systemu V z wieloma cechami OSF/1,
firma Hewlett-Packard
Linux: "Linux is not UNIX" ale duży wpływ miała wersja 4.3BSD
7
UNIX:
architektura
Inne
programy
użytk
owe
cc
Programy std.
sh
who
da
te
w
c
gre
p
vi
ld
comp
nro
ff
a.o
ut
Jądro
Sprzęt
akademicka, dydaktyczna wersja UNIXa projekt
A.S. Tanenbauma
z Univ. of Vrije (Amsterdam) źródła dostępne w INTERNECIE!
8
Linux:
początki
1991
- student z FinlandiiLinus Torvalds
rozpoczyna prace nad Linuxem; 14 maja 1991 - pojawia się wersja 0.01 jej cechy:
dziła tylko na procesorach zgodnych z Intel 80386 i sprzęcie PC system plików MINIXa i niewiele urządzeń zewnętrznych
jądro realizuje procesy w trybie chronionym nie współpracuje z siecią
9
Linux:
początki cd.
14 marca 1994 - wersja 1.0, cechy:
sieć TCP/IP
sterowanie urządz. przez IP rozbudowa pamięci wirtualnej więcej urządzeń (wciąż tylko PC)
nowy system plików (już nie MINIX, dodano SCSI)
emulacja koprocesora 80387 zrealizowano komunikację międzyprocesową IPC
zgodnie z systemem V (pamięć dzielona, semafory, kolejki komunikatów)
gniazda zgodne z BSD
marzec 1995 - wersja 1.2, cechy:
działa w architekturze PCI emulacja 8086 (czyli DOSa)
częściowa realizacja jądra na Sparc, Alpha i Mips
10
Linux:
początki cd.
czerwiec 1996 - wersja 2.0, cechy:
dostępność wielu architektur: 64b Alpha, wieloprocesorowe, Motorola 68000, Sun Sparc
wątki wewnątrz jądra
podręczna pamięć plików, także w NFS
nowe protokoły sieciowe: Appletalk, ISDN
11
Linux:
GNU
pierwsze UNIXy były strzeżone restrykcyjnymi licencjami i nie udostępniały kodu źródłowego
Richard Stallman z Massachusetts Inst. of Tech. założył FSF: Free Software Foundation, jej celem jest zachęcanie do
rozwoju i korzystania ze swobodnie dostępnego i rozprowadzanego oprogramowania
FSF tworzy GPL - General Public Licence, skrót:
1. Każdy, kto dostaje oprogramowanie zgodne z GPL ma prawo
do uzyskania kodu źródłowego bez dodatkowej opłaty.
2. Dowolne oprogramowanie, które powstało na podstawie
narzędzi z licencją GPL musi też posiadać tę licencję.
3. Każdy, kto ma oprogramowanie zgodne z GPL, ma prawo je
rozpowszechniać na warunkach GPL.
12
Linux:
GNU cd.
FSF sponsoruje projekt GNU's Not Unix, celem projektu jest
stworzenie swobodnie dostępnego i wzorowanego na UNIXie systemu operacyjnego bazującego na licencji GPL
na początku działalności skupili się na tworzeniu programów narzędziowych, najbardziej znane to:
system okien X Window
system składania tekstów TeX kompilator gcc edytor Emacs interpreter bash język przetwarzania tekstów gawk język Perl
kolejnym etapem, w 1992, było przeniesienie pow. narzędzi na Linux wersja 0.95 itd...
13
Windows
NT
połowa lat 80-tych:
Microsoft i IBM współpracują przytworzeniu systemu operacyjnego OS/2; pisany w asemblerze dla jednoprocesorowych komputerów z Intelem 80286
Application Programming Interfece
1988 projekt przejęty przez IBM, Microsoft postanawia zacząć
wszystko od nowa i wyprodukować system zawierający API z OS/2 i zgodny ze standardem POSIX
Portable Operating System Interface
Rząd USA zdefiniował standardy (rosnąco): C1, C2, B1, B2, A1. C2 to: obowiązkowe hasła oraz ich
starzenie się i szyfrowanie 14
Windows
NT cd.
Podstawowe cechy Windows NT: przenośność między
platformami
łatwe dodawania nowych rozwiązań sprzętowych i programowych
odporność na błędy
bezpieczeństwo, klasa C-2
zgodność: możliwość kompilacji programów spełniających POSIX wydajność i wymogi międzynarod.
w 1988 Microsoft wynajmuje Dave'a Cutlera, twórce systemu VMS na komp. VAX z firmy DEC