Programmēšana

Vai Linux kodola dizains ir novecojis?

Vai Linux kodola dizains ir novecojis?

Linux gadu gaitā ir guvis lielus panākumus, virzoties tālu tālāk, nekā tas bija, kad tas sākās. Bet viens redditor nesen domāja, vai Linux cieš no novecojuša kodola dizaina. Viņš uzdeva savu jautājumu Linux subreddit un ieguva dažas interesantas atbildes.

Ronis_BR sāka pavedienu ar šiem komentāriem:

Esmu bijis Linux lietotājs kopš 2004. gada. Es daudz zinu, kā izmantot sistēmu, bet es pārāk daudz nesaprotu, kas atrodas zem kodola pārsega. Patiesībā manas zināšanas apstājas, kā sastādīt savu kodolu.

Tomēr es gribētu šeit jautāt datorzinātniekiem, cik novecojis ir Linux kodols attiecībā uz tā dizainu? Es domāju, ka tas tika uzsākts 1992. gadā, un dažas īpašības nemainījās. No otras puses, es domāju, ka OS kodola dizaina jaunākajam līmenim (ja tāds pastāv ...) vajadzētu būt daudz progresīvam.

Vai ir iespējams norādīt, kuros punktos Linux kodola dizains ir progresīvāks salīdzinājumā ar Windows, macOS, FreeBSD kodolu dizainu? (Ievērojiet, ka es domāju dizainu, nevis to, kurš ir labāks. Piemēram, HURD ir lielisks dizains, taču ir diezgan vienkārši teikt, ka Linux šodien ir daudz attīstītāks).

Vairāk Reddit

Viņa kolēģi Linux redditors atbildēja ar savām domām par kodola dizainu:

ExoticMandibles: "" Novecojis "? Nē. Linux kodola dizains ir labi informēts par mūsdienu kodola dizainu. Vienkārši ir jāizdara izvēle, un Linux gāja kopā ar tradicionālo.

Kodola konstrukcijas spriedze ir starp "drošību / stabilitāti" un "veiktspēju". Mikrokodeli veicina drošību par veiktspējas cenu. Ja jums ir mazs mazs mikrokodels, kur kodols atvieglo sarunu ar aparatūru, atmiņas pārvaldību, IPC un maz ko citu, tam būs salīdzinoši maza API virsma, kas apgrūtina uzbrukumu. Un, ja jums ir kļūdains failu sistēmas draiveris / grafikas draiveris / utt., Draiveris var avarēt, nenoņemot kodolu, un, iespējams, to var restartēt nekaitīgi. Izcila stabilitāte! Augstākā drošība! Visas labas lietas.

Šīs pieejas negatīvie aspekti ir mūžīgā, neizbēgamā virsotne visam IPC. Ja jūsu programma vēlas ielādēt datus no faila, tai jājautā failu sistēmas draiverim, kas nozīmē IPC, lai šis process apstrādātu procesa konteksta slēdzi un divas zvana pārejas. Tad failu sistēmas draiveris lūdz kodolu runāt ar aparatūru, kas nozīmē divas zvana pārejas. Pēc tam failu sistēmas draiveris nosūta atbildi, kas nozīmē vairāk IPC divu zvana pāreju un vēl vienu konteksta slēdzi. Kopējā pieskaitāmā summa: divi konteksta slēdži, divi IPC zvani un sešas zvana pārejas. Ļoti dārgs!

Monolīts kodols saliek visus ierīces draiverus kodolā. Tātad kļūdains grafikas draiveris var noņemt kodolu vai, ja tam ir drošības caurums, to, iespējams, var izmantot, lai apdraudētu sistēmu. Bet! Ja jūsu programmai kaut kas jāielādē no diska, tā izsauc kodolu, kas veic zvana pāreju, runā ar aparatūru, aprēķina rezultātu un atgriež rezultātu, veicot vēl vienu zvana pāreju. Kopējā virs galvas: divas gredzena pārejas. Daudz lētāk! Daudz ātrāk!

Īsumā mikrorezera pieeja saka: “Atmetīsim veiktspēju, lai nodrošinātu augstāku drošību un stabilitāti”; monolītā kodola pieeja saka: "saglabāsim veiktspēju un vienkārši novērsīsim drošības un stabilitātes problēmas, kad tās aug." Šķiet, ka pasaule pieņem, ja dod priekšroku šai pieejai.

