操作系统-速记版(个人幕布导出)

  • 绪论
    • OS硬件模型:冯,诺伊曼模型5部分:内存(MDR和MAR),处理单元(ALU和TEMP),控制单元(PC程序计数器和IR指令寄存器), 输入,输出
    • OS的形成与发展
      • 手工操作阶段
      • 脱机输入输出(缓冲区或者spooling技术)
      • 批处理技术
      • 多道程序设计
    • OS基本类型
      • 技术:
        • 单道批处理技术
          • 解决人机矛盾中,CPU和I/O设备不匹配的矛盾中形成的
        • 多道批处理技术
          • 高效利用CPU的资源
          • 特点:多道,宏观上并行,微观上串行;
          • 优点:资源利用率高,系统吞吐量大;缺点:用户响应的时间比较长,不提供人机交互能力
      • 批处理OS:用户脱机使用计算机或者批处理
      • 分时OS:多路性,交互性,独占性
      • 实时OS:提供及时响应和高可靠性
      • 其他类型OS:嵌入式,集群,网路,分布式OS(统一,共享,透明,自治)
    • OS特征
      • 并发性
      • 共享性(互斥共享和同时访问)
      • 虚拟性
      • 异步性
    • OS分层
      • 内部层次结构
      • 软件分层
    • 操作系统的性能指标:
      • 资源利用率,吞吐量,周转时间,平均周转时间
    • 进程的处理机制
      • 持续透明,杀死或重新执行;等待或持续
    • 系统调用和函数调用的区别:
      • 系统调用比函数调用更加安全,但开销会增加
      • 系统启动时,堆栈切换和权限的切换,常用调用时无堆栈切换
      • X86中断处理:iret与ret,retf
        • iret弹出EFI,AGS和SS/ESP
        • ret弹出EIP
        • retf弹出CS(code Segement)与EIP
    • OS的体系结构
      • 模块组合结构
      • 层次结构
      • 微内核结构:适合分布式系统
  • 进程和线程管理(作业管理,处理器管理):控制,同步,通信,调度,死锁
    • 进程
      • 定义:执行中的文件,即程序和程序运行的状态
      • 特点:动态性,并发性,独立性,异步性和结构性
      • 组成:进程控制块(PCB),程序段和数据段
      • 进程转换图(省略)
      • 操作系统的内核功能:中断,时钟和原语相关
      • 进程间通信:
        • 共享存储器系统:内存
        • 消息传递系统
          • 定义:以消息为单位,直接利用一组通信命令(原语或者信号量)来实现通信
          • 直接通信:直接把消息发送给接收进程,接收进程从消息缓存队列中取得消息
          • 间接通信:发送给某个中间件实体,类似于程序中的MQ
        • 管道通信系统(pipe):
          • 类似于一个OS类
          • 特点:半双工通信,数据只能单向流动,只能存在于子父进程中,如linux的kill命令
          • 只有一个线程时可临时放弃,进程则不同放弃,原语也不可中断
          • 特征:
            • 管程类的数据只能被局限于管程内进行访问
            • 进程只有通过调用管程才能
            • 每次仅允许一个进程在管程内执行某个过程
        • 信号量(Semophore):
          • 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段;
          • OS是管理者,优先级高于进程
          • 信号量可表示系统资源二代数量,由Dijsktra提出
          • 主要由一个整型变量(sem)和两个原子(记录型信号量)操作
          • P, V->wait(S),signal(S);表示资源信号量,前者保证互斥,后者保证释放
          • P过程:
            • 检查s.value>=0是否成立
              • 成立:表示存在该类资源,则将该资源分配给进程,将s.value-1;
              • 不成立:表示该资源已经分配完毕,进程自我阻塞,放弃处理机;
          • V过程:
            • 释放一个资源,执行操作s.value+1
              • 执行后,若s.value>0,表示存在该资源;
              • s.value<=0表示信号量在等待队列中,仍然继续等待;
          • 实现进程同步:V(s)完成后进行释放,P(s)检查是否互斥;
          • 实现进程互斥:在一个进程中先P(s)进行加锁和进入临界区,结束和用V(s)进行释放相应的资源;
          • 实现前驱关系:用P(s)检测前者是否已经完成,用V(s)表示前者已经完成;
        • 信号(signal):与信号配合使用,用于通知接收进程某个事件已经发生
        • 套接字(socket):与其他通信机制不同的是,它可用于不同进程间的通信
      • 线程间通信(与同步互斥的方法有交叉):
        • 锁机制:
          • 互斥锁:提供了以排他方式防止数据结构被并发修改的方法
          • 条件变量:条件变量可以以原子的方式阻塞进程。对条件的测试是在互斥锁的保护下进行的,条件变量始终与互斥锁一起使用
          • 读写锁:允许多个线程同时读共享数据,而对写操作是互斥的
        • 信号量机制(Semaphone):包括无线线程信号量和命名线程信号量
        • 信号机制(Signal)类似进程间的信号处理,但是主要用于线程同步,所以线程没有数据通信机制
    • 作业:计算机完成某项任务而要求计算机所做的工作集合,可由多个进程组成,一般存在于批处理OS
    • 线程(多个组成进程):为了更好使多道程序并发,共享相同的地址空间。指令执行流量最小单位,CPU调度的基本单位。
    • 线程与进程的比较
      • 资源
        • 进程是资源分配单位,线程是CPU的调度单位;
        • 进程拥有完整资源平台,而线程只独立指令流执行的必要资源
      • 调度:三态状况几乎一致
      • 并发性:线程能减少并发的时空开销,共享内存和文件资源,可直接通信。
    • 线程的实现方式:
      • 多对多模型(轻量级进程)
        • 优点:开发者能够创建所用的用户级线程
        • 举例:SOLARIS2,IRIX,HP-UX
      • 多对一模型(用户-线程级)
        • 优点:线程在用户空间进行管理,效率相对较高
        • 缺点:只要一个用户阻塞则全部阻塞
        • 举例:POSIX,PTHREDS,Solaris Thread
      • 一对一模型(内核级线程)
        • 优点:相对独立,并发性好
        • 缺点:创建,终止和切换相对较大,创建用户线程,同时创建内核线程,以线程为单位耗费更多时间
        • 举例:Windows,Solaris,Linux
    • 不同os对线程的支持:
      • 单进程系统。MSDOS
      • 单进程多线程。PSOS,如路由器
      • 多进程系统。传统unix
      • 多进程系统。现代UNIX
    • 为什么PCB是进程存在的唯一标志?
      • PCB是一个能与其他进程并发执行的数据结构,因此,PCB是为了保证程序的并发执行能力。
    • 调度
      • 处理器的三级调度:高级调度(作业:一组进程)->中级调度(内存管理与扩充)->低级调度(运行频率很高)
      • 进程切换调度程序SWITCH主要任务:
        • 保存现运行进程的现场信息
        • 就绪队列中选择一个在内存且最优资格运行的进程,以免使其占用CPU
        • 为新选中的进程恢复现场
      • 调度的基本准则:CPU使用率,吞吐量,周转时间,等待时间,响应时间
      • 进程调度的方式:抢占式(剥夺),非抢占式(非剥夺)
      • 引起进程调度的原因:
        • 进程结束
        • 因某种原因:如I/O请求,P操作,阻塞原语
        • 执行完系统调用等系统程序后返回用户进程
        • 高优先级的进程进入
        • 分时系统中,分配给进程的时间片已用完
      • 带权周转时间 = 作业周转时间/作业实际运行时间
      • 典型调度算法:
        • 作业调度
          • 先来先服务FCFS
          • 短进程优先SPN
            • 优点:具有最优平均周转时间
            • 缺点:可以产生饥饿;预估未来
          • 最高相应比
            • 相应比 = 作业响应时间 /估计运行时间
            • 特点:不可抢占,关注进程的等待时间
          • 优先级调度算法
            • 静态优先级:按进程类确定,按作业的资源要求确定,按用户类型和要求确定
            • 动态优先级:根据进程占有CPU时间的长短来确定,根据就绪进程等待CPU时间的长短确定
        • 进程调度
          • 时间片轮RR
            • 时间片:分配处理机资源的时间基本单位
            • 时间片结束,按FCFS切换到下一个片
            • 缺点:时间片太长退化成FCFS,时间片太小产生大量切换影响系统的吞吐量,时间片长度合适
          • 多级反馈队列MFQ
            • 定义:就绪队列分成独立的队列,每一个队列一个策略,前台交互,后台批量处理
            • 固定优先级:无前台,无后台可能会导致饥饿
            • 时间片轮转:每个都得到一些队列分配
          • 公平共享调度 Fair Sharing Schedule
            • 一些用户组比其他更重要
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值