操作系统学习(WEEK1-WEEK5)

来源:互联网 发布:哪个软件有鱼眼效果 编辑:程序博客网 时间:2024/05/01 19:33

WEEK 1

  • 操作系统是计算机系统中的一个系统软件,是一些程序模块的集合

    1. 它们能以尽量有效合理的方式组织和管理计算机的软硬件资源
    2. 合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能
    3. 使得用户能够灵活,方便的使用计算机,使整个计算机系统高效运行
  • 操作系统的作用
    1. 资源的提供者(进程,线程管理;存储管理,文件管理,设备管理,用户接口)
    2. 向用户提供各种服务
    3. 对硬件机器的扩展
  • 操作系统的特征
    1. 并发:指处理多个同时性活动的能力
    2. 共享:操作系统与多个用户的程序共同使用计算机系统中的资源
    3. 虚拟:一个物理实体映射为若干个对应的逻辑实体-分时或分空间
    4. 随机:操作系统必须随时对以不可预测的次序发生的事件进行响应并处理
  • 批处理系统的实现通常采用SPOOLING技术,他的思想是利用磁盘做缓冲,将输入,计算,输出分别组织成独立的任务流,使I/O和计算真正并行。现代的打印机技术就是采用这个技术的,在磁盘上开辟一个输入井和输出井,用户输入和输出不直接放到输出设备,而是到磁盘上,从而提高效率。

WEEK 2

  • 处理器由运算器、控制器、一系列寄存器及高速缓存组成。寄存器分为用户可见寄存器及控制和状态寄存器。常见的控制和状态寄存器有程序计数器(PC)、指令寄存器(IR)、程序状态字(PSW)

  • 操作系统需要两种CPU状态:内核态和用户态。用户态->内核态的唯一途径:中断/异常/陷入机制。内核态->用户态:设置程序状态字PSW

  • 特权指令:只能由操作系统使用(如启动IO,内存清零,修改程序状态字,设置时钟,允许/禁止中断,停机)
    非特权指令:操作系统和用户都可以使用

  • 中断是外部事件打断(如IO中断,时钟中断,硬件故障),异常是正在执行的程序打断(如系统调用,页故障/页错误,保护性异常,断点指令,算术溢出,除零,取数时奇偶错,访问地址时越界,或执行了陷入指令)

  • 中断向量存放中断处理程序入口地址和程序运行时所需的处理机状态字

  • 系统调用是异常的一种,是用户态到内核态的唯一入口。参数传递有3种方式:由陷入指令自带参数;通过通用寄存器传递参数;在内存中开辟专用堆栈

WEEK 3

  • 进程是具有独立功能的程序关于某个数据集合上一次运行活动,是系统进行资源分配调度的独立单位
  • 进程控制块PCB是操作系统用于管理控制进程的一个专门的数据结构
  • 进程的三种基本状态:运行态(占有CPU,并在CPU上运行);就绪态(已经具备运行条件,但由于没有空闲的CPU,而暂时不能运行);等待态(因等待某一状态而不能运行或称为阻塞态,封锁态,睡眠态)
    其他状态:创建,终止,挂起(用于调节负载)
  • 进程控制由具有特定功能的原语完成。原语是完成某种特定功能的一段程序,具有不可分割性和不可中断性,也称原子操作

    1. 进程创建(Unix:fork/exec;Windows:CreateProcess)

      • 给新进程分配一个唯一标识符及进控制块
      • 分配地址空间
      • 初始化进程控制块
      • 设置相应队列指针

      fork()通过复制调用进程来建立新的进程
      exec()通过用一段新的程序代码覆盖原来的地址空间,实现进程执行代码的转换

    2. 进程的撤销(Unix:exit;Windows:TerminateProcess)
      • 回收资源
      • 撤销PCB
    3. 进程阻塞(Unix:wait;Windows:WaitForSingleObject)
  • 线程是进程中的一个运行实体,是CPU的调度单位。共享所在进程的地址空间和资源

  • 实现机制:用户级线程(UNIX),核心级线程(WINDOWS),混合模型(Solaris)

WEEK 4

  • CPU调度,其任务是控制、协调进程对CPU的竞争。如果没有就绪进程,系统会安排一个系统空闲进程即idle进程
  • 进程调度时机(内核对中断、异常、系统调用处理后返回到用户态)
    1. 进程正常种植或由于某种错误而终止
    2. 新进程创建或一个等待进程变成就绪
    3. 当一个进程从运行态进入阻塞态
    4. 当一个进程从运行态变为就绪态
  • 调度算法衡量指标
    1. 吞吐量Throughtput - 每单位时间完成的进程数目
    2. 周转时间TT - 每个进程从提出请求到运行完成的时间
    3. 响应时间 RT - 从提出请求到第一次回应的时间
    4. CPU占用率
    5. 等待时间
  • 批处理系统调度算法(考虑吞吐量、周转时间、CPU利用率、公平平衡)
    1. 先来先服务
      按照进程就绪的先后顺序使用CPU,非抢占。
      优缺点:公平,实现简单;长进程后面的短进程等待时间较长
    2. 最短作业优先
      具有最短完成时间的进程优先执行,非抢占式
      优缺点:最短的平均周转时间(在所有的进程同时可运行时);当有源源不断的短任务来时,会有长任务的饥饿现象
    3. 最短剩余时间优先
      当一个新的就绪进程比当前运行的进程具有更短的完成时间,系统会抢占当前进程,选择新的就绪进程,抢占式
    4. 最高相应比优先 HRRN
      先计算响应比R,选择R最高的执行。
      R=周转时间/处理时间=(处理时间+等待时间)/处理时间=1+(等待时间/处理时间)
  • 交互式系统调度算法(响应时间,公平)
    1. 时间片轮转调度
      每个进程分配一个时间片,周期性切换。为短任务进程改善平均响应时间。
      优缺点:公平,响应时间快;由于进程切换,要花费较大的开销
    2. 最高优先级调度
      选择优先级最高的进程运行。不公平,会导致优先级低的进程饥饿
      优先级反转问题:一个低优先级的进程持有一个高优先级进程所需的资源,使得高优先级进程等待低优先级进程运行。解决:设置优先级上限,优先级继承,使用中断禁止。
    3. 多级反馈队列
      设置多个就绪队列,第一级队列优先级最高
      给不同的就绪队列分配不同长度的时间片,第一级队列时间片最小
      各级队列按照时间片轮转方式调度
      当一个新创建进程就绪后,进入第一级队列
    4. 最短进程优先
  • 典型系统所采用的调度算法
    UNIX - 动态优先数法
    LINUX - 抢占式调度
    WINDOWS - 基于优先级的抢占式多任务调度

WEEK 5

  • 进程互斥:由于各进程要求使用共享资源,而这些资源需要排他性使用,各进程之间竞争使用这些资源,这一关系称为互斥关系。
  • 临界资源:系统中某些资源一次只允许一个进程使用,这样的资源为临界资源或互斥资源或共享变量。
  • 临界区(互斥区):各个进程中对某个临界资源实施操作的程序片断。
  • 忙等待:进程在得到临界区访问权之前,持续测试而不做其他事情
  • 进程同步:指系统中多个进程中发生的事件存在某种时序关系,需要相互合作,共同完成一项任务。
0 0