p.s. Windows NT nekad nebija tīrs mikrokodels, taču tas ilgu laiku bija mikrokodels. NT 3.x bija grafikas draiveri kā lietotāja process, un godīgi sakot, NT 3.x bija ļoti stabils. NT 4.0 grafikas draiverus pārvietoja kodolā; tas bija mazāk stabils, bet daudz izpildītāks. Tas bija parasti populārs solis. ”

F22Rapture: “Monolītās kodola pieejas praktiskais ieguvums, kas attiecas uz Linux, ir tas, ka tas liek aparatūras pārdevējiem iegūt savus draiverus kodolā, jo tikai daži aparatūras pārdevēji vēlas paši sekot līdzi kodola saskarnes izmaiņām. Tā kā lielākā daļa draiveru ir in-tree, saskarnes var pastāvīgi atjaunot, neatbalstot mantotās API. Kodols tikai garantē, ka tie neizjauks lietotāju telpu, nevis kodola atstarpi (draiverus), un ir daudz problēmu, ja runa ir par šīm draiveru saskarnēm, kas mudina pārdevējus virzīt savus draiverus. Nvidia ir viens no nedaudzajiem pārdevējiem, par kuru es domāju, ka tam ir resursi, lai uzturētu savu draiveri ārpus koka, pamatojoties tikai uz patentētiem komponentiem.

Man ir aizdomas, ka, ja autovadītāji būtu viņu pašu mazās salas, kuras atdala stabilas saskarnes, mums varētu nebūt tik daudz uzņēmumu, kas būtu gatavi atvērt savu kodu. ”

Mežardīka: "Šajā kontekstā" monolīts "neattiecas uz to, ka (gandrīz) viss kodola un draivera kods ir vienā avotu kokā, tas attiecas uz faktu, ka viss kodols un draiveri darbojas kā viens" uzdevums "vienā adreses vieta.

Tas atšķiras no "mikrokoda", kur dažādi kodola elementi un draiveri darbojas kā atsevišķi uzdevumi ar atsevišķām adrešu atstarpēm.

Kā minēts, Windows kodols būtībā ir monolīts, taču draiveri joprojām tiek izstrādāti atsevišķi. macOS izmanto sava veida hibrīdkodolu, kura pamatā ir mikrokodels, bet joprojām ir gandrīz viss vienā "uzdevumā", neskatoties uz to, ka gandrīz visus draiverus ir izstrādājis / piegādājis Apple. "

Plašums: “Cilvēki par to ir strīdējušies kopš 2004. gada. Tanenbauma-Torvalda debates 1992. gadā 1992. gadā ir liels piemērs argumentiem starp mikrokoda un monolītā kodola dizainu.

Es personīgi esmu daļa no mikrokodeļu nometnes. Viņi ir tīrāki, drošāki un pārnēsājamāki. Šajā sakarā kodola dizains bija novecojis brīdī, kad tas tika izveidots.

… Linux ir pārvarējis daudzas problēmas, kas saistītas ar monolīta kodola dizainu. Tas ir kļuvis modulārs, tā stingrā koda politika ir saglabājusi to salīdzinoši droši, un es nedomāju, ka kāds varētu iebilst pret to, cik tas ir pārnēsājams. ”

TEchnicolourSocks: “Ir tikai viens pareizais kodola veidošanas veids, un tas ir TempleOS veids.

Rakstīts HolyC valodā, tikai bez tīkla, tikai ar zvanu-0. Kā Dievs bija iecerējis. ”

Scandalousmambo: “Tik sarežģītas sistēmas kā Linux kodols izstrādes raksturs nozīmē, ka tā vienmēr būs“ novecojusi ”saskaņā ar cilvēkiem, kuri bija augstajos krēslos, kad tā tika projektēta pirmo reizi.

Šī operētājsistēma, iespējams, pārstāv desmitiem miljonu cilvēka darba stundu.

Vai to var nomainīt? Protams. Vai tas notiks? Nē."

Grumbel: “Tīrā praktiskā nozīmē vairs nav lielas atšķirības. Dienā HURD bija sava veida foršs ar savu lietotāju telpas failu sistēmām un tamlīdzīgām. Bet Linux kopš tā laika ir ieguvis lielāko daļu šīs funkcionalitātes. Ja vēlaties rakstīt failu sistēmā, USB draiverī vai ievades ierīcē lietotāju telpā, to var izdarīt, nav nepieciešams uzlauzt kodolu. Tagad jūs pat varat ielāpīt kodolu izpildes laikā, ja patiešām vēlaties.

