去朋友家里换着玩格斗卡片是增进友谊的方法
1490
2023-07-17
22.然而,Linux系统只是使用单一内核结构。
23.这是因为Linux是一个实用的操作系统。
24.Linux Tovarlds把代码执行效率作为自己操作系统的第一要务,并没有设计一个系统,而是让Linux在使用中不断发展。
25.在这个开发过程中,大部分参与Linux开发的程序员都是来自世界各地的黑客。
26.比起清晰的结构,他们更注重强大高效的代码。
27.所以他们把大量的精力放在了优化代码上,而这样的全局优化必然是以失去结构简化为代价的,导致Linux中的每一个组件都无法轻易拆卸。
28.否则会破坏整体效率。
29.虽然Linux是单核系统,但它不同于传统的单核UNIX操作系统。
30.在一个普通的单核系统中,所有的内核代码都是静态编译的,而在Linux中,一些内河的代码是可以动态加载和卸载的。
31.Linux将这些代码段称为模块。
32,(模块),并对模块给予了大力支持。
33.在Linux中,模块可以在需要时自动加载和卸载。
34.Linux不支持用户模式线程。
35.在用户模式下,Linux认为线程是共享一个上下文的进程。
36.Linux通过LWP(轻量级线程)的机制实现了用户态线程的概念。
37.通过系统调用clone()创建一个新线程。
38.Linux的内核来自非抢占式。
39.也就是Linux不能通过改变优先级来影响内核当前的执行流程。
40.所以Linux在实现实时操作上是有问题的。
41.Linux不是一个“硬”实时操作系统。
42.Linux内核包括进程管理、定时器、中断管理、内存管理和模块。
各位好,荔枝在这里为各位解答以上问题。内核隔离,这个很多人还不知道,现在我们下去吧!
1.内核是操作系统的内部核心程序,它向计算机设备提供外部核心管理调用。
2.我们把操作系统的代码分成两部分。
3.内核所在的地址空间称为内核空间。
4.在内核之外,统称为外部管理程序,大部分是外围设备的管理和接口操作。
5.外部管理程序和用户进程占用的地址空间称为外部空间。
6.通常,一个程序会跨越两个空间。
7.在内河空间执行一段代码,我们说程序处于内核状态,在外部空间执行代码,我们说程序处于用户状态。
8.从UNIX开始,人们开始用高级语言编写内核代码(UNIX上最具代表性的语言是UNIX的系统级语言C),使得内核具有良好的扩展性。
9.单片内核是当时操作系统的主流。操作系统中所有与系统相关的功能都封装在内核中,与外部程序位于不同的内存地址空间,通过各种手段(使用Intel IA-32系统中的386保护模式)阻止外部程序直接访问内核结构。
10、程序只能通过一组名为系统调用(system call)的接口来访问内核结构。
11.近年来,微内核结构逐渐流行起来,成为操作系统的主流。
12.1986年,Tanenbaum提出了Mach内核,后来,他的minix和GNU Hurd操作系统就是微内核系统的典范。
13.在微内核结构中,操作系统的内核只需要提供一些基本的、核心的操作(如创建和删除任务、内存管理、中断管理等。),而其他管理程序(如文件系统和网络协议栈等。)尽可能放在内核之外。
14.这些外部程序可以独立运行,并为外部用户程序提供操作系统服务。这些服务通过使用IPC相互交互,只有当内核需要帮助时,它们才通过windows套接字向内核发送调用请求。
15.微核系统的优点是操作系统具有良好的灵活性。
16.它使操作系统的内部结构简单明了。
17、程序代码的维护非常方便。
18.但也存在一些不足。
19.微内核系统由于内核状态的原因只实现最基本的系统操作,由于内核之外的外部程序之间的独立操作,很难对系统进行整体优化。
20.此外,进程间通信的开销比单个内核系统要大得多。
21.整体来看,在目前的硬件条件下,微内核的效率损失小于结构的收益,所以选择微内核已经成为操作系统的一大趋势。
牛皮克拉斯的大致内容分享到此结束,希望对各位有所帮助。