Koja je razlika između kernela i ljuske?


Odgovor 1:

Travis Hance

  • Što se događa ako imamo SAMO jezgru NEMO ljuske? Tada imate stroj sa stvarnim OS-om, ali NE postoji način da ga možete koristiti. Ne postoji "sučelje" za ljudsku interakciju s OS-om, a samim tim i sa strojem. (Pod pretpostavkom da GUI-i ne postoje, radi jednostavnosti:) Što se događa ako imamo SAMO ljusku, ali NIJE kernel? To je nemoguće. Shell je program koji nudi OS, tako da možete komunicirati s njim. Bez kernela / OS-a ništa se ne može izvršiti (u određenom smislu, nije 100% točno, ali imate ideju)

[kodirati]

Zrno:

mekši, obično jestivi dio oraha, sjemena ili voćnog kamena koji se nalazi unutar njegove tvrde školjke. [/ code]


Odgovor 2:

Kratki odgovor je da u starim vremenima (50-ih, 60-ih i ranih 70-ih) nije postojala razlika između to dvoje, ali sredinom 60-ih kao programeri OS-a odlučili smo da je to loša ideja i počeli smo slojiti sustav bolje razdvajati funkcionalnost. Danas, bez obzira za koji OS koristite sliku, izgleda ovako:

Kernel ima nekoliko osnovnih odgovornosti:

  1. Spajanje s HW-om i pružanje ujednačenih imena i modela za različite usluge koje OS pruža pokretanju programa koji pružaju zaštitu / sigurnost između različitih radnji koje se događaju u memoriji programa za učitavanje / iskrcavanje sustava i pokretanje / zaustavljanje istih prema potrebi

Kernel to čini s malim brojem dobro definiranih sučelja, koja nazivamo "sistemski pozivi" koji imaju točno određene rezultate za određene radnje. Ako program predstavi nešto ili neki skup informacija kernelu, kernel će zauzvrat tom programu vratiti nešto drugo (ili grešku).

S druge strane, školjka ili zapovjedni sustav prvenstveno je program za sučelje s čovjekom, iako se ponekad u programiranju može programirati tako da se mogu obavljati složenije akcije. Njegov je posao prevesti ideje s više razine u radnje koje računalo može poduzeti na zahtjev čovjeka. Koristi OS sučelja za usluge koje pruža kernel obavljaju te operacije za čovjeka. Iz toga proizlazi da izraz "školjka" dolazi iz ideje / opažanja da kao korisnik "vidite: računalo kao da je zatvoreno u školjci" (tj. U zatvorenoj sobi) i jedine stvari o računalu koje ste Možete opaziti stvari koje vam ljuska omogućuje. Sve ostalo u vezi s računalom skriveno je od vas, korisnika.

Kao što rekoh, u starijim vremenima zapovjedni sustav bio je uvijen u kernel i obično nije zasebni program. Tako su razvijeni sustavi poput TSS / 360, OS / 360, RT / 11, TOPS itd. I izvorno VMS. Izrada naredbenog sustava, aka ljuske, poseban program od samog kernela kao što je to učinjeno s Multics-om i UNIX-om, značilo je da se iz istih dijelova fundamentacije mogu stvoriti različita iskustva s korisničkim sučeljem. Do kasnih 1970-ih većina je operativnih sustava odvajala prevoditelj / ljušturu naredbi i jezgru u modelu koji sam prikazao gore.

Razmotrite, primjerice, Mac OSx i Linux. Iako se obje temelje na "UNIX" tehnologijama i svi podržavaju neku vrstu ljuske UNIX-a kao sučelja naredbenog retka, osnovno prijava vrlo se razlikuje ovisno o "distro-u, načinu postavljanja, koji je GUI korišten ili koja je ljuska postavljena. kao ljuska za prijavu. Osjećaji sustava mogu biti posve različiti. U stvari, Linux i UNIX često su "ugrađeni" u uređaje poput navigacijskih sustava u automobilu ili vašeg "TiVo-a", a malo je vjerojatno da ćete na tim uređajima vidjeti "školjku".

Napomena Windows se ne razlikuje u funkcionalnosti i može učiniti istu stvar, iako se zamjena njegovog sučelja vrši rjeđe. Ključna poanta je da su jezgra i korisničko sučelje odvojeni u slojevima i da se kao rezultat to mogu smisliti različita korisnička sučelja.


Odgovor 3:

Kratki odgovor je da u starim vremenima (50-ih, 60-ih i ranih 70-ih) nije postojala razlika između to dvoje, ali sredinom 60-ih kao programeri OS-a odlučili smo da je to loša ideja i počeli smo slojiti sustav bolje razdvajati funkcionalnost. Danas, bez obzira za koji OS koristite sliku, izgleda ovako:

Kernel ima nekoliko osnovnih odgovornosti:

  1. Spajanje s HW-om i pružanje ujednačenih imena i modela za različite usluge koje OS pruža pokretanju programa koji pružaju zaštitu / sigurnost između različitih radnji koje se događaju u memoriji programa za učitavanje / iskrcavanje sustava i pokretanje / zaustavljanje istih prema potrebi

Kernel to čini s malim brojem dobro definiranih sučelja, koja nazivamo "sistemski pozivi" koji imaju točno određene rezultate za određene radnje. Ako program predstavi nešto ili neki skup informacija kernelu, kernel će zauzvrat tom programu vratiti nešto drugo (ili grešku).

