OS_01_操作系统概念

(一)操作系统概念

操作系统定义

  • 操作系统是
    • 管理计算机硬件的程序,作为用户和硬件的中间层。
  • 计算机系统由四个部件组成:
    • 硬件(hardware)、操作系统 、 应用程序(application programs) 、 用户(users) 。
  • 硬件包括
    • 中央处理器(central processing unit) 、 存储器(memory) 和 输入输出(I/O)设备 。操作系统控制并协调多个用户的多道程序。
  • 计算机视角:
    • 操作系统类似一个 资源管理器(resource allocator) ,它扮演了硬件资源管理者的角色。另一个略微有所不同的角度是,操作系统是一个控制程序,这个 控制程序(control program) 管理用户程序的执行以防止错误的发生和对计算机不合法的使用。

操作系统组织

  • 引导程序是
    • 用于计算机启动的初始化程序,被存储在存储器或固件
  • 中断(interrupt)
    • 硬件或软件的中断用来触发一个事件的发生。
    • 有三种触发方式:
      • 应用程序发生意料之外的错误,向内核发送异常触发中断。
      • 硬件可能在任何时候通过向CPU发送一个信号来触发中断,该信号由总线传递。
      • 应用程序通过系统调用(system call) 触发中断。
      • 三种中断的比较:
        中断源头响应方式处理机制
        中断外设异步系统调用
        异常程序意外同步杀死或重启意外程序
        系统调用程序请求同或异等待和持续
  • 计算机程序必须执行于
    • 主存(RAM)。主存是CPU能直接访问的唯一大容量存储器,由DRAM半导体实现。
  • 主存是
    • 易失(valatile) 存储,当电源断开,存储内容会丢失。二级存储作为主存的扩展,通常是磁盘。
  • 启动I/O操作步骤:
    • 设备驱动 设置 设备控制器 内部对应的寄存器
    • 设备控制器 检查其内部寄存器并确定要执行的行为
    • 设备控制器 启动数据传输,数据从设备发送给 本地缓存
    • 当数据传输结束,设备控制器 通过触发中断通知 设备驱动
    • 设备驱动 将控制权交还给操作系统;如果 I/O 操作是读行为,则携带(读取的数据)或者(指向数据的指针);如果 I/O 操作是其他行为,则返回(状态信息)。
  • 大量数据移动通常使用
    • 直接存储器访问(direct memory access,DMA)。在为I/O设备设置缓冲区,指针,计数器后,设备控制器将整块数据直接从它的缓冲区发送到主存(或相反方向),而不经CPU。传输一块数据只会触发一次CPU中断。

计算机系统体系与结构

  • 多处理器系统(multiprocessor system) 的优点和类型
    - 也被称作 并行系统(parallel system) 或 轻耦合系统(lightly coupled system)
    - 优点
    - 增加吞吐量(turoughput)
    - 性价比高
    - 相比多个单处理器系统,多处理器系统可共享外围设备,大存储器和电源。
    - 增加可靠性(reliability)
    - 其中一个处理器出现故障只会减缓系统而不会导致系统终止。根据 存活硬件 均衡提供服务 的能力 被称为故障弱化(graceful degradation)。有些系统具有容错能力(fault tolerant),当任何一个单件出错,系统能够继续运行。
    - 类型
    - 非对称多处理器
    - 每个处理器负责不同的工作,如控制系统或获取信息
    - 对称多处理器
    - 处理器间不存在从属关系,都可处理所有作业。
    • 多道程序(multiprogramming)
      • 内存中同时可存放多道程序。通过安排作业(编码与数据)使得 CPU 总有一个执行作业,从而提高 CPU 利用率。
    • 分时(time sharing)是
      • 多道程序操作系统的延伸,可同时为多个用户服务的操作系统,把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。分时操作系统的特点是可有效增加资源的使用率。
      • 在分时系统中,操作系统必须保证响应时间,这一点有时通过进程在主存和硬盘之间的 交换(swapping) 完成。一个更普遍的方式是 虚拟内存(virtual memory) ,它使用户可以运行远大于 物理内存(physical memory) 的程序。
    • 多道程序与分时的区别:
      • 分时操作系统是给不同用户提供程序的使用,而多道程序系统则是不同程序间的穿插运行。
    • 作业池(jobs pool)
      • 一个被装入主存并执行的程序被称作 进程(process) 。分时和多道程序需要主存中同时保持多个作业,因为主存通常不足以同时容纳这些作业,所以它们在执行前被存放在硬盘的 作业池(job pool) 中,它容纳了所有等待分配主存的进程。
    • 作业调度(job scheduling)
      • 如果多个作业因为主存空间不足而无法同时装载,那么系统要在作业间进行 作业调度(job scheduling) 。

操作系统运行

  • 现代操作系统均由中断驱动(interrupt driven)
    • 异常(exception)(trap)
    • 操作模式(modes)
      • 两个模式:(mode bit)
        • 用户模式
        • 内核/管理/系统/特权模式
      • 在系统启动时,硬件系统处于内核模式。之后操作系统被加载并且在用户模式中执行用户应用。当一个陷阱或者中断发生,硬件将从用户模式切换到内核模式。
    • 定时器(timer)
      • 操作系统将控制权交还给用户前 启动定时器,一旦定时器触发中断,控制权将自动交还给操作系统。操作系统会将该中断视作一个致命的错误(fatal error)或者给这个程序更多的执行时间。

进程管理

  • 程序与进程的比较
    - 程序是被动的实体,进程是主动的实体
    - 程序是一堆静态的代码,或有序的指令
    • 进程的生命周期:
      • 创建,运行,调度,等待,撤销。
    • 进程要完成任务需要如下资源:
      • CPU,存储器,文件和 I/O 设备。一个单线程的进程有一个 程序计数器(program counter) 指定下一条要执行的指令,多线程的进程有多个程序计数器。
    • 进程是系统中的工作单元。通过在单 CPU 的复用,所有的进程都有机会并行执行。
    • 操作系统需要为进程提供以下服务
      • 创建或删除用户或系统进程
      • 挂起或继续进程
      • 提供进程同步机制
      • 提供进程通讯机制
      • 提供死锁处理机制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值