您的位置:首页 > 理论基础

操作系统重要引论

2016-04-02 15:32 260 查看

操作系统重要引论

操作系统是运行在内核态下的软件(有时候在内核态外运行的的程序也有被认为是操作系统的一部分,如文件系统在用户态下运行)。我们很难给操作系统下一个定义。从功能上去认识操作系统是一个有用的途径。任务一:为应用程序提供计算机资源集的清晰的抽象。任务二:管理所以的硬件资源。

基本术语解释

内核态和用户态

现代计算机多数都支持这两种运行的模式。模式的切换是由硬件保护的。内核态下运行的操作系统程序对所有硬件据有完全的访问权限,并且可以执行所有的机器指令。操作系统对于计算机据有完全的使用权。用户态下程序只能使用计算机指令集的一个子集。那些会影响机器的控制和I/O操作的指令,在用户态下是禁止使用的。

抽象是解决复杂性问题的方式

好的抽象可以把一个几乎不可能的任务划分成两个可管理的部分。其第一部分是有关抽象的定义和实现。第二是随时用这些抽象解决问题。从CPU取指令,解码,到执行抽象成多进程。物理内存到地址空间的抽象。磁盘数据块到文件的抽象。天啦!感谢这些天才的抽象,让我们能够如此方便和优雅的使用这么复杂的硬件系统。

处理器

CPU从内存中取出指令并执行。在每个CPU基本周期中,首先从内存中取出指令,解码以确定类型和操作数,执行指令。

由于访问内存读取指令的耗时要比执行指令的时间长很多。CPU中有保存变量和临时数据的寄存器。

多数计算机还有一些对程序员可见的寄存器:

程序计数器[/b]

保存将要取出的下一跳指令的内存地址。

堆栈指针寄存器

保存内存中当前栈的顶端。堆栈中保存有输入参数,局部变量,还没有保存在寄存器中的临时变量。

程序状态字

保存了CPU优先级,模式(内核态/用户态),其他控制位。允许程序员修改某些位上的值。

指令流水和并行执行现代计算机都有多个cpu,每个cpu上有独立的取指单元,解码单元,执行单元。这样分级的操作就形成了指令流水,和实现了真正的并行,而不是并发。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  操作系统 计算机