Jump to content
  • Announcements

    • Jarpen Zigrin

      Zostań naszym fanem. Obserwuj nas w social mediach : )   12/11/2016

      Daj się poznać jako nasz fan oraz miej łatwy i szybki dostęp do najnowszych informacji poprzez swój ulubiony portal społecznościowy.    Obecnie można nas znaleźć m.in tutaj:   Facebook: http://www.facebook.com/pages/Historiaorgp...19230928?ref=ts Twitter: http://twitter.com/historia_org_pl Instagram: https://www.instagram.com/historia.org.pl/
    • Jarpen Zigrin

      Przewodnik użytkownika - jak pisać na forum   12/12/2016

      Przewodnik użytkownika - jak pisać na forum. Krótki przewodnik o tym, jak poprawnie pisać i cytować posty: http://forum.historia.org.pl/topic/14455-przewodnik-uzytkownika-jak-pisac-na-forum/
bavarsky

Historia rozwoju systemów operacyjnych

Recommended Posts

bavarsky   

Linux w wersji 2.6.0 z końca 2003 roku miał 5,929,913 linii kodu, tj. załóżmy 6 mln [które wkrótce po tym czasie przekroczył.]

Jak zobrazować taką liczbę w bardziej fizyczny sposób?

Wyobraźmy sobie książkę którą drukarz postanowił wydać w następującej formie: jedna strona ma zadrukowane 50 linii tekstu, a jeden wolumen liczy 1000 takich stronic - daje to nam 50000 tysięcy linii kodu w jednym tomiszczu.

Zatem by wydrukować i fizycznie postawić sobie na regałach 'kernel' w wersji 2.6.0 wychodzi nam 120 takich 1000 stronicowych książek.

W 2013 Linux 3.10 posiadał już tych linii: 15,803,499

Tzn. stosując powyższą metodykę wychodzi nam ok. 316 książek.

Ostatnio po lekturze rozpraw profesora Andrew S. Tannenbauma twórcy Minixa, pt. Moder Operating Systems, Third Edition, Pertince Hall 2009; oraz profesora Douglasa Comera, Operating System Design - The Xinu Approach, Linksys Version, CRC Press, 2011 naszła mnie smutna konluzja, że ostatnie bez mała 25 lat rozwoju systemów operacyjnych oscylowało podług jednego z góry ustalonego schematu jądra monolitycznego; architektury opracowanej w latach 70'tych XX wieku.

Co ciekawe tylko 3 na 24 osoby które przepytałem ze swojego środowiska potrafiło poparwnie zdefiniować określenie System Operacyjny! - nawet [chociaż po bliższym wglądzie powód mylenia nie wynika z niewiedzy żeczonego] Richard Stallman znany powszechnie pod akronimem RMS; miesza to co systemem operacyjnym nigdy nie było ani nie jest tj. oprogramowanie wytworzone w ramach projektu GNU, z tym czym faktycznie mamy do czynienia tj. z jądrem, z angielska zwanym kernelem.

Każdy komputer oparty o archietkurę 32 bitową [i386] czy 64 bitową [amd64/x86_64], praktycznie większość SoC'ów opartych o ARM do użądzeń mobilnych tj. tablety, smartphony itp., posiada dwa tryby pracy.

a] kernel mode [tryb jądra] zwany również trybem nadzorcy tj. supervisor mode

b] user mode [tryb urzytkownika]

System operacyjny jest zatem tym programem który tworzy fundament w punkcie a], tworzy wirtualny świat który identyfikuje i zarządza wszystkimi elementami fizycznymi komputera; wszystkie zaś inne programy uruchamiane są w trybie b]

Poelcam zresztą każdemu zainteresowanemu wykład Tanenbauma, sprzed paru lat dotyczący głównie rozwoju Minixa tj. wyższości rozwiązań mikrokerneli nad jądrami monolitycznymi, niemej podaje całość w charakterystyczny dla siebie; tzn. bardzo interesujący i nie nużący sposób:

