操作系统的基本架构

一个普通的操作系统,即类似于一个软件中间件,是用户程序和硬件之间的“中介”
  因此,一个达到要求的操作系统,便能够运行许多用户级别的应用程序(第三方程序)。
  同时,这些应用程序可以:
  - 和用户交互
  - 和互联网交互
  - 和文件系统交互
  对于应用程序来说,操作系统就像是计算机本身,这台“计算机”提供了:
  (1)进程(应用程序的可执行单元);
  (2)内存;
  (3)文件系统(位于磁盘中);
  (4)互联网交互;
  (5)用户交互设备(即输入输出设备,常见的诸如键盘,鼠标,显示器等,专用的设备诸如空间球,游戏手柄等);
  (6)对于多用户操作系统,还需要给每个用户分配权限,管理他们可以操作等文件等;
  (7)计算机安全,比如防止黑客入侵某个部分,或者防止第三方应用程序的肆意破坏= =;
  (8)其它。(Whatever needed)
  (日后补充操作系统的架构概念图)
  因此,当我们学习操作系统时,可以从一下几个方面入手:
  (1)内存管理与CPU:
  首当其冲,这是操作系统,也就是应用程序所谓的“计算机”的核心。
  (2)进程与线程:
  这是最重要的部分,事实上和内存管理、CPU唇齿相连。没有了进程和线程,操作系统也就失去了意义。
  (3)文件系统:
  对于一个操作系统,管理磁盘也相当重要;进程相关的内容都存储在内存中,可是进程需要读写,需要长期存储一些东西,这些都是文件系统都功劳。
  (4)硬件设备接口:
  硬件设备,包括磁盘,鼠标,键盘等,是操作系统的另一个重要任务;对于磁盘,关系到文件系统的读取;而对于其它设备,关系到操作系统能否良好地提供一个交互式应用程序环境。
  (5)互联网接口:
  这关系到操作系统能否提供一个良好的网络应用程序环境。面对互联网发达的今天,没有一个操作系统可以不提供这样的接口。
  (注:Chromium OS,Firefox OS,几乎完全依赖与网络。Web OS,我认为是以后操作系统发展的方向)
  在有了以上几个部分以后,其实操作系统已经可以运行。但是为了更好的服务与应用程序,操作系统需要这些:
  *虚拟内存:可以在磁盘中扩张内存。当应用程序需要的内存大于物理内存时,操作系统可以不受束缚的提供更大的内存。
  *计算机安全:为了保护操作系统、硬盘、用户资料或者别的用户进程,操作系统应该需要提供安全保护。

最新内容请见作者的GitHub页:http://qaseven.github.io/

上一篇:Spring 通过来AOP 实现前置,环绕,异常通知,注解(转)


下一篇:《操作系统真象还原》——1.3 操作系统的宿主环境