操作系统--王道

操作系统

在这里插入图片描述

操作系统的基本概念

在这里插入图片描述

定义

① 计算机软件分为系统软件和应用软件两大类,操作系统是最基本的系统软件。
② 控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配。
③ 提供给用户和其他软件方便的接口和环境。

特征

在这里插入图片描述

  • 并发性(最重要最基本)
    指计算机系统中同时存在着多个运行着的程序。
    并发 指两个或两个以上的运行进程在同一时间间隔内同时执行。这些事件宏观上同时发生,但微观上是交替发生的。
    单核并发,多核并行。
  • 并发进程是不是越多越好
    不是,并发进程过多可能导致处理机调度频繁,增加开销和进程进行时间,也可能有进程长时间得不到处理机。
  • 共享性
    指系统中的资源可供内存中多个并发执行的进程共同使用。
  • 虚拟性
    虚拟是指把一个物理实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物事用户感受到的。
  • 异步性
    异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进,这就是进程的异步性。

操作系统的发展历史和分类

在这里插入图片描述

  • 手工操作阶段
    用户独占全机,人机速度矛盾导致资源利用率极低。
  • 批处理阶段
    单道批处理系统
    脱机输入/输出技术,由监督程序负责控制作业的输入、输出。
    内存中仅有一道程序运行,CPU大量时间在空闲等待I/O。
    多道批处理系统
    每次往内存中读入多道程序,操作系统正式诞生。
    多道程序并发执行,共享计算机资源。
    没有人机交互功能,用户响应时间长。
  • 分时操作系统
    以时间片为单位轮流为各个用户/作业服务。
    用户请求可以被即时响应,解决了人机交互的问题。允许多个用户同时使用一台计算机。
    不能优先处理一些紧急任务。
  • 实时操作系统
    能够响应一些紧急任务,某些紧急任务不需要时间片排队。
    及时性、可靠性:要在严格的时限内处理完事件。

操作系统的运行环境

运行机制

在这里插入图片描述
在这里插入图片描述

中断和异常

在这里插入图片描述

  • 系统调用通过陷入指令完成
  • 给出一个实例,阐述中断过程
    中断是指计算机在执行期间,系统内部或外部设备发生了某一急需处理的事件,使得CPU暂时停止当前正在执行的程序,转去执行相应的事件处理程序,待处理完毕后返回原来被中断处,继续执行被中断的过程
    例如缺页中断:保存CPU现场,转缺页中断处理程序进行中断处理、调入所缺页等,中断返回恢复CPU现场。

系统调用

在这里插入图片描述

  • 定义: 系统调用是操作系统提供给应用程序使用的接口,应用程序可以通过系统调用来请求获得系统内核的服务。
  • 系统调用是什么?与用户程序的区别?
    ① 系统调用是运行在用户态的应用程序请求操作系统为之服务的一种手段,由运行在核心态的操作系统的一段程序来完成特定的功能,属于一种特殊的调用过程。
    ② 区别:
    运行状态不同:一般调用的调用过程和被调用过程都是用户程序,都运行在同一种系统状态用户态下,而系统调用的调用过程一般是用户程序,运行在用户态,被调用过程是操作系统程序,运行在系统态。
    进入方式不同:一般用户程序调用可以直接通过过程调用语句将控制转移到被调用过程,而执行系统调用时,由于调用和被调用过程处于不同系统状态,必须通过访管中断进入
  • 凡是和共享资源有关的操作都必须通过系统调用的方式向操作系统内核提出服务请求,保证系统的稳定性和安全性
    在这里插入图片描述

体系结构

  • 内核是操作系统最基本最核心的部分。
  • 实现操作系统内核功能的程序就是内核程序
    在这里插入图片描述
    在这里插入图片描述
  • 嵌入式系统设备驱动的作用与地位
    与硬件直接相关,负责具体实现系统对设备发出的操作指令,是驱动I/O设备工作的驱动程序
    在这里插入图片描述

进程管理

进程与线程

进程的概念、组成与特征

在这里插入图片描述

  • 程序 是静态的,是个存放在磁盘里的可执行文件,是一列的指令集合
  • 进程(Process) 是动态的,是程序的一次执行过程

进程的状态与转换

在这里插入图片描述

进程的组织方式

在这里插入图片描述

扫描二维码关注公众号,回复: 10796583 查看本文章

进程控制

在这里插入图片描述

  • 进程控制 的主要功能是对系统中的所有进程实施有效的管理,它具有创建、撤销已有进程,实现进程状态转换等功能。
  • 原语 的执行具有原子性,即执行过程只能一气呵成,期间不允许被中断。
    特权指令:“关中断指令”、“开中断指令”
  • 作业:放在外存中还没调用的程序
  • 父进程创建子进程和主程序调用子程序有什么区别
    父进程创建子进程后父进程与子进程同时执行。主程序调用子程序后,主程序暂时停在调用点,子程序开始执行,直到子程序返回,主程序才继续执行。

进程通信

在这里插入图片描述

  • 进程通信为什么需要用到操作系统内核功能?列举几个进程通信方式
    ① 进程之间互相交换信息的工作称为进程通信,可以通过高级通信机制来完成
    ② 每个进程都有自己独立的空间,在操作系统和硬件保护机制下,进程无法访问其他进程的地址空间,必须借助系统调用来实现,因此需要用到操作系统内核功能。
    ③ 通过软中断实现的信号通信机制;使用信号量和原语操作控制的共享存储区通信机制;通过管道提供的共享文件通信机制;使用信箱和发信收信原语的消息传递通信机制

