操作系统基本概念
系统调用
为什么要提供系统调用,这是因为要将系统资源交由操作系统来进行一个统一的协调的管理。
对于编程语言来讲,操作系统提供的系统调用被封装成为了一个个的库函数,为编程人员屏蔽了下层的细节。
用户态和核心态
对于有一些操作(计算机指令的执行)来说,他是危险的。所以不能让所有的应用程序都可以执行,那么就可以轻易的造成破坏。
所以就将指令划分称为特权指令和非特权指令。并且规定特权指令只能够在核心态里面才能够执行。这样就将危险操作和普通操作隔离开来了。
同时在cpu中,使用某个寄存器的一个状态标志位来表示当前cpu时处于用户态还是核心态。
所以我们很容易明白,计算机的运行实际上是不停的在用户态和核心态之间切换。毕竟像是,操作系统资源,进程间通信这种事情都应该是在核心态下完成的。
大内核和微内核
众所周知的,操作系统提供为其他的应用软件提供下层建筑的基础。而内核更是操作系统的基础核心。
内核按照功能的集成程度可以分为大内核和微内核。
内核所必须要提供的功能有时钟管理,中断管理,以及原语(原子级操作)。
对于大内核来说,对比微内核的区别就是他不仅仅提供这些基础功能,并且还提供了系统资源的管理:设备管理,进程管理,存储器管理。
由于内核始终是工作在核心态的,那么大内核比之微内核的优点就是由于系统资源的管理集成在内核中,而内核又是始终工作在内核态的。所以就可以大大减少cpu在核心态和用户态之间切换的频率。可以提高系统的性能。
然后缺点也很明显,混乱,难以管理。
原文地址:https://www.cnblogs.com/freesfu/p/11617383.html
时间: 2024-10-31 18:48:54