Autor Thema: was gehört in einen kernel?  (Gelesen 33796 mal)

gismo2004

  • Beiträge: 10
    • Profil anzeigen
Gespeichert
« am: 05. May 2004, 14:54 »
hi leute langsam glaub ich ich verblöde anstatt schlauer zu werden.
Kann mir mal jemand bitte bitte erklären was allen in den kernel gehört?
nein ich bitte niemanden hier nen koppletten kernel aufzuzeigen wenn jemand so net wäre mir kurz in stichworten zu schreiben was ich in den kernel einbauen sollte würde es mir schon ausreichen. Achja ich hab mir schon den linux kernel 1.0 angeschaut aber irgendwie klappt es alles nicht. Um es kurz zu sagen ich brauche ein paar stichworte.  

Schon mal vielen dank (ein verblödener) gismo :-)

DaniilKharlamov

  • Beiträge: 22
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 05. May 2004, 14:59 »
1) Willkommensschrift
2) Funktion zum speichern/lesen von Dateien
3) Spionagefunktion ;-)
4) Hilfe
5) Credits
6) ein Compiler
7) Verabschiedungsschrift

Zusätzlich:
1) Benutzeroberfläche
2) Speichern beim ausschalten des Rechners (ich meine wenn man auf den Knopf drückt, dass der nicht gleich ausschaltet, sondern dass er erst alles abspeichert)

Joa, das sind die Grundlegenden sachen
Meine lieblingsbilder:
[1] http://www.lifeisajoke.com/Osama/look_in_your_mirror_osama.jpg

[2]http://www.lifeisajoke.com/Osama/osamas_airforce.jpg

Franz1299

  • Beiträge: 37
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 05. May 2004, 15:02 »
naja, nen compiler würd ich net gerade innen kernel einbauen...

gismo2004

  • Beiträge: 10
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 05. May 2004, 15:06 »
hey super danke für eure antworten man das ging ja super schnell.

@ DaniilKharlamov
heiß ich microsoft???

naja ich mach mich dann mal an die arbeit

und nochmals danke!

gismo

Shining

  • Beiträge: 17
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 05. May 2004, 15:12 »
"3) Spionagefunktion ;-)"

Wieso spionage? Das sind sicherheits routinen, die es verhindern, dass der user ausversehen etwas falsch macht. Daher wird jede aktivität sofort an microsoft gesendet und ausgewertet ^^

lobmann

  • Beiträge: 243
    • Profil anzeigen
    • http://www.fallek.de.vu
Gespeichert
« Antwort #5 am: 05. May 2004, 16:47 »
@DaniilKharlamov

find deine Beschreibung etwas unzureichend. Erst mal kommts drauf an ob du nen RMode oder PMode Kernel schreiben willst. bei RMode kannst du auf Bios Funktionen aufsetzen. Ansonsten kommt es drauf an was du für eine Kernel Struktur haben möchtest (siehe Lowlevel 1 oder 2?). Ich würd sagen grundsätzlich gehört z.B. das Memory Management, Tasks, usw. is aufjedenfall so einiges.
Man kann doch nem alten Mann nicht in den Bart spucken und sagen es hat geschneit

TeeJay

  • Beiträge: 630
    • Profil anzeigen
    • http://www.jay-code.de
Gespeichert
« Antwort #6 am: 05. May 2004, 16:53 »
Naja es gibt ja mehrere Möglichkeiten einen Kernel zu bauen.

Grundsätzlich muss der Kernel eigentlich nur Schnittstellen bereitstellen über die dann andere Module (Treiber etc) miteinander kommunizieren können.

Windows 2000 ist so aufgebaut. Da ist der eigentliche Kernel sehr klein. Er regelt nur den Datenaustausch zwischen Modulen die zwar ebenfalls in der Kernelebene arbeiten, aber eigentlich nicht direkt selbst zum Kernel gehören.
----------------------
Redakteur bei LowLevel

kleiner

  • Beiträge: 131
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 05. May 2004, 17:51 »
>>> 1) Willkommensschrift

Kann auch der Bootloader machen, außer es ist z:b. GRUB der Bootloader, dann vielleicht schon. Linux macht was nettes. Das zeigt mit nem bestimmten Modul dem Benutzer beim Start einen Pinguin pro CPU.

>>> 2) Funktion zum speichern/lesen von Dateien

