Wpis z mikrobloga

#codziennylinustorvalds 30/32 - special edition 3 - 28 lat Linuksa!


Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)

PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.


W taki oto sposób świat usłyszał po raz pierwszy o Linuksie - no może nie o Linuksie, ale o jeszcze nienazwanym systemie dwudziestojednoletniego studenta z Finlandi.

Początkowo system był rozwijany pod nazwą FREAX, na szczęscie administrator serwera FTP wyświadczył światu wielką przysługe i zmienił nazwę katalogu(bez wiedzy Linusa) na Linux. Pierwsza wersja kodu(0.01) została wydana 17 września 1991 i liczyła około 10 000 linii, w przeciągu dwóch następnych miesięcy pojawia się wersja 0.02 oraz 0.03.

Linus w swojej ksiązce pisze, że prawdopodobnie jego zabawa w pisanie systemu operacyjnego zakończyłaby się pod koniec roku 1991 na wersji 0.03 z powodu znudzenia się projektem i znużenia debugowaniem. Na szczęście wydarzyły się dwie rzeczy, które zmotywowały go do pracy. Pierwszą z nich było przypadkowe uszkodzenie partycji z Miniksem. Linus miał do wyboru albo ponowne zainstalowanie Miniksa, albo doprowadzenie Linuksa do stanu w którym będzie mógł służyć jako jego podstawowy system operacyjny. Na szczęście wybrał drugą opcję i tak oto powstała wersja 0.10, która była samowystarczalna - rozwój Linuksa odbywał się na Linuksie. System był na tyle używalny, że inni ludzie zaczęli z niego korzystać i przysyłać Linusowi własny kod oraz prosić go o wprowadznie nowych funkcjonalności, co motywowało go do dalszej pracy.

Linus w swojej książce wspomina również, że pierwszą funkcjonalnością, którą wprowadził do jądra, a której osobiście wtedy nie potrzebował było dodanie możliwości 'wymiatania'(page-out) stron w pamięci na dysk, co umożliwiło kompilowanie kernela pod kontrolą Linuksa na komputerach z 2 megabajtami pamięci. Wersja z tą funkcjonalności została wydana jako 0.12, była to również pierwsza wersją wydaną na licencji GPLv2. Wcześniejsze wersje kodu były na licencji zabraniającej komercyjnego użytku. Po latach Torvalds mówi o zmianie licencji tak:

Making Linux GPL’d was definitely the best thing I ever did.


Przełomowym momentem we wczesnej historii projektu było dodanie obsługi GUI(X Window System) wiosną 1992 przez Oresta Zborowskiego - świadczyło to o tym, że system jest w miarę dojrzały. Jeśli ktoś nie wie - X działa na zasadzie klient-serwer i do jego potrzebna jest obsługa lokalnych socketów, a od socketów już 'tylko krok' do obsługi sieci, której wtedy brakowało. Linus był przekonany, że na tym etapie projekt jest w 95% czymś co można nazwać wersją 1.0 i zamiast 0.13 następnym numerem wydania był 0.95.
Nie wiecie nawet jak bardzo się mylił, implementacja stosu sieciowego zajęła następne dwa lata i w marcu 1994 została wypuszczona wersja 1.0 kernela. Jako, że pomiędzy 0.95 a 1.0 nie ma zbyt wielu numerów to po dojściu do 0.99 zaczęto nazywać kolejne wydania w dość dziwaczny sposób - 0.99 patchlevel 11, 0.99 patchlevel 13B, 0.99 patchlevel 15Z, itp.

Kernel sam w sobie jest bezużyteczny i żeby mieć z niego jakikolwiek pożytek potrzebujemy aplikacji, które możemy uruchomić - inaczej mówiąc potrzebujemy dystrybucji Linuksa.
Pierwszą 'dystrybucją' Linuksa pochodzącą z 1991 roku był zestaw dówch dyskietek autorstwa H.J Lu. Pierwsza dyskietka zawierała bootowalny kernel, natomiast druga system plików z aplikacjami.
Nie oferowała ona zbyt wiele oprócz możliwości zabootowania systemu, jeśli ktoś chciał zainstalować ją na dysku twardym to musiał zrobić to całkowicie manualnie(m.in edytując MBR w heksedytorze :).
Historycznie drugą dystrybucją był MCC Interim Linux(luty 1992), była to dystrybucja oparta na kernelu 0.12 i jednym z jej celów było umożliwienie prostej instalacji systemu.
Po MCC pojawił się Softlanding Linux System (SLS), który zdobył dużą popularność w tamtym czasie. Jednak nie była to dystrybucja doskonała i na jej bazie powstał istniejący do dziś Slackware, a na bazie frustracji spowodowanej używaniem tej dystrybucji powstał Debian.