Share this post


Link to post
Share on other sites
bavarsky   

Nad ranem dwa dni temu.

-off

Zmęczenie doskwierało mi dość mocno, czynności typu; grab NetBSD-current sources ; cd src/share/man/man0 ; make - powtarzały się cyklicznie, poprawki własne pod kernel i userland, ustawianie nowych reguł pod pf.

Stacja robocza po lewej, prowadzi cross kompilację pod architekturę SPARC, systatem widzę obciążenie rdzeni, napięcie, zużycie prądu, czytam reguły traceroute w lewym oknie tmuxa; w prawym w vim'ie dodaję poprawki do skryptu. Doczytuję dyskusję na efnecie; zaglądam nerwowo na konto mieszczące się w zacnym zakątku sdf.lonestar.org

Kawa pomaga. Łykam magnez. Popijam kawą.

-off

Godzina 3:12:03 - Inncoming talk from host: xxx@xxx

Zamurowało mnie w pierwszej chwili; ale widocznie byłem na pilocie, bo zrezygnowany położyłem się na materacu i myśląc że objawy omamów ustaną; dopiłem kawę rozlewając niechcący pozostałą resztkę z dzbanka na starą klawiaturę.

Potrzebowałem ok. 2 minut, na zrozumienie że ten PID który usiłuje ze mną się porozumieć; zdaje się być procesem całkiem logicznym - mającym swoje uzasadnienie w przeszłości.

Otóż jakieś 7 lat temu zapodałem na BBS'ie jednej z największych grup BSD w Berkeley w Kalifornii; kontakt ze mną, pod adresem xxx.xxx.xxx user: talk pass: napoleoN

Tj. utworzyłem na swoim domowym routerze, który jest niezmiennie od 9 już lat stary Optimus Prestige, oparty o Penitum 800EB; system OpenBSD 5.1 [z własnymi aktualizacjami i modyfikacjami kernela, nie mam w zwyczaju zmieniania dystrybucji na nowsze zbyt często ]. User talk, to użytkownik widmo, tzn. po zalogowaniu w swoim terminalu uruchamia program talk, tj. takie gadu-gadu, program z lat 80'tych który pojawił się w jednej z najlepszych dystrybucji BSD linii 4.2 - ta inicjalizacja powoduje że na moim ekranie wyświetla się informacja że ten i ten chce się ze mną porozumieć.

Jakim wielkim zdziwieniem był ów fakt, że połączył się ze mną student z MIT, który przeglądał stare wpisy na wspomnianym BBS'ie.

Ot taka sprawa. Niekoniecznie składnie poukładana, lecz czasami domniemany Ghost in the Shell; miewa ludzkie oblicze.

Share this post


Link to post
Share on other sites
bavarsky   

Za czasów francusko-amerykańskiego aliansu Bull-Honeywell powstał jeden z pierwszych procesorów z równoległym dostępem do I/O; pod postacią układu DPS/L68.

Piękna sprawa; obecnie trwają prace nad wskrzeszeniem wirtualnego procesora w projekcie SIMH Boba Supnika; cel główny uruchomienie Multicsa. W projekcie zajmuję się tworzeniem kodu pod czwartą warstwę jądra zajmującą się; Interprocess Communications; celem tego zabiegu jest udostępnienie warstw działających w trybie chronionym [kernel-mode] Network-Layer Protocols oraz Transport-Layer Protocols; które są używane w dalszej kolejności przez takie protokoły jak UDP, TCP, czy SCTP [w trybie zwykłym]. Dostaliśmy nawet dofinansowanie od Bulla i... a dzięki grantowi od prof. Andrew S. Tanenbauma [twórcy Minixa], mamy własny, bardzo mocny VPS; do tworzenia i testów repozytorium.

