OS结构

操作系统结构

operating system services

  • 用户接口
  • 程序
  • IO操作
  • 文件系统
  • 通讯
  • 错误检测
  • 资源分配
  • 安全

User Operating System Interface

  • command interface
    • CIL: command-line interface
    • GUI: graphics user interface
  • program interface(System call)

system call

  • 定义:系统调用是在用户进程和系统内核之间的程序接口
  • 多数情况下,用户进程通过API而不是系统调用与内核打交道。
    • API是一组函数定义,提供了一个特定的服务;而一个系统调用时通过软中断向内核发送一个请求;
    • API可能需要一个或多个系统调用来完成其功能,如果不与内核打交道,则不需要用到系统调用;
    • 系统调用是在内核态中运行的,而API是在用户态中运行;
  • 系统调用如何传递参数?有三种:
    • 在寄存器中传递,适用于参数比较少的,因此会限制参数长度;
    • 在block、table或者内存中,然后再寄存器存着所在block的地址;
    • 存在stack中,需要时则pop;

Operating system structure

  • simple structure: MS-DOS
  • Microkernel system structure: 由“微”内核和若个个服务组成,基本功能由中央内核提供,其它功能由独立进程提供
    • windows、Macos
  • Monolithic Kernels: 内核的所有代码,包括子系统都被打包进一个文件中,内核中的每个函数都可以访问内核中所有部分
    • linux

virtual machines

虚拟机是在硬件上的一层服务,物理机的资源被用来创建虚拟机。虚拟机很好地避免了与硬件资源的直接访问