Wokół Linuksa zaczął się również pojawiać biznes, pierwszą komercyjną dystrybucją był Yggdrasil Linux/GNU/X, została ona wydana w grudniu 1992 roku. Pomiędzy 1992 a 1994 rokiem powstały między innymi takie firmy jak SUSE, Red Hat oraz niestniejąca już Caldera. Na przełomie tysiącleci Linux został również dostrzeżony przez dużych graczy takich jak IBM, DELL czy Oracle, deklarujących wsparcie dla swoich produktów na tym systemie.

To tyle o wczesnej historii tego projektu. Gdzie jesteśmy dzisiaj?

Sądzę, że sam Linus nie był sobie w stanie wyobrazić podczas pisania tego słynnego maila jak bardzo się pomylił. Linux nie jest już małym hobbystycznym systemem działającym tylko na klonach 386. Obecnie repozytorium z kodem ma około 26 milionów linii, nad którym pracowało co najmniej 15 tysięcy ludzi, a system został przeportowany na wiele architektur.

Niemal w każdym zastosowaniu Linux ma znaczny udział na rynku, zaczynając od małych systemów wbudowanych po smartfony, a kończąc na serwerach, mainframe i superkomputerach. Jedyną dziedziną w której Linux nie zdobył(jeszcze ;) popularności jest desktop, co Torvalds komentuje w ten sposób:

I started Linux as a desktop operating system. And it's the only area where Linux hasn't completely taken over. That just annoys the hell out of me.


Zmieniła się również rola Linusa, nie jest już głównym programistą, obecnie raczej zajmuje się mergowainem, review kodu oraz ogólną koordynacją projektu. Społeczność programistów wygląda również inaczej, nie jest to już w większośći grupa ludzi pracujących za darmo - obecnie 85% zmian pochodzi od programistów, którzy dostają za to pieniądze.

To by było na tyle, zostawiam Was z Linusem:
https://www.ted.com/talks/linus_torvalds_the_mind_behind_linux
oraz jego już wspomnianą książką:
https://archive.org/details/JustForFun

A dla chcących zmierzyć się z kodem kernela mam dwa linki ;):
https://0xax.gitbooks.io/linux-insides/content/index.html
https://kernelnewbies.org/FirstKernelPatch

#linux #programista15k #komputery #cytatywielkichludzi #cytaty #heheszki #programowanie #gruparatowaniapoziomu #ciekawostki
Pobierz y.....m - #codziennylinustorvalds 30/32 - special edition 3 - 28 lat Linuksa!
 
Hell...
źródło: comment_rqsY7LcdHrep7ZtMrWdapmb7s6txPjmW.jpg
  • 7
via Wykop Mobilny (Android)
  • 0
@yuim: Linux na desktopie to dziś już nic szokującego. Windows wciąż wygrywa dzięki ilości aplikacji, gdyby pakiet Adobe wyszedł na pingwina rzecz mogła by się zacząć szybko odmieniać. Proton coraz lepiej radzi sobie z grami, chmura Google Stadia ma hulać podobno na linuksie, więc twórcy gier powinni mieć coraz większe o tym pojęcie. Ja po rocznej przygodzie z linuksem wróciłem do Windows na laptopie, bo mnie wnerwiały... Czcionki :E
@soulburner: może i nie ma nic szokującego ale nadal w statystykach wygląda to słabo. Jak dla mnie wciąż Linuks ma dwa ważne problemy do rozwiązania.

Pierwszym z nich jest poprawa stosu graficznego - DRM/KMS są całkiem dojrzałe ale nadal brakuje im szlifu. Wspaniałą wiadomością jest to, że Android w tamtym roku zaczął używać tej infrastruktury zamiast swoich wynalazków. Kolejną rzeczą jest Wayland, który wciąż nie jest dokończony, X.org musi zwyczajnie zdechnąć.
@qarmin:
jeśli chodzi o Ubuntu i Snapy to problemem jest to, że ten projekt nie jest open source, kod serwera jest zamknięty. Snap ma problemy z działaniem na innych dystrybucjach, u mnie na Fedorze ciągle są jakieś jazdy z SELinuxem.

Co do Appimage to ten format jest trochę prymitywny moim zdaniem, wszystko jest w jednym pliku, nie ma koncepcji runtime tak jak we Flatapaku oraz nie ma centralnego repozytorium.

Flatpak natomiast