线程的概念和特点

在这里插入图片描述

  • 阐述进程与线程
    ① 进程是一个可并发执行的程序关于某个数据集合的一次执行过程,是操作系统进行资源分配和保护的基本单位。
    ② 线程是进程但中的一条执行流程,是处理机调度的基本单位。

线程的实现方式、多线程模型

在这里插入图片描述

  • 什么是多线程,多线程和多任务有什么区别?
    ① 多线程是指在一个程序中可以定义多个线程同时运行他们,每个线程可以执行不同的任务
    ② 区别:
    多任务是针对操作系统而言的,代表着操作系统可以同时执行的程序个数。
    多线程是针对一个程序而言的,代表一个程序可以执行的线程个数,每个线程可以完成不同的任务。

处理机调度

概念,层次

在这里插入图片描述

  • 处理机调度 就是从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程的并发执行。

进程调度的时机,切换与过程,调度方式

在这里插入图片描述

调度算法的评价指标

在这里插入图片描述

调度算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进程同步

同步和互斥

在这里插入图片描述

  • 同步亦称直接制约关系,两个或多个进程因为需要协调他们的工作次序而产生的制约关系,源于他们的相互合作
  • 互斥:间接制约关系

进程互斥的软件实现方法

在这里插入图片描述

  • turn
    在这里插入图片描述
  • flag
  • flag + turn
    在这里插入图片描述

进程互斥的硬件实现方法

信号量机制

在这里插入图片描述

  • 信号量:变量,可以用一个信号量表示系统中某种资源的数量
    原语:特殊的程序段,执行只能一气呵成,不可被中断
  • 整型信号量:wait()signal()

用信号量机制实现进程互斥、同步、前驱关系

在这里插入图片描述

  • semaphore mutex=1 – 定义记录型信号量

经典问题

  • 生产者消费者问题
    在这里插入图片描述
  • 多生产者多消费者问题
    缓冲区大于1一定要设置mutex
    事件角度考虑,而不是进程
  • 吸烟者问题
    设置int i,循环实现轮流抽烟

死锁

概念

在这里插入图片描述

  • 死锁:各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前推进的现象
  • 饥饿:由于长期得不到想要的资源,某进程无法向前推进的现象
  • 死循环:某程序执行过程中一直跳不出某个循环的现象 – 是程序员的问题

预防死锁

在这里插入图片描述

避免死锁

  • 安全序列:如果系统按照这种序列分配资源,则每个进程都能顺利完成,只要能找到一个安全序列,系统就是安全状态
  • 安全状态一定不死锁,不安全状态可能死锁

死锁的检测与解除

在这里插入图片描述

  • 死锁定理:如果某时刻系统的资源分配图是不可完全简化的,那么此时系统死锁

内存管理

概念

基础知识

在这里插入图片描述

内存管理做什么?

在这里插入图片描述

覆盖与交换

在这里插入图片描述
在这里插入图片描述

  • pcb常驻内存

连续分配管理方式

  • 连续分配:系统为用户提供的是连续的存储空间
    在这里插入图片描述

动态分区分配算法

在这里插入图片描述

分页存储管理

基本分页存储管理

  • 内存划分为大小相等的页框,进程在逻辑上被分为与页框大小相等的
    在这里插入图片描述

基本地址变换机构

页号从0开始,所以页号P=页表长度M时,也是越界的
页内偏移量占10位=页面大小210B
页式管理中地址是一维的–只需要知道逻辑地址
在这里插入图片描述

  • 具有快表的地址变换机构
    快表慢表同时查找
    **时/空间局部性:**执行过的指令不久会可能再次执行,访问过一个地址很可能会访问它附近的地址
    在这里插入图片描述

两级页表

各级页表的大小不能超过一个页面

分段存储管理

基本分段存储管理

在这里插入图片描述

段页式管理方式

在这里插入图片描述

虚拟内存管理

基本概念

在这里插入图片描述

请求分页存储管理

在这里插入图片描述

页面置换算法

在这里插入图片描述

页面分配策略

在这里插入图片描述

文件管理

在这里插入图片描述

文件的逻辑结构


在这里插入图片描述

文件目录

在这里插入图片描述

文件的物理结构

非空闲磁盘块的管理

链接分配默认为隐式链接
在这里插入图片描述

存储空间/空闲磁盘快的管理

在这里插入图片描述

文件操作

基本操作

在这里插入图片描述

文件共享

在这里插入图片描述

文件保护

在这里插入图片描述

磁盘

磁盘的结构

在这里插入图片描述

调度算法

在这里插入图片描述

减少延迟时间的方法

在这里插入图片描述

磁盘的管理

在这里插入图片描述

I/O管理

概念

i/o设备

在这里插入图片描述

i/o控制器

在这里插入图片描述
在这里插入图片描述

i/o控制方式

在这里插入图片描述

i/o软件的层次

在这里插入图片描述

i/o核心子系统

在这里插入图片描述

假脱机技术

在这里插入图片描述

设备的分配与回收

在这里插入图片描述

缓冲区管理

在这里插入图片描述
在这里插入图片描述

发布了46 篇原创文章 · 获赞 0 · 访问量 461

猜你喜欢

转载自blog.csdn.net/qq_44531167/article/details/105160810