Nicht ganz unsinnig, komm ich gleich aber noch mal drauf zurück.

>>> 3) Spionagefunktion ;-)

Sehr, sehr wichtig für die Monopolbildung.

>>> 4) Hilfe

Hat wirklich nichts im Kernel verloren.

>>> 5) Credits

Höchstens in den Quellcodes.

>>> 6) ein Compiler

Ein Compiler mit Super User Rechten. Das ist was feines. Schlag das doch mal Linus Torvalds vor.

>>> 7) Verabschiedungsschrift

Ist halt ein reines Goody.

>>> Zusätzlich:

>>> 1) Benutzeroberfläche

Würd ich nie in den Kernel reinpacken. Viel zu große Sicherheitslücke.

>>> 2) Speichern beim ausschalten des Rechners (ich meine wenn man auf den Knopf drückt, dass der nicht gleich ausschaltet, sondern dass er erst alles abspeichert)

Ja vielleicht.

Also in der ersten oder zweiten Ausgabe stand mal was über Kernelarten: Monolithischer Kernel, Micro-Kernel oder Exo-Kernel. Da musst Dich halt entscheiden. Linux ist ein Monolithischer, wogegen BSD z.B. ein Micro-Kernel ist. Hat beides vor und Nachteile. Ich würde ein Zwischending bevorzugen.

Also der Compiler im Kernel ist wirklich unsinnig. Lass das lieber gleich sein.

Die Schreibe und Lesefunktionen wären bei einem Microkernel und nem Exo-Kernel wohl eher auf Server aufgeteilt. Musst Du halt wissen.

Franz1299

  • Beiträge: 37
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 05. May 2004, 18:53 »
Aprops Memorymanagement, kennt einer von euch da 'n gutes tutorial oder so?

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 06. May 2004, 20:03 »
Sicher das BSD ein Microkernel ist? ich hatte es nur ca. 2 Tage installiert aber es kahm mir so...monolithisch vor...

kleiner

  • Beiträge: 131
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 06. May 2004, 21:02 »
Also ich bin mir sicher, dass wenigstens eins der BSD-Systeme ein Micro-Kernel ist.
Aber nehmen wir ein sicheres Beispiel:
GNU HURD ist auf jeden Fall ein Micro-Kernel.
Und HydrixOS ist etwas in  der Art. Es gibt ein paar Ausnahmen, dabei, die nicht Micro-Kernel like sind, aber das meiste ist schon Micro-Kernel.
Micro-Kernel heißt aber halt von Anfang an, dass die Systemserver, die die Aufgaben des Monoliths übernehmen sehr zentral sind.
Ein weiteres Beispiel war der ursprüngliche Win NT Kernel.
Und ich glaube auch Longhorn soll wieder Micro-Kernel sein. Bin mir aber da nicht sicher.

TeeJay

  • Beiträge: 630
    • Profil anzeigen
    • http://www.jay-code.de
Gespeichert
« Antwort #11 am: 06. May 2004, 21:17 »
WinNT, XP und 2000 basieren auf Microkernel.

Linux ist das beste Beispiel für einen Monolithischen Kernel.
Das wird auch irgendwann mal nen Gau geben wenn die so weiter machen und alle Treiber in den Kernel packen *g*.
----------------------
Redakteur bei LowLevel

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #12 am: 06. May 2004, 21:40 »
Monolithische Kernel haben aber auch einige Vorteile. Die Performace ist z.B.  besser. Mir würde kein (wirklicher) Grund einfallen einen Micro Kernel zu benutzen.

TeeJay

  • Beiträge: 630
    • Profil anzeigen
    • http://www.jay-code.de
Gespeichert
« Antwort #13 am: 06. May 2004, 22:26 »
Der größte Vorteil ist, sofern du den Microkernel ordentlich gemacht hast, jederzeit einzelne Module auszutauschen ohne das System umbedingt neu starten zu müssen, geschweige denn zu compilieren.

Programmierfehler werden wohl eher vermieden, da der Kernel recht klein bleibt.

Die Performance muss nicht unweigerlich schneller sein bei einem Monokernel.
KOmmt halt drauf wie man das ganze umsetzt.

Jedenfalls ist der Microkernel die modernere Technik und das wird seinen Grund haben :)

