美文网首页
Computer Science - An Overview -

Computer Science - An Overview -

作者: Nimrode | 来源:发表于2018-05-02 18:47 被阅读0次

    3.1 The History of Operating Systems

    • 多任务处理(multitasking)的问题
      • load balancing:在多个处理器这件,动态调节任务
      • scaling:把一个任务拆分成子任务
    • embedded system:嵌入到特定仪器上的系统

    3.2 Operating System Architecture

    A Software Survey

    Components of an Operating System

    • 操作系统 = UI + kernel
    • 两类UI:shell(键盘显示器,文本)vs. GUI
    - UNIX Windows
    shell Bourne shell, C shell, ... cmd
    GUI X11 windows
    • kernel
      • 文件管理(斜线:windows左,网址、LINUX右 )
      • 设备驱动:和controller通讯的软件
      • 内存管理:管理主存。paging:把待处理信息在主存和硬盘之间来回倒,制造虚拟内存。
      • scheduler,dispatcher

    Getting It Started

    • 开机过程
      • 开启前操作系统存储在硬盘中,主存是空的
      • 每次启动,CPU的program counter(存储这下一条指令的地址),都包含一个预定的地址
      • 这个地址指向内存中特殊的ROM(read only memory,掉电依然保存),存储着boot loader
      • boot loader负责把操作系统载入到主存中,之后让program counter跳转到操作系统的第一条指令
    • 操作系统可以存放在闪存甚至远程电脑中
    • firmware:ROM中,除了boot loader之外的其他软件。介于软硬之间。例如BIOS, EFI。

    3.3 Coordinating the Machine's Activities

    The Concept of a Process

    • 进程:执行一个程序的“行为”。随着时间变化。
    • 进程状态 = 程序中正在执行的位置(program counter)+所有寄存器状态

    Process Administration

    • scheduler:在process table中管理任务(任务管理器可见)
      • 记录process使用的内存地址,优先级,ready/waiting
    • dispatcher:管理资源(时间片)
      • 从所有ready进程中,选择最高优先级,分配一个时间片
      • 时间片计时结束后,触发interrupt
      • CPU完成当前machine cycle
      • CPU记录当前process状态,进入下一循环

    3.4 Handling Competition Among Processes

    • 需要竞争的资源:文件读写权限、 新文件创建的硬盘空间、内存、process table中的位置、时间片、网络、GPU

    Semaphores

    • 有些代码(例如独占设备),一次只能由一个进程执行完,才允许下一个进程执行。要用一个flag进行保护
    • 这个flag本身的读取/设置也需要进行
      • 法1:在读取时,设定不可中断;设置完成后,再设置可中断
      • 法2:test-and-set设置为一个指令,在一个machine cycle中完成
    • 这种“精心维护”的flag称为semaphore。可访问程序个数可以不止为一。

    Deadlock

    • 多个进程,相互等待对方完成,才能从waiting变成ready
    • 死锁的三个必要条件
    名称 含义 解决 举例
    竞争 在不可共享资源上存在竞争 规避 把打印机驱动(不可共享)当成资源->把待打印队列(可共享)达成资源。spooling
    请求和保持 进程一部分一部分地申请资源。申请新的时候,旧的不放弃 规避 一次申请全部资源
    不可剥夺 资源分配后,不可被强制取回 检测和矫正 杀进程

    3.5 Security

    Attacks from the Outside

    Attacks from Within

    • 两种模式:privileged mode/nonprivileged mode,是否可以运行所有指令
    • 某些指令(e.g.改写程序访问限制的寄存器),需要限制执行

    相关文章

      网友评论

          本文标题:Computer Science - An Overview -

          本文链接:https://www.haomeiwen.com/subject/tbwilftx.html