S druge strane, školjka ili zapovjedni sustav prvenstveno je program za sučelje s čovjekom, iako se ponekad u programiranju može programirati tako da se mogu obavljati složenije akcije. Njegov je posao prevesti ideje s više razine u radnje koje računalo može poduzeti na zahtjev čovjeka. Koristi OS sučelja za usluge koje pruža kernel obavljaju te operacije za čovjeka. Iz toga proizlazi da izraz "školjka" dolazi iz ideje / opažanja da kao korisnik "vidite: računalo kao da je zatvoreno u školjci" (tj. U zatvorenoj sobi) i jedine stvari o računalu koje ste Možete opaziti stvari koje vam ljuska omogućuje. Sve ostalo u vezi s računalom skriveno je od vas, korisnika.

Kao što rekoh, u starijim vremenima zapovjedni sustav bio je uvijen u kernel i obično nije zasebni program. Tako su razvijeni sustavi poput TSS / 360, OS / 360, RT / 11, TOPS itd. I izvorno VMS. Izrada naredbenog sustava, aka ljuske, poseban program od samog kernela kao što je to učinjeno s Multics-om i UNIX-om, značilo je da se iz istih dijelova fundamentacije mogu stvoriti različita iskustva s korisničkim sučeljem. Do kasnih 1970-ih većina je operativnih sustava odvajala prevoditelj / ljušturu naredbi i jezgru u modelu koji sam prikazao gore.

Razmotrite, primjerice, Mac OSx i Linux. Iako se obje temelje na "UNIX" tehnologijama i svi podržavaju neku vrstu ljuske UNIX-a kao sučelja naredbenog retka, osnovno prijava vrlo se razlikuje ovisno o "distro-u, načinu postavljanja, koji je GUI korišten ili koja je ljuska postavljena. kao ljuska za prijavu. Osjećaji sustava mogu biti posve različiti. U stvari, Linux i UNIX često su "ugrađeni" u uređaje poput navigacijskih sustava u automobilu ili vašeg "TiVo-a", a malo je vjerojatno da ćete na tim uređajima vidjeti "školjku".

Napomena Windows se ne razlikuje u funkcionalnosti i može učiniti istu stvar, iako se zamjena njegovog sučelja vrši rjeđe. Ključna poanta je da su jezgra i korisničko sučelje odvojeni u slojevima i da se kao rezultat to mogu smisliti različita korisnička sučelja.


Odgovor 4:

Kratki odgovor je da u starim vremenima (50-ih, 60-ih i ranih 70-ih) nije postojala razlika između to dvoje, ali sredinom 60-ih kao programeri OS-a odlučili smo da je to loša ideja i počeli smo slojiti sustav bolje razdvajati funkcionalnost. Danas, bez obzira za koji OS koristite sliku, izgleda ovako:

Kernel ima nekoliko osnovnih odgovornosti:

  1. Spajanje s HW-om i pružanje ujednačenih imena i modela za različite usluge koje OS pruža pokretanju programa koji pružaju zaštitu / sigurnost između različitih radnji koje se događaju u memoriji programa za učitavanje / iskrcavanje sustava i pokretanje / zaustavljanje istih prema potrebi

Kernel to čini s malim brojem dobro definiranih sučelja, koja nazivamo "sistemski pozivi" koji imaju točno određene rezultate za određene radnje. Ako program predstavi nešto ili neki skup informacija kernelu, kernel će zauzvrat tom programu vratiti nešto drugo (ili grešku).

S druge strane, školjka ili zapovjedni sustav prvenstveno je program za sučelje s čovjekom, iako se ponekad u programiranju može programirati tako da se mogu obavljati složenije akcije. Njegov je posao prevesti ideje s više razine u radnje koje računalo može poduzeti na zahtjev čovjeka. Koristi OS sučelja za usluge koje pruža kernel obavljaju te operacije za čovjeka. Iz toga proizlazi da izraz "školjka" dolazi iz ideje / opažanja da kao korisnik "vidite: računalo kao da je zatvoreno u školjci" (tj. U zatvorenoj sobi) i jedine stvari o računalu koje ste Možete opaziti stvari koje vam ljuska omogućuje. Sve ostalo u vezi s računalom skriveno je od vas, korisnika.

Kao što rekoh, u starijim vremenima zapovjedni sustav bio je uvijen u kernel i obično nije zasebni program. Tako su razvijeni sustavi poput TSS / 360, OS / 360, RT / 11, TOPS itd. I izvorno VMS. Izrada naredbenog sustava, aka ljuske, poseban program od samog kernela kao što je to učinjeno s Multics-om i UNIX-om, značilo je da se iz istih dijelova fundamentacije mogu stvoriti različita iskustva s korisničkim sučeljem. Do kasnih 1970-ih većina je operativnih sustava odvajala prevoditelj / ljušturu naredbi i jezgru u modelu koji sam prikazao gore.

Razmotrite, primjerice, Mac OSx i Linux. Iako se obje temelje na "UNIX" tehnologijama i svi podržavaju neku vrstu ljuske UNIX-a kao sučelja naredbenog retka, osnovno prijava vrlo se razlikuje ovisno o "distro-u, načinu postavljanja, koji je GUI korišten ili koja je ljuska postavljena. kao ljuska za prijavu. Osjećaji sustava mogu biti posve različiti. U stvari, Linux i UNIX često su "ugrađeni" u uređaje poput navigacijskih sustava u automobilu ili vašeg "TiVo-a", a malo je vjerojatno da ćete na tim uređajima vidjeti "školjku".

Napomena Windows se ne razlikuje u funkcionalnosti i može učiniti istu stvar, iako se zamjena njegovog sučelja vrši rjeđe. Ključna poanta je da su jezgra i korisničko sučelje odvojeni u slojevima i da se kao rezultat to mogu smisliti različita korisnička sučelja.