计算机操作系统

 

 

超线程

操作系统 管理硬件和软件的 软件

  提供界面 或者命令行等

  提供接口

   

 

 

并发性 

 

共享性

  互斥访问

  同时访问

虚拟性  把物理实体转化为若干个虚拟实体

  时分复用

  空分复用  虚拟磁盘 虚拟内存

异步性:

 多个进程  走走停停  执行

进程:系统进行资源分配和调度的基本单位

线程:       进行运行调度的最小单位

   

 

 

 进程状态模型

    

    创建: 创建pcb  插入就绪队列

       就绪状态 除了cpu以外的资源  ,  就绪队列 

    运行状态 获取cpu  

    阻塞状态  放弃cpu

    终止: 系统清理  归还pcb

进程同步:  

  生产者和消费之问题

  哲学家进餐问题

  临界资源 

  互斥量 /读写锁/自旋锁/条件变量

线程同步:

进程分类:

  前台进程:具有终端,可以和用户交互

  后台进程:不需要和用户交互, &结尾启动

  守护进程:特殊的后台进程, 系统启动就开始执行,到系统关闭 以d结尾  crond httpd  mysqld

进程的父子状态:

  pstree命令

  0号进程   第一个进程

  1号进程   0的子进程   init 

  man ps 可以看进程的状态解释 top  , ps -aux, kill 

进程调度:

   就绪队列的排队机制   以一定方式排序,最快的找到就绪进程

  选择运行的委派机制   以一定策略排序,最快的选择

  新老进程的上下文切换 老的上下文信息 放到主存,新的放到主存

  分类:

    非抢占式调度:切换少   不公平   专用系统 

    抢占式调度: 切换多  公平   通用系统  

  算法:先来先服务  短进程优先 优先级优先(前台>后台) 时间片轮转  

死锁:

   2个或者2个以上进程执行中,由于竞争资源或通信 产生阻塞,没有外力 一直进行下去

   竞争资源缺少   调用顺序不当

   产生的原因: 互斥条件    请求保持    不可剥夺    环路等待

     预防算法:一次性申请所有资源     长时间可以释放       调度顺序排序

   银行家算法:

      已分配资源表   所需资源表   

        可分配资源表

内存分配和回收

  分配:(物理分配) 字块

    单一连续分配   系统区和用户区

    固定分区分配  所有进程需要的空间一样

    动态分区分配

      空闲表

      空闲链   

      首次适应算法  空闲链

      最佳适应算法  空闲链排序

      快速适应算法  多个空闲链

  回收:

    空闲区与回收区一起   扩大空闲区  或者新建空闲节点

段页式存储管理(逻辑分配)

  页式管理  

    将进程逻辑空间分成很多大小一样的页    

    把物理空间分层很多物理块

    把页放进物理内存分散的物理块

    

 

     页表  页号 和字段地址

  段式管理

    将进程逻辑空间分成很多大小不同的段(比如不同的函数)   对应字段大小也不同

    段表     段号 基址 段长 

  段页式:先分段 后分页  

    段页表:段号  页号 字段地址

虚拟内存:

  物理内存不够,

 

     局部性原理:运行时需要的指令和数据聚集在一起,

  程序运行时不需要全部放到内存,访问不存在时 发出缺页中断 页面置换,看起来无限大  就是虚拟内存(磁盘)。

  算法:

    先进先出

    LRU

    LFU  

   置换发生时机:   cpu  缓存 主存 辅存    缓存-主存  速度问题  主存-辅存  容量问题

linux 的存储管理

   Buddy算法

    页内碎片 和页外碎片

    2的向上幂区空闲块 

    多个空闲链

  swap空间:磁盘的一个分区  属于辅存   ,内存满时  放到辅存  初始化系统分配 

文件系统:

  有结构文件 png

  无结构文件 exe 流式文件

  顺序文件  磁带 效率高

  索引文件 索引表  方便增删查改

  辅存的空间分配

    连续分配

      

    链接分配 -- 链表

    索引分配 --  索引表

  目录树 挂载

  

 

     

 文件系统

  FAT

  NTFS  win  linux

  EXT2/3/4  Inode table  一个文件一个inode  文件的索引节点 

    inode  类型   权限  地址  长度  创建时间 修改时间  访问计数 ;;;名称放在目录的inode节点理

    dataBlock  数据内容  和inode关联

IO设备:

  cpu 进  输入设备

  cpu 出  输出设备

       存储设备  交互io设备

    块设备 (磁盘)  字符设备 (shell 打印机)

  io 和程序之间的缓存区 缓存池

  spooling技术   虚拟设备技术  把同步调用改为异步调用  

  

 

posted @ 2020-04-18 15:33  嘤嘤怪  阅读(158)  评论(0编辑  收藏  举报