Citat:
srki:
A sta ko uopste ne idem u shell nego sve radim iz KDE-a? Onda ono tvoje sto kazes da i to treba zvati gnu/linux jer cu znati da koristin i gnu/nesto_drugo nije tacna. Onda bi realnije bilo da se taj sistem zove KDE/linux po toj logici.
Ako koristiš samo KDE, onda ti je potpuno nebitno da li koristiš GNU/Linux, FreeBSD, HP-UX, SunOS (Solaris), itd. Znači, onda svoj sistem treba da zoveš samo „KDE“, zato što u tome radiš — ne zanima te šta je ispod.
Citat:
A i dalje ne znam sta ti smatras pod operativnim sistemom. Zasto bi i Gnu bez ikakvog jezgra smatrao operativnim sistemom.
Još jednom — ja nemam tačnu definiciju operativnog sistema. Možemo da pričamo u kontekstu bilo koje:
1. Operativni sistem = jezgro, tada je dovoljno reći „Linux“
2. Operativni sistem = jezgro i sistemski alati, kada imamo sistem „GNU/Linux“
3. Operativni sistem = okruženje koje obezbeđuje interfejs za
programere i korisnike, kada se radi jedino o „GNU“
Problem koji ovde nastaje je što su mnogi isključivi i hoće da dozvole jedino definiciju 1. Ja govorim o tome kako POSIX propisuje definiciju 3:
Citat:
System:
An implementation of IEEE Std 1003.1-2001.
Istovremeno se slažem da je svaka od ovih potpuno ispravna, a kao razlog zašto ne može jedino 1. biti ispravna, navodim primere mikrokernela: Linux jezgro radi i na mikrokernelima kao što su L4, Mach, IBM-ova VM itd. Tada Linux ne ispunjava posao koji
Alex navodi:
Citat:
Operativni sistem je (moja loose definicija) program koji kontrolise hardver i predstavlja vezu izmedju hardvera i okruzenja (interfejsa) operativnog sistema.
Znači, ako se složim sa definicijom 1, onda ne postoji „Linux operativni sistem“ na IBM zSeries-u (pošto hardver kontroliše VM, a naravno predstavlja vezu sa njim, pošto Linux nema pojma o tome), i na nekim drugim sistemima. A ipak, svi korisnici će imati utisak kao da zaista rade u „Linux-u“.
Usput, ne znam zašto iko koristi izraz „kernel“ ili „jezgro“, ako je to isto što i „operativni sistem“? Čim ova reč postoji, i toliko je raširena, to znači da veliki broj ljudi te stvari smatra različitim, tj. definicija 1 nije dovoljna za njih.
Mislim da je očigledan marketinški značaj (a ne tehnički, koji navodno Alex pokazuje) „Linux-a“ danas — čak i kada on nije osnovno jezgro (npr. MkLinux, IBM zSeries), ili kada mu se uopšte ne pristupa (razni embedded uređaji koji za sve koriste npr. Javu, a eto Linux je tu samo da mogu da ga reklamiraju).
„Unix“ je zaštićeni žig koji se definiše pomoću Single Unix Specification (v. unix-systems.org i opengroup.org), a nešto može biti Unix, tek kada prođe testove saglasnosti sa SUS (v3 za Unix2003, v2 za Unix98). Samo Linux jezgro sigurno ne može da zadovolji SUS (nadskup od POSIX), odnosno, neophodno mu je nešto da bi mogao da bude operativni sistem u rangu sa Unix-om.
Naravno, ovu definiciju
stručnjak (nije Alexov, pa je samo stručnjak) odbacuje obrazloženjem da je to „moderno i marketinško nazivanje“ (što bih ja rekao upravo za nazivanje čitavog operativnog sistema Linuksom :-).
Konačno, zaključak je sledeći:
— Postoji potreba razlikovanja radnog i razvojnog okruženja (npr. POSIX operativni sistem) i jezgra operativnog sistema, a za takve potrebe su ustaljene reči „operativni sistem“ i „kernel“
— Ne postoji jedna jedina definicija operativnog sistema koja može da zadovolji sve potrebe
Citat:
a zasto nisi stavio ovo kao bold
IEEE Std 1003.1-2001 defines a standard operating system interface
operating system interface != operating system
Hm, koliko se meni čini, ovo je zapravo isto što i „interface of standard operating system“ (dok Alex smatra da se radi o „standard interface of operating system“). Naravno, ovde imamo opet problem engleskog jezika i padeža, ali gorenavedena definicija pojma „system“ valjda uklanja sve sumnje na šta se misli.
Citat:
A inace RMS kaze da je GNU bez jezgra operativni sistem. Da li se slazes sa tim?
Hm, zašto je neophodna isključivost? Da, ako se koristi definicija 3, onda se slažem. Ako se koristi 2, onda se ne slažem, neophodan sastojak čini i jezgro, tj. Linux. Ako se koristi 1, onda GNU nikako nije operativni sistem, a nije ni Hurd, ali zato Mach ili L4 jeste (a koji je potpuno neupotrebljiv ako se ne doda nešto na njega).
Citat:
Znaci Gnu je u skladu sa posix-om i on ce isto da radi i pod BSD-om i pod linuxom na raznim platformama. Znaci portabilan je ali opet ne vidim razlog uplitanja posixa kada pricamo o operativnom sistemu a ne o interfejsu.
Ovo je pogrešna interpretacija. Kao prvo, POSIX je podskup „Single Unix Specification“, a slažeš se da je Unix operativni sistem, a ne interfejs? Svaku pojavu reči POSIX slobodno zameni sa SUS, ako te to već brine ili stvara nedoumicu (jedino SUS nije IEEE/ISO standard, već se radi o „pravom Unix-u“).
Drugo, GNU neće isto da radi pod „BSD-om i pod linuxom“, zato što je tek on taj koji obezbeđuje standardni i portabilni interfejs (znači, GNU operativni sistem mora da se portuje na svako novo jezgro, koja sadrže šarene i vesele interfejse, nesaglasne među sobom, naravno). Linux koristi svoje sistemske pozive (syscalls, to je njegov interfejs, nimalo standardan ili portabilan, naravno), a BSD opet svoje.
Opet, ovde je pitanje definicije pojma operativnog sistema. Vrlo je česta pojava da se bar programski interfejs (ako već ne i sistemski alati) smatraju delom operativnog sistema (stoga i toliko pominjanje POSIX-a, gde upravo programski interfejs u C-u čini jednu važnu komponentu, a osnovni korisnički interfejs drugu).
Citat:
alex:
Linux svojom POSIX kompatibilnoscu garantuje da ce svi POSIX alati raditi na isti nacin pod Linux operativnim sistemom.
Hm, ovo bih voleo da vidim. Izbaci GNU iz Linux sistema, i pokušaj da pokreneš
bilo koji POSIX alat! Primetićeš da nijedan od njih neće raditi, pre svega zato što nema C biblioteke (mada, ovde je nejasno značenje izraza „POSIX alat“ koji koristiš: da li je to program razvijen prateći POSIX interfejs za programere, ili program koji obezbeđuje funkcionalnost npr. programa „ls“? U prvom slučaju, neophodna ti je GNU C biblioteka, a u drugom ne postoji nijedna saglasna sa POSIX-om verzija ls-a koja radi bez C biblioteke, bar ne koliko ja znam).
Svaku tvrdnju ove vrste bih voleo da potkrepiš i delom — izbaci sav GNU softver („alate“, je li?), i napravi Linux sistem na kome će raditi POSIX alati. Tada ću se složiti sa tobom, a do tada pusti prazne priče i teoriju (slažem se da je
teorijski moguće razviti čitav POSIX sistem koristeći Linux jezgro, bez ijednog GNU dela, ali to niko nije uradio — i to je poenta).
Linux je moguće koristiti i bez POSIX interfejsa (direktan pristup pomoću sistemskih poziva), kada niko i ne pomišlja da sistem nazove GNU/Linux-om.
Citat:
But noooo, RMS je cekao da Linux stekne veliki uspeh pa da pokusa da na njega prikaci Gnu dodatak.. Not in my court
Nema to nikakve veze sa „čekanjem da Linux stekne veliki uspeh“. To vreme (1998) se poklapa sa pokretanjem „open source“ inicijative, kao zamene za „free software“. Prosto, ranije su pojam i ideje slobodnog softvera bili reklamirani kada god se pomene „Linux“, i to je bilo dovoljno. Međutim, od tada se uz svaki pomen Linux-a kaže i kako je to OpenSource softver („neka novina“, sve uz vezu ka opensource.org, umesto nekadašnje veze ka gnu.org), i GNU biva zaboravljen. Sa praktične strane je OpenSource potpuno identičan sa Free Software. A za projekat takvog tipa kao što je GNU, manjak popularnosti osetno utiče na njegov uspeh (npr. na razvoju jezgra Hurd učestvuje svega 10-tak programera, a ono je svakako mnogo
tehnički zanimljivije i naprednije od jezgra Linux; pored toga što se sa time počelo tek 1996. godine, ovo je jedan od problema koji su nastali zato što već postoji jezgro koje kako-tako radi — u to vreme).
Svakako, popularnost Linux-a je doprinela i razvoju GNU-a, ali bez GNU-a, ne bi danas ni bilo „Linux“-a kakav je sada — prosto, ova dva proizvoda su komplementarna u marketinškim pitanjima (popularnost, raširenost, upotrebljivost). Ko god tvrdi da bi Linux postao ovako brzo popularan bez podrške GNU-a, taj je lud kao i oni drugi.
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.