Šķiet, ka Linux filozofija vienkārši nerakstīt kļūdainus draiverus, kas vispirms sagrauj kodolu, nevis padara to par ļoti izturīgu pret sūdiem draiveriem, arī reālajā pasaulē darbojas diezgan labi. Par to mums droši vien jāpateicas USB, jo pašraksturojošās aparatūras dēļ nevajadzēja rakstīt jaunu draiveri katram jaunam sīkrīkam, kuru pievienojat datoram.

Tāpēc visas debates par dizainu tagad ir pat akadēmiskākas nekā agrāk, jo vienkārši nav palicis daudz funkciju, kuras jūs varētu iegūt tikai ar dizaina izmaiņām un kuras nevarētu ieviest monolītā kodolā. ”

KugelKurt: “Lai gan liela daļa diskusiju šeit ir par mikrokodeliem pret monolīto kodolu, jaunāki pētījumi tika veltīti programmēšanas valodām.

Ja jūs šodien sāktu pilnīgi jaunu kodolu, iespējams, tas netiks rakstīts C. Microsoft projektos Singularity un Midori tika pētīta C # / pārvaldīto kodolu kodolu iespējamība.

Vispopulārākā OS, kas nav pētīta, bez C kodola, iespējams, ir Haiku, kas rakstīts C ++. ”

OmniaVincitVeritas: “Tas bija novecojis, kad tas tika izveidots, un joprojām ir tāds. Bet, kā mēs zinām, tehniskais progress gandrīz nekad nedarbojas tā, ka tehniski / zinātniski augstāks risinājums īstermiņā paceļas uz augšu; tik daudz citu lietu ietekmē arī panākumus.

Ja tā būtu, mēs darbinātu 100% drošus mikrorodus, kas rakstīti Haskellā. Apsardzes firmas neeksistētu. Man būtu vienradža / poniju hibrīds, kas darbojas uz saules gaismas. ”

Daemonpenguin: “Ir daži jēdzieni, kas teorētiski var nodrošināt labāku kodola dizainu. Piemēram, ir rūsas kodols, kas var sānos iestatīt vairākus atmiņas uzbrukuma vektorus. Teorētiski mikrokoderiem ir dažas ļoti labas dizaina izvēles iespējas, kas padara tos pārnēsājamus, uzticamus un, iespējams, sevi koriģējošus.

Tomēr jautājums ir vairāk teorija nekā prakse. Neatkarīgi no tā, cik laba ir teorija, cilvēki gandrīz vienmēr pārņem praktisko (ti, strādā tagad) pār labāku dizainu. Linux kodolam ir tik daudz aparatūras atbalsta, un tik daudz uzņēmumu finansē attīstību, ka maz ticams, ka citi kodoli (neatkarīgi no viņu atdzist dizaina izvēles) panāks.

Piemēram, MINIX ir stingrs dizains un dažas lieliskas funkcijas, taču tam ir ļoti mazs aparatūras atbalsts, tāpēc gandrīz neviens platformai neizstrādā. ”

Vairāk Reddit

DistroWatch pārskata 4MLinux 21.0

Linux piedāvā daudz dažādu izplatīšanas veidu. Daži no tiem ir komplektā ar vairāk programmatūras, bet citi ar mazāk. 4MLinux ir domāts tiem, kas dod priekšroku vieglam sadalījumam. Rakstniekam vietnē DistroWatch ir pilnīgs 4MLinux 21.0 pārskats.

Džošua Alens Holms ziņo DistroWatch:

4MLinux ir viegls Linux izplatītājs, kas paredzēts četrām galvenajām funkcionalitātes jomām. Izmantojot tikai programmatūru, kas pieejama ISO, 4MLinux nodrošina plašu lietojumprogrammu klāstu sistēmas uzturēšanai; daudzu veidu multivides failu atskaņošana; miniservera piedāvāšana pamata tīmekļa servera nodrošināšanai; un tajā ir pienācīga spēļu izvēle, kuru izplatīšana iekļauj kategorijā, ko tā sauc par noslēpumu. Šīs četras funkcijas ir izplatīšanas nosaukuma pamatā. Četras lietas, kas sākas ar "M", tātad 4MLinux.

