*** 作系统复习总结

 *** 作系统复习总结,第1张

*** 作系统复习总结 *** 作系统复习总结

    什么是os
    从用户的角度看呢,os是用户和硬件系统的借口。
    从资源管理角度看,os是资源的管理者,这句话我觉得是核心,os是计算机的资源管理者,管理计算机的很多资源。
    从虚拟机角度看,os是一组命令

    os到底是干啥的
    os是程序的集合,管理资源(处理器资源,存储器资源,文件管理,内存管理等等)

    *** 作系统的四大特性

      并发性:(多个事件在同一个时间间隔内发生)共享:(互斥共享和同时共享):临界资源只允许一个进程在这段时间访问,和多个进程可以同时访问。虚拟:把一个物理实体,变成若干个逻辑实体。异步:进程的推进顺序是不可预知的。因为竞争资源的存在导致。
      其中,并发和共享互为存在条件,如果不并发,共享就没有意义。如果不共享,无法并发。

    处理机的特权级
    分级是为了保护os的系统,不可能让用户级的程序拥有太大的权利的。

      管态:又称系统态,处于这个状态的进程可以使用所有指令,特权非特权级别的指令都可以使用。目态:又称用户态,只能是有非特权指令,并且只能访问自身所在的存储区域。

    系统调用

      系统调用的流程提取如下:

      用户发送请求系统调用指令传递系统调用的参数执行trap(陷入)指令执行相应的服务程序返回用户态 系统调用本身是 *** 作系统为了用户提供的一些接口,一些高级的语言比如C,Java会封装这些系统调用成为一些库函数。而系统调用

    进程的一些知识点

      进程是静止的程序。也可以说进程是程序的一次执行过程。而程序本身是一个指令的集合。程序和进程不是一一对应的,一个程序可以对应多个进程,(多次执行)。程序的执行可以分为顺序执行与并发执行
        顺序执行:

        顺序性:指令自上而下,一条一条运行封闭性:指令的执行与外界因素没什么关系可再现性:再一次运行运行程序,结果相同 并发执行:

        间隔性:运行一段时间,暂停一段时间。不可再现:由于推进速度的不同,结果可能会不一样失去封闭性:本进程暂停运行的同事,可能会有其他的进程来修改本进程所需要的资源。

      进程是动态的,具有以下几点特征:
        动态独立性(它是系统资源分配的最小单位)并发性异步性
      一个进程的结构:
        pcb(记录了这个进程的一些信息,相当重要)数据段程序段
      Pcb:
        记录进程的动态特征是进程存在的唯一标志pcb的一部分一直存在在内存中,也就是,就算虚拟内存在,也不会全部调出去。
      进程同步
        同步的原则:
          空闲让进:临界区资源空就可以拿到忙则等待:临界区资源不空,就等待别的进程用完有限等待:不能一直无限期等下去让权等待:没有拿到临界区资源的进程,释放cpu
      进程的调度
        调度的时机
          时间片用到了申请临界区资源需要等待中断返回等
        进程调度算法
          先来先服务(FCFS):哪个进程先进入,就先处理它,处理完再说(对短进程不利)短作业优先:短的进程先服务(对长进程不利)优先级算法:有两种,静态的就是对进程设定权重,权重大的先服务,动态的是等待时间越久优先级越大。时间片轮转调度:一个进程分配一个时间片,运行结束,就让出cpu。多级反馈调度:优先级高的队列越能进入cpu,一个队列中的进程是遵循FCFS来执行的。
          8.进程状态图
        创建态到就绪态:需要分配除了cpu之外的一切资源(这里也说明了,cpu其实是最重要的资源),从创建态可以直接到就绪挂起状态。就绪态:就绪态的进程拥有除了cpu之外的一切资源。就绪态和就绪挂起可以互相转换。就绪态的进程一旦拥有了cpu就会变成运行态。运行态:运行态的进程拥有包括cpu在内的所有资源。一旦时间片到了,或者cpu被强占,运行态的程序就会退化到就绪态,而当运行态的程序需要请求一些系统调用(比如输入输出)她就会进入阻塞态,阻塞态的进程需要等待被唤醒。阻塞态:阻塞态的进程是不能直接进入运行状态的。阻塞状态的进程放弃了自己的所有资源,但是这个进程还是在内存中的。阻塞挂起和就绪挂起,长时间不能进入就绪态的就绪进程和阻塞进程,就会被挂起,挂起的意思是,进程被调入外存,而不在内存了终止态,系统运行完毕,就会进入终止态。
      进程间的通信
        管道通信(匿名管道)有名管道信号消息队列信号量共享内存套接字

    线程的一些知识点:

      进程是系统分配资源最小的单位。但是县城是cpu执行的最小单位。属性有:
        并发性共享所属进程所有的资源
      线程同步的方式
        互斥量信号量事件

    3.线程分为用户级线程和系统进程。

    死锁
    死锁:一组进程中,每个进程都在无限等待另一个进程释放资源。

      死锁产生的原因
        竞争资源:资源够多就不需要竞争了。进程的推进顺序不当
      死锁的必要条件
        互斥环路等待请求与保持不剥夺

    存储器管理

      内存的分配
        分区分配,分区等长,或者分区不等长可变分区分配
          首次适应最佳适应最坏适应
        可变分区分配之分页与分段
          分页
            基本概念:页面=页,页框=帧。地址结构 页号P + 页内地址d页表:
            理解这张图就能把页表这个概念理解透彻了。
            虚拟地址分为,页号,页内地址。首先根据页号找到页表中块的存储位置,再根据页内地址映射出真实的物理地址。多级页表:多级页表的存在主要是为了解决页表太大,读取一张页表很占内存的问题。快表:块表的存在是记录近几次访问到的内存地址,提高访问速度。如果这个页号是之前存在快表中的,那无需读取页表,直接访问内存地址即可。分页是对程序员隐藏的,就是不可见的,虽然提高了内存的利用率,但是对于使用者来说是一个黑盒
        分段式(这个是对程序员不隐藏的)段页式存储(用的最多的)

    虚拟存储(两张图)

      页表项
        页号物理块:在内存中的地址状态位:是否在内存访问字段:提供页面置换算法使用修改为:是否被修改外存地址:如果放在外存,那是放在了哪儿
      页面置换算法
        先进先出始终算法LRU算法最佳算法(不可能存在)
      虚拟内存是计算机的内存管理技术,简单来理解就是,使用硬盘空间扩展内存,但是本质上,它定义了一个连续的虚拟地址空间,并且将其内存扩展到硬盘空间。相当于一个大型程序,在进入内存的时候被切割成了好几分,暂时不需要用的部分放在外存,需要用的部分放在内存。局部性原理:时间局部性:程序中的某一条指令执行,不就后可能再次执行。空间局部性,某一个存储单元的程序被访问,附近的也会被访问。请求分页和分页管理,很大的一个区别就在于,这个程序有没有被装入内存。请求的分页的流程
        程序请求程序是否越界(越界就越界中断)访问页表(页在内存中),不在内存中就缺页中断,内存没满就让这一页进入内存,满了就用置换算法换出来一页。修改块表。形成真实地址。

    cpu寻址

      为什么要有虚拟地址空间?如果程序都是直接访问物理内存,很容易因为修改某个单元导致系统崩溃。使用虚拟地址可以用不相领的内存缓冲,隐藏了真是地址。现代处理器使用的都是虚拟寻址,cpu将虚拟地址翻译成物理地址,这样才能访问到真是的物理内存。cpu中含有一个被称为内存管理单元的硬件。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5707410.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存