操作系统原理的基本概念和组成

Posted by Dorck on March 12, 2022

操作系统概念

我们很难对操作系统下一个完整,精确的定义,但是我们可以通过分析操作系统的在计算机工作时起的作用,来认识操作系统究竟是什么?

1. 从用户角度上,操作系统是一个控制软件

2. 操作系统管理应用程序,为应用程序提供服务

3. 操作系统管理内设,分配资源

4. 在计算机层次结构中,位于硬件之上,应用程序之下

操作系统是一种系统软件,对外有两种接口:Shell,GUI。

地位:中间件,是计算机科学研究的基石之一、是计算机系统的基础组成部分。

操作系统管理的四大硬件资源

1. cpu——进程管理

2. 内存——物理内存管理和虚拟内存管理

3. 磁盘——文件系统

4. 底层硬件——中断处理与设备驱动

操作系统的四大特征

1. 并发:计算机系统可以同时运行多个运行的程序

2. 共享: “同时访问”资源,互斥共享

3. 虚拟:利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务

4. 异步: 程序的执行不是一贯到底,而是走走停停,向前推进的速度不可预知;但只要运行环境相同,OS 需要保证程序运行的结果也要相同。

操作系统的难点

  1. 操作系统代码量大

  2. 并发性和琐碎的调度算法的挑战

  3. 高效性、低耗性、稳定性需求,具有一定的硬件编程性质

  4. 的问题:最底层必须互斥

  5. 权衡:时间-空间、性能和可预测性、公平和性能(这个就说明了GPU和CPU的性能差异)

  6. 管理原始硬件:中断、异常、上下文切换、TLB和页表;汇编语言

OS Kernel 特征

同样对应于操作系统的四大特征。

  1. 并发(计算机系统中同时存在多个运行的应用程序,需要OS管理和调度)

  2. 共享(互斥共享/同时共享)

  3. 虚拟(cpu虚拟化为进程、磁盘虚拟化为文件系统、内存虚拟化为地址空间)

  4. 异步

其他

Linux、windows、Android属于外壳(shell),而不是内核 kernel,后者是研究重点,它位于 shell 之下。

并发:某一时间段多个应用程序运行

并行:某一时刻多个程序运行(需要计算机存在多个cpu)

操作系统需要权衡:

  • 空间与时间(内存和cpu)
  • 性能和可预测性
  • 公平性和性能

最后

陈渝老师的一句话结尾:

我听到的会忘记;

我看到的才能记住;

然而只有事必躬亲我才能理解。


许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。