Supnik, zaczął tworzyć wirtualne porty dawnych procesorów na początku lat 90'tych. Było to spowodowane m.in. chęcią wykonania kopii informacji zapisanych na starych nośnikach danych; maszyn np. 16 bitowych PDP'ków, czy 32 bitowych VAXach [chociaż VAXy oraz następca- 64-bitowa seria Alpha DEC'a, ma potężne wsparcie ze strony np. projektu OpenVMS, NetBSD].

Ja się dopchałem przez przypadek, pracując nad własnymi poprawkami związanymi z wieloprocesorowością symetryczną jądra projektu NetBSD, portu 64 bitowego [amd64].

Multics, był to natomiast jeden z pierwszych systemów typu Time-Sharing. Rozwinięcie projektu CTSS z MIT.

Share this post


Link to post
Share on other sites
bavarsky   

Byłem u kolegi ostatnio.

Niby nic wielkiego, ale stwierdził że zginął mu jego mysz; znaczy mysz była jego brata, a on miał się nią opiekować na czas pobytu jego brata u Niemca.

Takoż; przy piwie stwierdził że nie widział myszy od tygodnia i zastanawia się co się z nią stało.

No i ten kolega, który generalnie ma taką fajną dziewczynę, która pozwala mu trzymać 15 serwerów rozmiarówka U1 w pokoju obok [no i mysz], tzn. nie w sypialni ale w jej bliskim pobliżu; stwierdził po kolejnym piwie, że musi sprawdzić dwójkę tzn. serwer drugi od dołu.

Po parunastu minutach, przychodzi do mnie z nowym zasobem piwa; i stwierdza że znalazł mysz.

Ja po trzecim piwie, ze stoickim spokojem poszedłem zobaczyć to co on znalazł. Wyjąłem ołówek z kieszeni [Koh-I-Noor 1500 jeszcze z czasów liceum] i zaczynam tyrpać podsuszone zwłoki. Kumpel mówi że musiała tam leżeć ładnych parę dni; bo jej truchło które znalazło się centralnie nad radiatorem mostka północnego, powodowało dziwnie zawyżone statystyki temperatur po odwołaniu się do sysctl hw.sensors.

W sumie to go zastanawiało; bo średnio każdy 'northbridge', każdego serwera przy średnim/wysokim obciążeniu wydziela od 50 do 65 'C ciepła, dwójka dawała przeszło 90 'C przy średnim i to od poniedziałku [zeszłego], tyle że nie chciało mu się wtenczas ruszać "szafy" bo dziewczyna robiła mu obiekcje względem przyszłego potencjalnego pożycia małżeńskiego.

Te kobiety.

Share this post


Link to post
Share on other sites
bavarsky   

Z okazji świąt sprawiłem sobie za parę groszy taki oto prezent:

Serwer do montowania w szafie typ 1U;

15913181636_57502f9c4c.jpgDell PowerEdge 750 #1 by Marcin F. Michalski, on Flickr

Wprawdzie to "staruszek" bo ma już prawie 10 lat, niemniej jak na moje zapotrzebowania nada się aż z nadwyżką. Jest oparty o procesor Pentium 4 seria Prescott, co oznacza że chip ma podwójne ALU... czyli jest 64 bitowy, a no i oczywiście wyposażony jest w technologię Hyper Threading, tj. system widzi dwa logiczne procesory, mimo że jest jeden fizyczny rdzeń ;)

Wprawdzie płyta główna obsługuje maks do 4 GB RAM, niemniej jeszcze nie zdecydowałem czy zainstaluje na nim wersję 32 czy 64 bitową NetBSD. Zapewne ze względów projektowych wybiorę 32 bitową.

Dyski twarde wymieniłem na dwa 500 GB SATA, pod nowym kontrolerem 64 bitowym chodzą.

W sumie całość działa już dobry tydzień, pobiera mało prądu, no i liczy się tylko terminal [karta graficzna to całe szczęście zintegrowana ATI RageXL z 8 MB pamięci :)]

Share this post


Link to post
Share on other sites
poldas   

Jeszcze jakaś obudowa by się do tego przydała.

Ile to kosztowało z dwoma dyskami włącznie?

Co z systemem operacyjnym?