Für uns ist jedoch vollkommen unrelevant, da wir noch lange nicht so weit sind uns darüber gedanken zu machen.

Wer es mal soweit geschafft hat, das er Virtuellen Speicher, Paging und Tasks in seinem System hat, der hat dann sozusagen ein kleines OS.

Alles andere ist halt nur Spielerei oder halt Lernstoff :)
----------------------
Redakteur bei LowLevel

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #14 am: 07. May 2004, 14:12 »
eigenlich reicht ja auch das:

Funktion zum Ausführen von Sektoren

alles andere kann man in module einbauen...
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #15 am: 07. May 2004, 15:12 »
@TeeJay: Man muss doch mindestens genau so viel programmieren, wie beim mono. Kernel, also sind auch wahrscheinlich genau so viele Fehler drin. Wenn der einzigste Vorteil die Module sind, das kann Linux auch! (Und das ist ja mono.)
Und wer sagt, dass alles moderne (neue) gut und besser ist??? (Man muss nur mal an die neuen Benzinpreise denken ;) )

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #16 am: 07. May 2004, 16:58 »
Also
1. Ist der Monokernel meiner Meinung nach der größte nachteil von Linux.
2. Ein Microkernel ist einfach weniger fehleranfällig da, wie im Lowlevel Magazin beschrieben, nur ein einzelnes Modul abstürzt nicht aber der ganze Kernel. Zudem ist ein Microkernel im normalfall SEHR viel übersichtlicher was sowohl das Programmieren als auch das debuggen natürlich erheblich erleichtert.
3. Um auf chr15s OT Bemerkung zu Antworten: Es ist sicherlich nicht alles gut was neu ist aber da der großteil der Bevölkerung ohnehin zuviel mit dem Auto unterwegs ist kann man auch die Benzinpreise positiv sehen :)

kleiner

  • Beiträge: 131
    • Profil anzeigen
Gespeichert
« Antwort #17 am: 07. May 2004, 16:59 »
Der Vorteil eines Microkernels ist aber, dass Du weniger Code hat der mit Kernel-Rechten läuft. Wichtig ist aber, dass die Server meist trotzdem noch sehr viele Rechte haben, aber die dann differenzierter sein können. Das ist beim Monolithischen anders. Da läuft alles mit Kernelrechten, auch die Module.

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #18 am: 07. May 2004, 17:10 »
Also einen monolithischen Kernel kann man genauso übersichtlich gestalten. Wenn das mit der Stabilität so ist, dann wunderts mich, warum Windows bei mir öfters abstürzt als Linux, obwohl ich es viel seltener benutze. Mit den rechten kann man wieder geteilter Meinung sein, es kann ein Vorteil sein, aber wieso sollte nicht jeder  Hardware-Treiber auch zugriff auf diese haben???

@Another Stupid Coder: Dann nehme ich halt das Bsp. Softwarepatente ;)

TeeJay

  • Beiträge: 630
    • Profil anzeigen
    • http://www.jay-code.de
Gespeichert
« Antwort #19 am: 07. May 2004, 18:02 »
Also MIcrokernel haben den Vorteil, das man ihn so bauen kann, das nur ein möglichst kleiner Teil im RIng0 Modus läuft.

Der Rest (Speichermanager, Zugriffsrechteverwaltungt etc.) KÖNNEN (müssen aber nicht) im User Mode laufen.

Und wie schon gesagt sinkt die Fehlerrate, weil das ganze über ein einfaches austauschen von Messages kommuniziert und nicht so eng miteinander verwebt ist.

Klar ist es alles auch eine Sache der Implementierung, aber ich persöhnlich halte es nicht für sehr produktiv es zu handhaben wie Linux und alle möglichen Treiber direkt in den Kernel zu packen. Die gehören da einfach net hin *G*


PS zu WIndows: Ab WIndows 2000/XP/2003 muss man windows schon wirklich einen Stock in FOrm von defekter Hardware oder fehlergaftem Treiber zwischen die Beine schieben, damit es abstürzt. Und in so einem Fall hält auch Linux nicht durch. Ich persöhnlich hab XP nun schon seit MOnaten laufen und mein Rechner läuft meist auch wochenlang durch OHNE auch nur einen Absturz. EIn Bluescreen hatte ich schon eeeeewig nichtmehr.
----------------------
Redakteur bei LowLevel

 

Einloggen