2. 操作系统结构(operating-system structures)

操作系统的服务

  1. 最顶层是user interfaces
  • 主要是gui,batch,command line
  • 给用户使用操作系统
  1. 第二层是system calls(系统调用)
  • 给程序员来使用,调用一些接口
  1. 第三层是service
  • program execution:应用程序
  • I/O operations:一些io设备
  • file systems:以文件方式去存储,存储到存储设备中
  • communication:程序之间的通信
  • resource allocation:资源分配,经过操作系统
  • accounting:记账
  • error detection:
  • protection and security:防止恶意代码

为用户

  • Almost all operating system have a user interface(UI),It offers a way for users to interface(交互) with OS.
    • CLI(Command Line Interface)
      • command interpreter(shell)
      • interpreter(解释器)
    • GUI(Graphic User Interface)
      • A user friendly graphical user interface.
    • Batch
      • It is file which contains commands(命令) and directives(指示).
        • 一些常用命令:cd ls mkdir touch
        • 使用ls -l,可以看到属性,是否为文件,drwxr-xr-x(d表示这个是一个文件)
        • batch文件

为程序员

  1. 系统调用(system calls)提供了访问和使用操作系统所提供的服务接口
  • 系统调用的实现代码是操作系统级的
  • 这个接口通常是面向程序员的
  1. API(Application Programming Interface):指名了参数和返回值的一组函数。
  • 应用程序App的开发人员通过透过API间接访问了系统调用
  • api不是系统调用。
  1. 双重模式 :
  • 计算机系统上有一个专门的硬件
    • 用户模式(user mode):执行用户代码
    • 内核模式(kernel mode):执行操作系统代码
  • 在不同模式上,可以执行的代码权限不同,特权指令,确保操作系统可以正常运行。
  • 系统调用运行在kernel mode
  • 应用程序运行在user mode下
  1. 系统调用实现机制
  • 每一个系统调用都有一个唯一的数学编号,被称为系统调用号
  • 用户代码调用API时,API中会向系统调用接口指明其所要用的系统调用号,操作系统内核中会维护一张索引表,依据这个调用号可以检索到系统调用代码在内核中的位置。

操作系统的构建方式

  1. 操作系统的设计思路
  • 设计目标
    • 用户目标(user goal)
    • 系统目标(system goal)
  • 机制与策略的分离
    • 机制(mechanism):如何做
    • 策略(policy):做什么
    • 通过分离机制和策略,系统设计者可以独立地修改策略而不需要重新设计机制,这样可以在不同的环境和需求下复用相同的机制。这种分离使得系统更加模块化,易于理解和维护。同时,这也允许在不同的实现中应用相同的策略,或者在相同的框架下实验不同的策略。

GNU/Linux

posted @ 2024-04-13 15:34  zhudachang  阅读(3)  评论(0编辑  收藏  举报