Share this post


Link to post
Share on other sites
bavarsky   

Jeszcze jakaś obudowa by się do tego przydała.

Ile to kosztowało z dwoma dyskami włącznie?

Co z systemem operacyjnym?

Napisałem wyżej pod jakim systemem operacyjnym całość pracuje/czy będzie pracować. Koszty zamknęły się w przedziale 500 zł.

Blacha okrywająca górę została zdjęta, bo o ile pamiętam jak wykonywałem zdjęcie coś jeszcze przy nim robiłem. Serwer umieszczę docelowo w szafie, razem ze switchem.

Potrzebny był mi sprzęt do programowania, analizy protokołów sieciowych i kompilacji; Delle serii PowerEdge mają najlepsze wsparcie pod systemy na których pracuję tj. OpenBSD i NetBSD. Nie ma zamkniętego BIOSu, a kultura pracy zadziwia.

Zasilacz na wyjściu daje maksymalny ciąg 280 Wat, takoż nie pobiera wielkich ilości prądu i jest dość cichy jak na tę serię serwerów.

Pamiętam że pracowałem też w firmie na maszynach Fujitsu Primergy, każdy z dwoma Opteronami i 16 GB pamięci; tamte podczas pracy hałasują okropnie.

Edited by bavarsky

Share this post


Link to post
Share on other sites
bavarsky   

Serwer zainstalowałem, działa stabilnie - niemniej postanowiłem się przyjrzeć bliżej zainstalowanemu w gnieździe 64-bit/66MHz, kontrolerowi dysków Adaptec Serial ATA RAID 2410SA.

aar2410sa.png

Komenda dmesg[displays the contents of the system message buffer], podała mi pod 'nagłówkiem' tj. nazwą sterownika aac(4), następującą treść:

aac0 at pci2 dev 1 function 0: Adaptec ASR-2410SA

aac0: interrupting at ioapic1 pin 0

aac0: New comm. interface enabled

aac0: i80303 at 100MHz, 64MB mem (48MB cache), optional battery not installed

aac0: Kernel 4.2-0 [build 8205], Monitor 4.2-0 [build 8205], S/N 4B840

aac0: Controller supports: 0x3097c<WCACHE,DATA64,HOSTTIME,RAID50,WINDOW4GB,SOFTE

Systemy z rodziny BSD, podają nazwę danego urządzenia pod 'flagą' tj. skrótem danej rodziny kontrolerów; w tym wypadku jest to skrót aac i odnosi się do serii kontrolerów SATA firmy Adaptec; należą do nich:

o Adaptec AAC-364

o Adaptec SCSI RAID 2120S

o Adaptec SCSI RAID 2200S

o Adaptec SATA RAID 2410SA

o Adaptec SATA RAID 3405

o Adaptec SCSI RAID 5400S

o Dell PERC 2/Si

o Dell PERC 2/QC

o Dell PERC 3/Di

o Dell PERC 3/Si

o Dell PERC 320/DC

o Dell CERC SATA RAID 1.5/6ch

o HP NetRAID 4M

o HP ML110 G2 (Adaptec SATA RAID 2610SA)

o IBM ServeRAID 8k

[w:] Kernel Interfaces Manual, aac(4), NetBSD 6.1.5, February 19, 2011

Sam kontroler, to w istocie samodzielny komputer, posiadający własny procesor RISC o częstotliwości 100 Mhz oraz własną pamięć podręczną 64MB; obsługuje macierz do 4 TB, tj. ma cztery złącza każde może z osobna obsłużyć dysk o maksymalnej pojemności 1 TB.

Share this post


Link to post
Share on other sites
poldas   

Dałbyś radę usprawnić "silnik" tego forum?

Bo czasem trudzę się nad szukaniem tego, co napisałem wczoraj.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Przed wyrażeniem zgody na Terms of Use forum koniecznie zapoznaj się z naszą Privacy Policy. Jej akceptacja jest dobrowolna, ale niezbędna do dalszego korzystania z forum.