操作系统重要引论

操作系统重要引论

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

基本术语解释

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

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

  • 处理器
    CPU从内存中取出指令并执行。在每个CPU基本周期中,首先从内存中取出指令,解码以确定类型和操作数,执行指令。
    由于访问内存读取指令的耗时要比执行指令的时间长很多。CPU中有保存变量和临时数据的寄存器。
    多数计算机还有一些对程序员可见的寄存器:

    • 程序计数器
      保存将要取出的下一跳指令的内存地址。

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

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

    指令流水和并行执行现代计算机都有多个cpu,每个cpu上有独立的取指单元,解码单元,执行单元。这样分级的操作就形成了指令流水,和实现了真正的并行,而不是并发。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值