22:
153:
Practically speaking, dynamically loading modules is simply a more flexible way of handling the operating system image at runtime—as opposed to rebooting with a different operating system image. The modules allow easy extension of the operating systems' capabilities as required. Dynamically loadable
141:
This modularity of the operating system is at the binary (image) level and not at the architecture level. Modular monolithic operating systems are not to be confused with the architectural level of modularity inherent in
161:
to a minimum; for example, to minimize operating system footprint for embedded devices or those with limited hardware resources. Namely, an unloaded module need not be stored in scarce
353:
300:
236:
629:
600:
404:
348:
323:
293:
516:
414:
69:
794:
343:
328:
199:
157:
However, in some cases, loading modules dynamically (as-needed) helps to keep the amount of code running in
389:
374:
333:
815:
555:
502:
570:
409:
286:
219:
154:
modules incur a small overhead when compared to building the module into the operating system image.
605:
424:
384:
379:
338:
184:
648:
535:
399:
394:
782:
721:
610:
590:
539:
497:
565:
531:
433:
369:
762:
736:
162:
80:
8:
731:
683:
560:
65:
668:
575:
777:
726:
658:
615:
73:
57:
243:
757:
309:
42:
150:) which use microkernels and servers (not to be mistaken for modules or daemons).
701:
663:
634:
787:
711:
673:
545:
809:
696:
653:
492:
446:
179:
147:
30:
580:
158:
119:
91:
49:
45:
706:
688:
471:
461:
451:
189:
143:
61:
53:
26:
194:
99:
643:
550:
476:
441:
174:
278:
52:. The monolithic model differs from other architectures such as the
772:
268:
138:
can dynamically load (and unload) executable modules at runtime.
767:
466:
135:
115:
21:
95:
716:
146:
operating systems (and its derivatives sometimes marketed as
127:
56:
in that it alone defines a high-level virtual interface over
111:
87:
752:
131:
123:
114:
and most modern monolithic operating systems such as
242:. The Design of PARAS Microkernel. Archived from
807:
64:implement all operating system services such as
294:
79:Device drivers can be added to the kernel as
48:with the entire operating system running in
301:
287:
86:Monolithic architecture kernel examples:
20:
808:
220:"Modular system programming in Minix3"
308:
282:
237:"Server-Client, or layered structure"
16:OS that runs entirely in kernel-mode
105:
13:
110:Modular operating systems such as
14:
827:
405:Object-oriented operating system
25:Structure of monolithic kernel,
415:Supercomputer operating system
261:
229:
212:
1:
205:
390:Just enough operating system
375:Distributed operating system
7:
503:User space and kernel space
168:
10:
832:
410:Real-time operating system
745:
682:
628:
606:Multilevel feedback queue
601:Fixed-priority preemptive
589:
524:
515:
485:
432:
423:
385:Hobbyist operating system
380:Embedded operating system
362:
316:
200:Tanenbaum–Torvalds debate
185:Kernel (operating system)
60:. A set of primitives or
649:General protection fault
400:Network operating system
354:User features comparison
33:-based operating systems
395:Mobile operating system
498:Loadable kernel module
34:
566:Process control block
532:Computer multitasking
370:Disk operating system
24:
737:Virtual tape library
329:Forensic engineering
163:random access memory
746:Supporting concepts
732:Virtual file system
269:"Kernel Definition"
816:Monolithic kernels
669:Segmentation fault
517:Process management
66:process management
35:
803:
802:
659:Memory protection
630:Memory management
624:
623:
616:Shortest job next
511:
510:
310:Operating systems
74:memory management
58:computer hardware
39:monolithic kernel
823:
758:Computer network
522:
521:
430:
429:
303:
296:
289:
280:
279:
273:
272:
265:
259:
258:
256:
254:
248:
241:
233:
227:
226:
224:
216:
106:Loadable modules
43:operating system
831:
830:
826:
825:
824:
822:
821:
820:
806:
805:
804:
799:
741:
702:Defragmentation
687:
678:
664:Protection ring
633:
620:
592:
585:
507:
481:
419:
358:
312:
307:
277:
276:
267:
266:
262:
252:
250:
249:on 17 July 2010
246:
239:
235:
234:
230:
222:
218:
217:
213:
208:
171:
108:
17:
12:
11:
5:
829:
819:
818:
801:
800:
798:
797:
792:
791:
790:
788:User interface
785:
775:
770:
765:
760:
755:
749:
747:
743:
742:
740:
739:
734:
729:
724:
719:
714:
712:File attribute
709:
704:
699:
693:
691:
680:
679:
677:
676:
674:Virtual memory
671:
666:
661:
656:
651:
646:
640:
638:
626:
625:
622:
621:
619:
618:
613:
608:
603:
597:
595:
587:
586:
584:
583:
578:
573:
568:
563:
558:
553:
548:
546:Context switch
543:
528:
526:
519:
513:
512:
509:
508:
506:
505:
500:
495:
489:
487:
483:
482:
480:
479:
474:
469:
464:
459:
454:
449:
444:
438:
436:
427:
421:
420:
418:
417:
412:
407:
402:
397:
392:
387:
382:
377:
372:
366:
364:
360:
359:
357:
356:
351:
346:
341:
336:
331:
326:
320:
318:
314:
313:
306:
305:
298:
291:
283:
275:
274:
260:
228:
210:
209:
207:
204:
203:
202:
197:
192:
187:
182:
177:
170:
167:
107:
104:
15:
9:
6:
4:
3:
2:
828:
817:
814:
813:
811:
796:
793:
789:
786:
784:
781:
780:
779:
776:
774:
771:
769:
766:
764:
761:
759:
756:
754:
751:
750:
748:
744:
738:
735:
733:
730:
728:
725:
723:
720:
718:
715:
713:
710:
708:
705:
703:
700:
698:
695:
694:
692:
690:
685:
681:
675:
672:
670:
667:
665:
662:
660:
657:
655:
654:Memory paging
652:
650:
647:
645:
642:
641:
639:
636:
631:
627:
617:
614:
612:
609:
607:
604:
602:
599:
598:
596:
594:
588:
582:
579:
577:
574:
572:
569:
567:
564:
562:
559:
557:
554:
552:
549:
547:
544:
541:
537:
533:
530:
529:
527:
523:
520:
518:
514:
504:
501:
499:
496:
494:
493:Device driver
491:
490:
488:
484:
478:
475:
473:
470:
468:
465:
463:
460:
458:
455:
453:
450:
448:
445:
443:
440:
439:
437:
435:
434:Architectures
431:
428:
426:
422:
416:
413:
411:
408:
406:
403:
401:
398:
396:
393:
391:
388:
386:
383:
381:
378:
376:
373:
371:
368:
367:
365:
361:
355:
352:
350:
347:
345:
342:
340:
337:
335:
332:
330:
327:
325:
322:
321:
319:
315:
311:
304:
299:
297:
292:
290:
285:
284:
281:
270:
264:
245:
238:
232:
221:
215:
211:
201:
198:
196:
193:
191:
188:
186:
183:
181:
180:Hybrid kernel
178:
176:
173:
172:
166:
164:
160:
155:
151:
149:
148:hybrid kernel
145:
144:server-client
139:
137:
133:
129:
125:
121:
117:
113:
103:
101:
97:
93:
89:
84:
82:
77:
75:
71:
67:
63:
59:
55:
51:
47:
44:
40:
32:
31:hybrid kernel
28:
23:
19:
689:file systems
581:Time-sharing
456:
263:
251:. Retrieved
244:the original
231:
214:
159:kernel space
156:
152:
140:
109:
85:
78:
62:system calls
50:kernel space
46:architecture
38:
36:
18:
707:Device file
697:Boot loader
611:Round-robin
536:Cooperative
472:Rump kernel
462:Multikernel
452:Microkernel
349:Usage share
190:Microkernel
90:(including
70:concurrency
54:microkernel
27:microkernel
637:protection
593:algorithms
591:Scheduling
540:Preemptive
486:Components
457:Monolithic
324:Comparison
206:References
195:Nanokernel
100:Windows 9x
727:Partition
644:Bus error
571:Real-time
551:Interrupt
477:Unikernel
442:Exokernel
175:Exokernel
810:Category
773:Live USB
635:resource
525:Concepts
363:Variants
344:Timeline
169:See also
768:Live CD
722:Journal
686:access,
684:Storage
561:Process
467:vkernel
334:History
317:General
253:15 July
136:MULTICS
116:OpenVMS
81:modules
576:Thread
447:Hybrid
425:Kernel
134:, and
96:MS-DOS
72:, and
41:is an
778:Shell
717:Inode
247:(PDF)
240:(PDF)
223:(PDF)
128:SunOS
120:Linux
92:Linux
339:List
255:2009
112:OS-9
88:Unix
29:and
795:PXE
783:CLI
763:HAL
753:API
556:IPC
132:AIX
124:BSD
94:),
76:.
812::
538:,
165:.
130:,
126:,
122:,
118:,
102:.
98:,
83:.
68:,
37:A
632:,
542:)
534:(
302:e
295:t
288:v
271:.
257:.
225:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.