4MLinux sāknēšana no zibatmiņas diska ir ātrs process. Es tiku ātri un automātiski pieteicies kā root un varēju sākt darboties darbvirsmas vidē. Darbvirsmai 4MLinux izmanto JVM kopā ar Wbar palaišanas programmu ekrāna augšdaļā, kas nodrošina īsceļus uz galvenajām programmām. Turklāt darbvirsmas pārvaldībai ir IDesk, un Conky, lai sniegtu pamata informāciju par sistēmas statusu. Wbar, IDesk un Conky visus var izslēgt, taču sistēma jau ir ļoti gaiša, kad tie atrodas noklusējuma, iespējotajā stāvoklī.

4MLinux komplektācijā ietilpst pienācīga programmatūras izvēle. JVM lietojumprogrammu izvēlnē ir īsinājumtaustiņi terminālim, interneta lietojumprogrammām, apkopei, multividei, miniserverim un noslēpumam. Apakšizvēlnē Internets ir saites tīmekļa pārlūkošanai, HexChat for IRC, Sylpheed e-pastam, Transmission for Bittorrent, uGet lejupielādei, utilīta failu koplietošanai, izmantojot Bluetooth, GNOME PPP iezvanpieejas interneta savienojumiem un opcija ieslēdziet un izslēdziet Tor.

4MLinux nodrošina daudz programmatūras nelielā iepakojumā. Sistēmas uzturēšanai ir laba izvēle būt pie rokas. Multividei, miniserveriem un noslēpumiem tā nodrošina noderīgu programmatūras izvēli, taču ir arī citi izplatīšanas veidi, kas koncentrējas tikai uz vienu no šiem uzdevumiem un veic to labāk, koncentrējoties vairāk. Tas nenozīmē, ka 4MLinux ir slikts, taču tas mēģina darīt pārāk daudz dažādu lietu vienlaikus. Ja godīgi, es domāju, ka 4MLinux būtu spēcīgāks piedāvājums, ja tas būtu 3MLinux un pilnībā nolaistu noslēpuma aspektu. Varbūt iekļaujot tikai pasjansu vai kādu citu vieglu spēli, lai to varētu novirzīt, kamēr notiek apkopes darbi, un izmantojiet atbrīvoto vietu, noņemot spēles, lai pēc noklusējuma iekļautu dažas no papildu paplašinājumu lietojumprogrammām.

Vairāk vietnē DistroWatch

LinuxInsider pārskata Ultimate Edition 5.4

Savukārt Ultimate Edition ir 4MLinux spektra pretējā galā. UE noteikti ir maksimālistu prieks, jo tajā ir daudz programmatūras. Rakstniekam vietnē LinuxInsider ir pilnīgs Ultimate Edition 5.4 pārskats.

Džeks M. Germains ziņo LinuxInsider:

Es nebiju sajūsmā par savu sākotnējo praktisko pieredzi, iepazīstoties ar Ultimate Edition 5.4. Es atradu kaitinošu sarakstu ar nepareizajām lietām.

Daudzus gadus pārskatot Linux distros zem manas jostas, esmu pamanījis ciešu saikni starp distro tīmekļa vietnes pirmajiem iespaidiem un ilgstošajiem distro veiktspējas iespaidiem. Pieņemsim, ka šajā gadījumā vietnes neorganizētais stāvoklis šajā distro jaunākajā izlaidumā ir pieejams.

Viens mazs piemērs: es neatradu nevienu minimālo aparatūras instalēšanas prasību sarakstu. Tas izrādījās sarūgtinoši. Es tērēju laiku, mēģinot ielādēt Ultimate Linux vairākos novecojušos datoros. Daži no jautājumiem bija saistīti ar atmiņu un atmiņas vietu. Citi jautājumi bija saistīti ar grafikas karšu neatbilstībām.

Ultimate Edition ir paredzēts jaunpienācējiem Linux, taču tiem, kas to izmēģina, var būt nepieciešams mazliet vairāk iepazīties ar Linux, lai apietu dažas problēmas, darbinot šo ne pārāk galīgo Linux OS.

Vairāk vietnē LinuxInsider

Vai jūs nokavējāt noapaļošanu? Pārbaudiet Eye On Open mājas lapu, lai uzzinātu par jaunākajām ziņām par atvērto pirmkodu un Linux.

$config[zx-auto] not found$config[zx-overlay] not found