我们为什么需要操作系统(Operating System)?

我们为什么需要操作系统(Operating System)?

  a) 从计算机体系的角度,OS向下统筹了所有硬件资源(1),向上为所有软件提供API调用(2),使得软件程序员不必知晓硬件的具体细节,实现了计算机体系的分层;

       b) 从资源管理的角度,OS对有限的计算资源进行分配(3),是软件按照“某种理想的状态序列”运行(4),以获得“性能与用户体验上的最优解”(5)。

 

       带来的一些问题:

              1> OS怎么统筹硬件资源?

      答:暂时不知道,但肯定具有统一的协议.

              2> OS 与 OS之间怎么统一API,使得软件具有可移植性?

                     答:POSIX协议.

              3> 为什么要分配计算资源,而不是每个程序直接执行即可?

                     答:合理地分配计算资源,可以更高效地完成任务;

              3.1> 怎么分配计算资源?

                     答:首先要对计算资源进行虚拟化,其次是其次;

              3.2> 什么叫资源的虚拟化?

      答:就是将物理资源转换为更通用、更easy to use 的虚拟形式【建立抽象层】,这也是我们为什么要对资源进行虚拟化的原因。

              4/5> 什么叫软件的“理想的状态序列”?

      答:我们希望当很多软件按照这个“理想的状态序列”运行的时候,能够兼顾高性能与用户体验;

              4.1> 怎么得到“理想的状态序列”?

                     答:通过OS的进程调度算法(这是我接下来会鸽的话题);

              5> 什么叫高性能?什么叫用户体验?

      答:高性能定义为一些作业从开始到结束的平均时间,时间越短,性能越高(好学术啊),总之同样的作业,完成的越快性能越高嘛;用户体验的话,比如你开始一个作业,却因为前面有作业正在占用计算资源,你的作业迟迟得不到回应,你肯定很急,但不考虑用户体验的OS只告诉你先别急;

              5.1> 一定要兼顾么?不能只取其一么?

                     答:可以,具体看应用场景的需求。

 

  总结一下,操作系统的目的之一是:在所有资源受控的情况下,为一些用户提供提供高性能与高体验的服务。

 

// 爆肝更新cpu虚拟化部分中…

posted @ 2024-04-16 19:51  hk416hasu  阅读(63)  评论(0编辑  收藏  举报