Virtual-IT.pl - wirtualizacja cloud computing storage data center

Artykuły

Historia wirtualizacji cz. 1

Coraz powszechniejsze staje się wykorzystanie technik wirtualizacji w środowiskach IT. Wirtualizacja jaką możemy spotkać w  dniu dzisiejszym zaczęła nabierać kształtu pod koniec lat 90-tych ubiegłego stulecia. Przenieśmy się jeszcze dalej w przeszłość do lat 50-tych XX wieku, by prześledzić rozwój technik wirtualizacyjnych. To nie chochlik redaktorski, wirtualizacja w środowiskach IT gości już od ponad pół wieku.W pięćdziesiątych latach ubiegłego stulecia pojawiło się pojęcie „pamięć wirtualna”, gdy na Uniwersytecie w Manchesterze przy współudziale firm Ferranti oraz Plessey powstawał system operacyjny dla tranzystorowych komputerów mainframe Atlas. W systemie tym zautomatyzowano proces przesyłania danych „w górę i dół” w hierarchii pamięci. Był to tym samym pierwszy działający prototyp pamięci wirtualnej. Ogromna moc  Atlasa zapewniała wykonanie 200 tys. operacji zmiennoprzecinkowych na sekundę.


IBM System/360 Model 65Drugim ośrodkiem naukowym, który odegrał znaczącą rolę w rozwoju wirtualizacji był MIT (Massachusetts Institute of Technology w Cambridge), w którym to w 1961 grupa programistów pod przewodnictwem profesora Fernando José „Corby” Corbató opracowała Compatible Time-Sharing System (CTSS). Nie bez przyczyny w nazwie pojawia się „Time-Sharing”. System pozwalał bowiem na współdzielenie czasu procesora. Za planowanie, przydział i kontrolę zasobów odpowiedzialny był program nadzorca. Pierwsza oficjalna prezentacja CTSS, która odbyła się w listopadzie 1961 roku, wyznaczyła kierunek innym programistom. Pokazano w jaki sposób powinien być zaimplementowany podział czasu w systemie. Dzięki CTSS możliwe stało się używanie komputera przez kilku użytkowników jednocześnie. Dzięki wsparciu badań nad CTSS przez firmę IBM prace przyspieszono, a zespół programistów skupił się na usprawnieniu procesu przydzielania zasobów przez program nadzorcy. W 1963 roku zespół z MIT rozpoczął prace nad projektem MAC (akronim rozszyfrować można jako „Machine-Aided Cognition”, „Man and Computer” lub „Multiple-Access Computing”), którego głównym założeniem było stworzenie systemu Multics na bazie CTSS. Multics wytyczył kierunki rozwoju systemów operacyjnych na kolejne lata.

W kwietniu 1964 roku IBM zaprezentował System/360, jednak na skutek rozwiązań technicznych w nim zaimplementowanych doszło do nieporozumienia pomiędzy IBM oraz MIT. Stworzenie dobrego systemu z podziałem czasu stało się nowym wyzwaniem dla IBM. W tym celu powołano projekt CP-40. W grudniu 1964 roku grupa programistów pracująca nad projektem wyznaczyła wymagania odnośnie nowego systemu. Miał on korzystać z pamięci wirtualnej oraz maszyn wirtualnych. Dzięki nowej technologii poszczególni użytkownicy mieli być odizolowani i korzystać z systemu, w taki sposób jakby to był system jednego użytkownika. CP-40 miał izolować maszyny wirtualne i zarządzać nimi w podobny sposób, w jaki robi się to obecnie.

IBM Ssytem/370Dążąc do maksymalnego uproszczenia projektu programiści pracujący nad CP-40 stworzyli kolejny system CMS (początkowo zwany Control Monitor System, później Cambridge Monitor System, a finalnie po powstaniu systemu VM/370 - Conversational Monitor System). W styczniu 1967 roku systemy CP-40 oraz CMS trafiły do seryjnej produkcji, jednak podobnie jak w przypadku Ferranti Atlas, użytkownicy zaczęli dostrzegać błędy związane z obsługą pamięci wirtualnej.

IBM Ssytem/370Termin „wirtualna maszyna” datuje się na lata 60-te ub. wieku. Jedną z pierwszych wirtualnych maszyn stworzyła firma IBM. W 1967 r. IBM wprowadził system z wirtualną pamięcią (System/360 model 67). Komputer nazwano System/360, gdyż miał to być cały system czy rodzina komputerów. Natomiast liczba 360 oznaczała - system trzeciej generacji na lata sześćdziesiąte. Z Model 67 pochodzi koncepcja samowirtualizujących instrukcji procesora udoskonalonych w modelach późniejszych. W maju 1968 roku pierwsza wersja systemu CP-67 działała na ośmiu maszynach typu mainframe. W ciągu kolejnych czterech lat rozwijano ten system do wersji 3.2, która pojawiła się w 1972 roku. Model 67 używał bardzo wczesnej wersji systemu operacyjnego CP-67 który ewoluował do systemu operacyjnego Virtual Machine (VM). VM zezwalał użytkownikom na uruchamianie kilku systemów operacyjnych na jednym procesorze. Zasadniczo VM i mainframe współpracowały tak, że jednocześnie w każdym systemie operacyjnym był dostęp do pełnego zestawu instrukcji.

W 1970 roku na konferencji w Westchester IBM przyznał, że nie wierzy w potrzebę dalszego wspierania maszyn wirtualnych, pomimo to rozpoczął prace nad przystosowaniem CP i CMS do architektury System/370.

W 1973 roku w Nowym Jorku odbyła się konferencja pod patronatem stowarzyszenia Association for Computing Machinery. Jej celem było przedstawienie najważniejszych korzyści płynących z wykorzystania maszyn wirtualnych. Podczas konferencji specjaliści zwrócili uwagę na możliwości jakie daje uruchomienie jednego systemu wirtualnego w drugim, jak również dostępność bezpiecznego odizolowanego środowiska testowego dla nowych systemów i aplikacji. Wirtualizacja umożliwiała zniesienie ograniczeń narzucanych przez konwencjonalne systemy z podziałem czasu.

W 1974 r. została wydana druga wersja S/370, a w 1976 r. trzecia. W tym czasie prace nad rozwojem maszyn wirtualnych rozpoczęły kolejne ośrodki naukowe. Wirtualizacja doczekała się nawet własnej biblioteki, która powstała na kanadyjskim Uniwersytecie w Waterloo. Grupy zrzeszające entuzjastów wirtualizacji zakładano w USA, Kanadzie, Anglii i Niemczech. Od kwietnia 1976 r. organizowano kolejne konferencje VMSHARE służące wymianie doświadczeń osób pochłoniętych technologiami wirtualizacyjnymi.

Pomimo, iż IBM nie przedstawiał konkretnych planów rozwojowych dotyczących maszyn wirtualnych, w drugiej połowie lat 70-tych wydane zostały kolejne wersje System/370:
- w 1977 r. wersja 5
- w 1979 r. wersja 6.

W drugiej części przedstawimy rozwój technologii wirtualizacyjnych na przestrzeni kolejnych lat.

Autorzy:
Łukasz Wadowski i Piotr Masztafiak


Czytaj Również:
-> Historia wirtualizacji część 2

Skomentuj artykuł na forum