| dbpprop:abstract
|
- A monolithic kernel is a kernel architecture where the entire operating system is working in the kernel space and alone as supervisor mode. In difference with other architectures, the monolithic kernel defines alone a high-level virtual interface over computer hardware, with a set of primitives or system calls to implement all operating system services such as process management, concurrency, and memory management itself and one or more device drivers as modules.
- Als monolithischen Kernel bezeichnet man einen Betriebssystemkern, in dem nicht nur Funktionen zu Speicher- und Prozessverwaltung und zur Kommunikation zwischen den Prozessen, sondern auch Treiber für die Hardwarekomponenten und möglicherweise weitere Funktionen direkt eingebaut sind. Für die Treiber werden keine zusätzlichen Programme benötigt, was gegenüber einem Mikrokernel einen Geschwindigkeitsvorteil bringt. Allerdings sind solche Kernel fehleranfälliger, da der Teil, der abgestürzt ist, nicht einfach (wie es bei einem Mikrokernel theoretisch möglich wäre) neu gestartet werden kann, sondern sogar einen Absturz des gesamten Systems nach sich ziehen kann. Trotz dieses Vorteils ist die Stabilität der heute marktreifen Mikrokernel nicht besser, so dass man nicht von einer Überlegenheit sprechen kann. Die Kernel-Entwickler von Linux haben die Schwächen des monolithischen Kernels schon früh erkannt und sind ihnen durch das Auslagern von Funktionalitäten in Kernel-Module begegnet. Durch die intensive Verwendung von Kernel-Modulen, auch für betriebssystemnahe Funktionen, ist das Nach- oder Neuladen von Systemfunktionen, auch während des Betriebs, sowie während der Entwicklungsphase möglich. Sie laufen somit wieder im Kernel-Modus, so dass es sich bei Linux trotzdem weiterhin um einen monolithischen Kernel handelt. Dies hat den Nachteil, dass die Schutzmechanismen moderner Prozessoren bei den Kernelmodulen nur bedingt greifen und ein fehlerhaftes Modul (im Speziellen fehlerhaft arbeitende Treiber von Drittanbietern) das ganze System zum Absturz bringen kann. Die Möglichkeit zur Portierung wird oft durch ein geschicktes internes Abstraktionsmodell umgesetzt, welches hardwarespezifische Funktionalitäten von den allgemeinen trennt. So kann auch in einer monolithischen Kernelarchitektur ein Höchstmaß an Portabilität auf andere Hardwareplattformen erreicht werden.
- Un Nucli monolític és el nucli o kernel d'un sistema operatiu. Com exemple de sistema operatiu amb nucli monolític estan UNIX i Linux. Aquests sistemes tenen un nucli gran i complex, que engloba tots els serveis del sistema. Està programat de forma no modular, i té un rendiment més gran que un micronucli. No obstant, qualsevol canvi a realitzar en qualsevol servei requereix la recompilació del nucli i el reinici del sistema per aplicar els nous canvis. Hi ha diverses ramificacions d'aquest diseny, que s'han anat amoldant a noves necesitats. Podem citar el sistema de móduls executables en temps d'execució, que l'hi ofereix al model de nucli monolític algunes de les ventatges d'un micronucli. Aquests móduls poden ser compilats, modificats, carregats i descarregats en temps d'execució, de manera similar als serveis d'un micronucli, però amb la diferiencia de que s'executen en el espai de memoria del mateix nucli (anell 0). D'aquesta forma, un bloqueig del módul, es probable que bloquegi tot el nucli. Ademés, el módul pasa a formar un tot amb el nucli, utlitzant la API del mateix, i no s'utilitza un sistema de missatges com en els micronuclis. Aquest es l'esquema usat per, entre d'altres, GNU/Linux, FreeBSD i diversos derivats de UNIX. Hem de resaltar que el pas constant de missatges entre els serveis del micronucli, es en parte responsable dels pobres rendiments dels micronuclis. Un sistema operatiu amb nucli monolític concentra totes les funcionalitats posibles (planificació, sistema de fitxers, xarxes, controladors de dispositius, gestió de memoria, etc) dins d'un gran programa. Aquest pot tenir una mida considerable, i haurà de ser recompilat per complet a l'afegir una nova funcionalitat. Tots els components funcionals del nucli tenen accés a totes les seves estructures de dades internes i a les seves rutines. Un error en una rutina pot propagar-se a tot el nucli. Tots els seus components es troben integrats en un únic programa que executa en un únic espai de direccions. En aquest tipus de sistemes, totes las funcions que ofereix el sistema operatiu s'executen en mode supervisor. Aquests sistemes operatius han surgit, normalment, de sistemes operatius senzills i petits als que se'ls ha anat afegint un número més gran de funcionalitats. Això els ha fet evolucionar i creixer fins convertir-los en programes grans i complexos formats per moltes funcions situades totes elles a un mateix nivell. Clars exemples d'aquest tipus de sistemes són MS-DOS i UNIX. Ambdós van començar sent sistemes operatius petits, que van anar fent-se cada cop més grans degut a la gran popularitat que van anar adquirint. El problema que plantegen aquest tipus de sistemes radica amb la complexitat de modificar el sistema operatiu per afegir noves funcionalitats i serveis. Es a dir, afegir una nova característica implica la modificació d'un gran programa, composat per milers de línies de codi font i funcions, cada una de les quals pot invocar a d'altres aquant així ho requereixi. Ademés en aquest tipus de sistemes no es segueix el principi d'ocultació d'informació. Per solucionar aquest problema és necesari propocionar certa estructura al sistema operatiu. L'alternativa es tenir una estructura de micronucli, on les parts funcionals estan dividides en unitats separades amb mecanismes de comunicació extrictes entre ells..
- Monolitické jádro je druh jádra operačního systému, jehož veškerý kód běží ve stejném (jaderném) paměťovém prostoru, který se anglicky označuje jako kernel space. Tím se liší od tzv. mikrojádra, které většinu tradičních činností monolitického jádra, jako je třeba správa souborových systémů, implementuje v procesech, které běží v uživatelském paměťovém prostoru. Přestože jsou jádra psána tak, aby byla činnost jednotlivých subsytémů oddělená, jsou jednotlivé části velice silně provázány. A navíc, protože sdílejí stejný paměťový prostor, může chyba v jednom subsystému zablokovat jiný, nebo dokonce shodit celé jádro. Na druhou stranu, pokud je dbáno na správnou implementaci jednotlivých částí, je monolitické jádro velice efektivní.
- Un núcleo monolítico es un tipo de núcleo o kernel de un sistema operativo. Como ejemplo de sistema operativo de núcleo monolítico están UNIX, Linux y FreeBSD. Estos sistemas tienen un núcleo grande y complejo, que engloba todos los servicios del sistema. Está programado de forma no modular, y tiene un rendimiento mayor que un micronúcleo. Sin embargo, cualquier cambio a realizar en cualquier servicio requiere la recompilación del núcleo y el reinicio del sistema para aplicar los nuevos cambios. Hay diversas ramificaciones de este diseño, que se han ido amoldando a nuevas necesidades. Podemos citar el sistema de módulos ejecutables en tiempo de ejecución, que le brinda al modelo de núcleo monolítico algunas de las ventajas de un micronúcleo. Dichos módulos pueden ser compilados, modificados, cargados y descargados en tiempo de ejecución, de manera similar a los servicios de un micronúcleo, pero con la diferencia de que se ejecutan en el espacio de memoria del núcleo mismo (anillo 0). De esta forma, un bloqueo del módulo, es probable que bloquee todo el núcleo. Además, el módulo pasa a formar un todo con el núcleo, usando la API del mismo, y no se emplea un sistema de mensajes como en los micronúcleos. Este es el esquema usado por, entre otros, GNU/Linux, FreeBSD y varios derivados de UNIX. Cabe resaltar que el paso constante de mensajes entre los servicios del micronúcleo, es en parte responsable de las pobres rendimientos de los micronúcleos. Un sistema operativo con núcleo monolítico concentra todas las funcionalidades posibles (planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria, etc) dentro de un gran programa. El mismo puede tener un tamaño considerable, y deberá ser recompilado por completo al añadir una nueva funcionalidad. Todos los componentes funcionales del núcleo tienen acceso a todas sus estructuras de datos internas y a sus rutinas. Un error en una rutina puede propagarse a todo el núcleo. Todos sus componentes se encuentran integrados en un único programa que ejecuta en un único espacio de direcciones. En este tipo de sistemas, todas las funciones que ofrece el sistema operativo se ejecutan en modo supervisor. Estos sistemas operativos han surgido, normalmente, de sistemas operativos sencillos y pequeños a los que se les ha ido añadiendo un número mayor de funcionalidades. Esto les ha hecho evolucionar y crecer hasta convertirlos en programas grandes y complejos formados por muchas funciones situadas todas ellas en un mismo nivel. Ejemplos claros de este tipo de sistemas son MS-DOS y UNIX. Ambos comenzaron siendo pequeños sistemas operativos, que fueron haciéndose cada vez más grandes debido a la gran popularidad que adquirieron. El problema que plantean este tipo de sistemas radica en lo complicado que es modificar el sistema operativo para añadir nuevas funcionalidades y servicios. En efecto, añadir una nueva característica implica la modificación de un gran programa, compuesto por miles de líneas de código fuente y funciones, cada una de las cuales puede invocar a otras cuando así lo requiera. Además en este tipo de sistemas no se sigue el principio de ocultación de la información. Para solucionar este problema es necesario dotar de cierta estructura al sistema operativo. La alternativa es tener una estructura de micronúcleo, donde las partes funcionales están divididas en unidades separadas con mecanismos de comunicación estrictos entre ellos.
- モノリシックカーネルとは、オペレーティングシステムにおけるカーネルの構造、および設計思想を指す。「入出力機能やネットワーク機能、デバイスのサポートなどオペレーティングシステム(以下OSと略記)の一般的な機能」をカーネルと同一のメモリ空間に実装・実行する手法を言う。 代表的なモノリシックカーネルOSとしては、古典的なUNIXとその派生OSがあげられる。 モノリシックカーネルというタームが登場した頃、このタームを誤って表記した雑誌記事等による刷り込みにより、日本国内においてはしばしばモノシリックカーネルと誤用・誤表記するユーザーやライター等が今なお見られる。
- Een monolithische kernel is het centrale onderdeel van een besturingssysteem dat in een enkel proces is geïmplementeerd, dat daarmee ook in een enkele adresruimte van een computersysteem werkt. Het voordeel van het opnemen van alle kernelfuncties in een enkel proces is dat het vanuit elke andere kernelfunctie mogelijk is om een afzonderlijke gedefinieerde functie aan te roepen. Dat maakt ontwikkeling en beheer van een dergelijk systeem betrekkelijk eenvoudig. Met de komst van de multiprocessorsystemen evolueerde de kernel naar multi-threadversies die parallel op de verschillende processoren konden draaien. De eerste dergelijke kernels locken de essentiële kerneldatastructuren (bijv. het complete bestandssysteem) om conflicten met de andere threads te vermijden. Verdere kernelevoluties verfijnden die locks en plaatsten ze op een lager niveau (bijv. bestandsniveau) om het parallellisme te verbeteren. Sun Solaris was een van de eerste monolithische kernels die het parallellisme verbeterde, en dusdanig de kernel minder monolithisch maakte. Het verschil met een microkernel is dat in de microkernel alleen de absoluut essentiële kernfuncties van het besturingssysteem zijn opgenomen (afhandeling van interrupts; scheduling; geheugenbeheer). Minder essentiële functies worden apart gebouwd, en worden in de gebruikersmodus uitgevoerd; niet in de kernelmodus. De huidige Linux-versies en Sun SUNOS zijn voorbeelden van besturingssystemen die aanvankelijk een monolithische kernel kenden en naar een microkernel evolueerden om efficiënt te blijven op multiprocessorsystemen. Microsoft Windows is van origine opgebouwd als microkernelsysteem, maar in de loop van de tijd zijn diverse niet-essentiële functies aan de kernel toegevoegd, waardoor een min of meer hybride vorm is ontstaan. Een discussie over de voor- en nadelen van de microkernel versus de monolithische kernel vond plaats tussen Linus Torvalds en Andrew Tanenbaum, de ontwikkelaar van Minix:
- Jądro monolityczne - to rodzaj jądra systemu operacyjnego, w którym większa część funkcji jądra zaimplementowana jest w pojedynczym obrazie pamięci, który ładowany jest na stałe do pamięci komputera przez bootloader. Zdarza się jednak, że do jądra monolitycznego (zwanego wtedy modularnym) dopisywana jest możliwość ładowania modułów, które jednak nie realizują najbardziej podstawowych funkcji jądra. Jądro monolityczne cechuje się wyższą wydajnością niż mikrojądro, zwłaszcza w systemach jednoprocesorowych oraz przy obciążaniu systemu tylko jednym procesem. Z drugiej strony awaria (np. błąd programisty) w dowolnym miejscu jądra monolitycznego może spowodować awarię całego systemu (np. błędne żądanie dostępu do pamięci w sterowniku każdego, nawet nieistotnego urządzenia, może zniszczyć dane na dysku, albo "zawiesić" cały system), przez co testowanie tych jąder (szczególnie sterowników urządzeń) jest czasochłonne i skomplikowane, a ewentualne luki mogą często być wykorzystane przez crackerów do łamania zabezpieczeń. Tworzenie systemów czasu rzeczywistego przy pomocy jądra monolitycznego choć możliwe, jest zwykle trudniejsze niż w mikrojądrach, z powodu konieczności zagwarantowania ograniczeń czasowych przez wszystkie komponenty (zwykle przy wykorzystaniu wywłaszczania mało ważnych komponentów, oraz unikanie blokad w postaci semaforów). Przykładami systemów operacyjnych z jądrem monolitycznym są m. in. : FreeBSD Linux Microsoft Windows Mac OS X Postęp w architekturze mikrojąder, wzrost wydajności komputerów, problemy bezpieczeństwa w jądrach monolitycznych oraz wzrost komplikacji i rozmiaru ich kodu (szczególnie w systemach współbieżnych i czasu rzeczywistego), spowodowały że mikrojądra są coraz częściej wybierane przy tworzeniu systemów operacyjnych.
- Kernel monolítico ou mono-bloco é uma arquitetura de kernel onde todo o kernel é executado no espaço do kernel no modo de supervisão. Em comum com outras arquiteturas, o kernel define uma camada de alto nível de abstração sobre o hardware do computador, com um conjunto de primitivas ou chamadas de sistema para implementar os serviços do sistema operacional como gerenciamento de processos, concorrência e gestão de memória em um ou mais módulos. Mesmo que cada módulo de manutenção dessas operações é separada de uma forma geral, É muito diíficil fazer o código de integração entre todos estes módulos, e, uma vez que todos os módulos executam num mesmo espaço de endereçamento, um erro em um módulo pode derrubar todo o sistema. Alguns exemplos de sistemas que utilizam este tipo de kernel: BSD Linux MS-DOS e derivados, incluindo Windows 95, Windows 98 e Windows ME Solaris
- Файл:Kernel-monolithic. svg Схема монолитного ядра, выполняющего код ядра целиком в режиме супервизора Моноли́тное ядро́ — классическая и, на сегодняшний день, наиболее распространённая архитектура ядер операционных систем. Монолитные ядра предоставляют богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве. Монолитные ядра имеют долгую историю развития и усовершенствования и, на данный момент, являются наиболее архитектурно зрелыми и пригодными к эксплуатации. Вместе с тем, монолитность ядер усложняет их отладку, понимание кода ядра, добавление новых функций и возможностей, удаление «мёртвого», ненужного, унаследованного от предыдущих версий, кода. «Разбухание» кода монолитных ядер также повышает требования к объёму оперативной памяти, требуемому для функционирования ядра ОС. Это делает монолитные ядерные архитектуры мало пригодными к эксплуатации в системах, сильно ограниченных по объёму ОЗУ, например, встраиваемых системах, производственных микроконтроллерах и т. д. Альтернативой монолитным ядрам считаются архитектуры, основанные на микроядрах.
- En monolitisk kärna är en operativsystemskärna som är byggd så att de flesta systemprocesser som in- och utmatning, minneshantering och drivrutiner kör som en del av kärnan och inte som separata processer. Denna arkitektur kan vara riskabel, då ett fel i en relativt oviktig modul kan stoppa processen och därmed hela systemet. Om implementationen är stabil och felfri så ger å andra sidan den täta kopplingen väldigt höga hastigheter och prestanda. De flesta Unix- och Unix-liknande operativsystem som GNU/Linux, Solaris och BSD har monolitiska kärnor. Även Windows 95, Windows 98 och Windows ME har monolitiska kärnor. Motsatsen till monolitiska kärnor är mikrokärnor, vilka endast tar hand om det mest nödvändiga i systemet och låter systemprocesser ta hand om resten.
- Tek dosyadan oluşan işletim sistemi çekirdekleri monolitik çekirdek olarak adlandırılır. Modül kullanımına izin veren çekirdekler ise modüler çekirdek olarak adlandırılır. Çift çekirdekli işlemci yapımında da kullanılmaktadır. Tek parçalı çekirdekte denmektedir. Monolitik çekirdek örnekleri Unix türevi DOS MacOS OpenVMS Windows 9x,Me,XP
- Файл:OS-structure2. svg Структура опереаційних систем на монолітному ядрі, мікроядрі і гібридному ядрі Монолітне ядро — класична і поширена сьогодні архітектура ядер операційних систем. Монолітні ядра надають багатий набір абстракцій устаткування. Всі частини монолітного ядра працюють в одному адресному просторі. Монолітні ядра мають довгу історію розвитку і вдосконалення і, на даний момент, є найбільш архітектурно зрілими і придатними до експлуатації. Разом з тим, монолітність ядер ускладнює їхню відладку, розуміння коду ядра, додавання нових функцій і можливостей, видалення «мертвого», непотрібного, успадкованого від попередніх версій, коду. «Розбухання» коду монолітних ядер також підвищує вимоги до обсягу оперативної пам'яті, потрібного для функціонування ядра ОС. Це робить монолітну ядерну архітектуру мало придатними до експлуатації в системах, сильно обмежених за обсягом пам'яті, наприклад, вбудовуваних системах, виробничих мікроконтролерах тощо. Альтернативою монолітним ядрам вважається архітектура, заснована на мікроядрах.
- 整塊性核心有時也稱單核心,原文為英文的Monolithic kernel。 整塊性核心是作業系統核心架構的一種,此架構的特性是整個核心程式都是以核心空間(Kernel Space)的身份及監管者模式(Supervisor Mode)來執行。相對於其他類型的作業系統架構,如微核心架構或混核心架構等,這些核心會定義出一個高階的虛擬介面,由該介面來涵蓋描述整個電腦硬體,這些描述會集合成一組硬體描述用詞,有時還會附加一些系統呼叫,如此可以用一個或多個模組來實現各種作業系統服務,如行程管理、共時(Concurrency)控制、記憶體管理等。 即使有的整塊性核心將其運作從整體性運作拆分成幾個服務模組,並讓各模組各自運作,其作業系統的程式碼依然是高度緊密的,很難修改成其他類型的作業系統架構。此外,所有的模組也都在同一塊定址空間內執行,倘若某個模組有錯誤、瑕疵(Bug),執行時就會損及整個作業系統運作。反過來,如果整塊性架構的作業系統在開發設計時相當完善,並經測試驗證後具有高度可靠性,則作業系統內的各軟體組件因具有高度緊密性,如此在系統的低階運作上將格外有效率。
|
| rdfs:comment
|
- A monolithic kernel is a kernel architecture where the entire operating system is working in the kernel space and alone as supervisor mode. In difference with other architectures, the monolithic kernel defines alone a high-level virtual interface over computer hardware, with a set of primitives or system calls to implement all operating system services such as process management, concurrency, and memory management itself and one or more device drivers as modules.
- Als monolithischen Kernel bezeichnet man einen Betriebssystemkern, in dem nicht nur Funktionen zu Speicher- und Prozessverwaltung und zur Kommunikation zwischen den Prozessen, sondern auch Treiber für die Hardwarekomponenten und möglicherweise weitere Funktionen direkt eingebaut sind. Für die Treiber werden keine zusätzlichen Programme benötigt, was gegenüber einem Mikrokernel einen Geschwindigkeitsvorteil bringt.
- Un Nucli monolític és el nucli o kernel d'un sistema operatiu. Com exemple de sistema operatiu amb nucli monolític estan UNIX i Linux. Aquests sistemes tenen un nucli gran i complex, que engloba tots els serveis del sistema. Està programat de forma no modular, i té un rendiment més gran que un micronucli. No obstant, qualsevol canvi a realitzar en qualsevol servei requereix la recompilació del nucli i el reinici del sistema per aplicar els nous canvis.
- Monolitické jádro je druh jádra operačního systému, jehož veškerý kód běží ve stejném (jaderném) paměťovém prostoru, který se anglicky označuje jako kernel space. Tím se liší od tzv. mikrojádra, které většinu tradičních činností monolitického jádra, jako je třeba správa souborových systémů, implementuje v procesech, které běží v uživatelském paměťovém prostoru.
- Un núcleo monolítico es un tipo de núcleo o kernel de un sistema operativo. Como ejemplo de sistema operativo de núcleo monolítico están UNIX, Linux y FreeBSD. Estos sistemas tienen un núcleo grande y complejo, que engloba todos los servicios del sistema. Está programado de forma no modular, y tiene un rendimiento mayor que un micronúcleo.
- Een monolithische kernel is het centrale onderdeel van een besturingssysteem dat in een enkel proces is geïmplementeerd, dat daarmee ook in een enkele adresruimte van een computersysteem werkt. Het voordeel van het opnemen van alle kernelfuncties in een enkel proces is dat het vanuit elke andere kernelfunctie mogelijk is om een afzonderlijke gedefinieerde functie aan te roepen. Dat maakt ontwikkeling en beheer van een dergelijk systeem betrekkelijk eenvoudig.
- Jądro monolityczne - to rodzaj jądra systemu operacyjnego, w którym większa część funkcji jądra zaimplementowana jest w pojedynczym obrazie pamięci, który ładowany jest na stałe do pamięci komputera przez bootloader. Zdarza się jednak, że do jądra monolitycznego (zwanego wtedy modularnym) dopisywana jest możliwość ładowania modułów, które jednak nie realizują najbardziej podstawowych funkcji jądra.
- Kernel monolítico ou mono-bloco é uma arquitetura de kernel onde todo o kernel é executado no espaço do kernel no modo de supervisão. Em comum com outras arquiteturas, o kernel define uma camada de alto nível de abstração sobre o hardware do computador, com um conjunto de primitivas ou chamadas de sistema para implementar os serviços do sistema operacional como gerenciamento de processos, concorrência e gestão de memória em um ou mais módulos.
- Файл:Kernel-monolithic. svg Схема монолитного ядра, выполняющего код ядра целиком в режиме супервизора Моноли́тное ядро́ — классическая и, на сегодняшний день, наиболее распространённая архитектура ядер операционных систем.
- En monolitisk kärna är en operativsystemskärna som är byggd så att de flesta systemprocesser som in- och utmatning, minneshantering och drivrutiner kör som en del av kärnan och inte som separata processer. Denna arkitektur kan vara riskabel, då ett fel i en relativt oviktig modul kan stoppa processen och därmed hela systemet. Om implementationen är stabil och felfri så ger å andra sidan den täta kopplingen väldigt höga hastigheter och prestanda.
- Tek dosyadan oluşan işletim sistemi çekirdekleri monolitik çekirdek olarak adlandırılır. Modül kullanımına izin veren çekirdekler ise modüler çekirdek olarak adlandırılır. Çift çekirdekli işlemci yapımında da kullanılmaktadır. Tek parçalı çekirdekte denmektedir. Monolitik çekirdek örnekleri Unix türevi DOS MacOS OpenVMS Windows 9x,Me,XP
- Файл:OS-structure2. svg Структура опереаційних систем на монолітному ядрі, мікроядрі і гібридному ядрі Монолітне ядро — класична і поширена сьогодні архітектура ядер операційних систем. Монолітні ядра надають багатий набір абстракцій устаткування.
|