操做系统结构

如下讨论操做系统的五种不一样的结构:java

1.总体结构

最经常使用的一种组织方式。它的结构实际上就是“无结构”,整个操做系统是一组函数的集合,每一个函数能够去调用任何其余的函数。服务器

  操做系统提供的服务(系统调用)的请求过程:分布式

  1. 将参数放入预先肯定的位置,如寄存器或栈
  2. 执行一条特殊的陷阱指令(访管程序调用指令或内核调用指令)
  3. CPU从用户态切换到内核态,并将控制权交给操做系统。

  

这种模型中,每一个系统调用都由一个服务列程来完成。而工具函数则负责一些辅助性的工做,如从用户程序获取数据。函数

    

  1. 一个主程序,用来调用被请求的服务例程
  2. 一组服务例程,用来实现相应的系统调用
  3. 一组工具函数,用来帮助服务例程的实现

2.分层结构

  在总体结构模型的基础上进一步推广获得分层结构。工具

  

  分层方案只是在设计上提供一些方便,系统的各个部分最终仍然被连接成一个完整且单一的目标程序。操作系统

 

3.虚拟机

  VM/370系统设计

  java虚拟机JVM3d

4.外核

  在内核下运行的最底层软件是一个称为外核的程序,其任务是为虚拟机分配资源并确保资源的使用不会发生冲突。blog

  外核方案的优势在于它省去了一个映射层。进程

5.客户-服务器模型

  将大多数操做系统功能由用户进程来实现,只保留一个最小的内核。

  为了获取某项服务,用户进程(客户进程),将此请求发送给一个服务器进程,服务器进程随后完成此操做并将应答信息送回。

  

此模型还适用于分布式系统:

  

相关文章
相关标签/搜索