1 操作系统引论
计算机组成 目录 操作系统的目标和作用 操作系统的发展过程 操作系统的基本特性 操作系统的主要功能 OS结构设计 1 操作系统的目标和作用 定义 操作系统(Operating System,OS)是计算机系统最基础的系统软件,管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程,为用户使用计算机提供良好运行环境。 目标 有效性。提高系统资源利用率,提高系统吞吐量。 方便性 可扩充性 开放性 作用 OS 作为用户与计算机硬件系统之间的接口。有三种接口方式:命令方式、系统调用方式、图形窗口方式。 OS 作为计算机系统资源的管理者。资源主要包括:处理器、存储器、设备以及信息(数据和程序)等资源。 OS 实现了对计算机资源的抽象。 2 操作系统的发展过程OS发展 单道批处理系统。自动性、顺序性、单道性。 多道批处理操作系统,脱机控制方式。资源利用率高,系统吞吐量大,平均运转周期长,无交互能力。 分时操作系统,交互式控制方式。人机交互,共享主机。 实时操作系统 OS分类 根据应用领域可以分为 服务器操作系统、并行操作系统 网络操作系统、分布式操作系统 个人机操作...
2 进程管理
进程管理 目录 进程的基本概念 进程控制 进程同步 进程通信 线程
4 内存管理
存储管理 目录 存储器的层次结构 程序的装载和链接 连续分配方式 分页存储管理方式 分段存储管理方式 虚拟存储器的基本概念 请求分页存储管理的方式 页面置换算法 请求分段存储管理的方式
3 处理机管理
处理器 目录 处理机调度的层次 调度队列模型和调度准则 调度算法 实时调度 产生死锁 预防死锁 死锁的检测与解除 1 处理器调度的层次高级调度(长程调度,作业调度) 主要功能。是根据某种算法,把外存上处于后备队列中的那些作业调入内存,也就是说,它的调度对象是作业。 作业(Job) 。作业是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。在批处理系统中,是以作业为基本单位从外存调入内存的。 作业步(Job Step) 。作业部类似于操作系统命令脚本。在作业运行期间,每个作业都必须经过若干个相对独立,又相互关联的顺序加工步骤才能得到结果,我们把其中的每一个加工步骤称为一个作业步。例如编译执行过程: “编译”作业步,通过执行编译程序对源程序进行编译,产生若干个目标程序段;② “连结装配”作业步,将“编译”作业步所产生的若干个目标程序段装配成可执行的目标程序; “运行”作业步,将可执行的目标程序读入内存并控制其运行。 作业控制块 JCB(Job Control Block) 。为了管理和调度作业,在多道批...
5 设备IO管理
设备管理 目录 IO系统 IO控制方式 缓冲管理 IO软件 设备分配 磁盘存储器管理 1.1 IO系统定义 IO设备。用于计算机系统与外部世界进行信息交换或存储。 IO操作。内存和IO设备之间的信息传送操作。不仅影响计算机的通用性和可扩充性,也是计算机系统综合处理能力及性价比的重要因素。 分类 按信息传输方向划分 输入设备:将外界信息输入计算机(键盘、鼠标、扫描仪等) 输出设备:将计算结果输出(显示器、打印机等) 输入输出设备:既可以输入信息,也可以输出信息(磁盘驱动器、网卡等) 按交互功能划分 人机交互设别:用于用户与计算机之间的交互通信(鼠标、键盘、显示器等) 存储设备:持久性存储大量信息并快速检索(磁盘驱动器、光盘驱动器等) 机机通信设备:用于计算机和计算机之间的通信(网卡、调制解调器等) 按设备管理划分 字符设备:以字符为单位进行信息交换,发送或接收一个字符流(鼠标、显示器等) 块设备:以固定大小的数据块(块是存储介质上联系信息组成的一个区域)进行信息交换(磁盘驱动器等) 网络设备:用于与远程设备通信的设备(网卡等,可以抽象为传送字符流的特殊字符设备,也可以...
6 文件系统
文件系统 目录 文件和文件系统 文件的逻辑结构 外存分配方式 目录管理 文件存储空间管理 文件共享与文件保护 数据一致性控制 1 文件为什么说Linux一切皆文件 Linux世界中的所有、任意、一切东西都可以通过文件的方式访问、管理。任何东西都挂在文件系统之上,即使它们不是文件,也以文件的形式来呈现。开发者仅需要使用一套 API 和开发工具即可调取 Linux 系统中绝大部分的资源。 进程(/proc)、设备(/dev)、Socket等等,实际上都不是文件,但是你可以以文件系统的规范来访问它,修改属主和属性。 常见的问题件系统FAT、NTFS、ExtFAT、ext2、ext3、reiserFS、VFAT、APFS 定义文件系统是对一个存储设备上的数据进行组织的机制。 具有符号名,在逻辑上具有完整意义的一组相关信息项的序列 文件名是由字母、数字和其他符合组成的一个字符串,其格式和长度因系统而异 命名: 文件名和拓展名:前者用于识别文件,后者用于标识文件特性,二者用’.’隔开 不同OS有约定的拓展名,Unix不做介绍,Windows如下 COM:可执行的...
附录1 课后习题答案
计算机操作系统(第3版)课后习题答案 参考链接 https://blog.csdn.net/skymyxvincent/article/details/52851675 第一章1.设计现代OS的主要目标是什么? 答:(1)有效性 (2)方便性 (3)可扩充性 (4)开放性 2.OS的作用可表现在哪几个方面? OS作为用户与计算机硬件系统之间的接口 OS作为计算机系统资源的管理者 OS实现了对计算机资源的抽象 3.为什么说OS实现了对计算机资源的抽象?为什么说Linux一切皆文件? 答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。不同的资源实现相同的接口,就可以实现可扩展性。 4.试说明推动多道批处理系统形成和发展的主要动力是什么? 答:主要动力来源于四个方面的社会需求与技术发展: 不断提高计算机资源的利用率; 方便用户; 器件...
附录2 操作系统总结
基础知识 主要用来总结面试过程中的常见问题 参考文献 操作系统教程总结 计算机操作系统知识梳理 1 操作系统的资源管理技术 资源管理解决物理资源数量不足和合理分配资源这两个问题。 操作系统虚拟机为用户提供了一种简单、清晰、易用、高效的计算机模型。虚拟机的每种资源都是物力资源通过复用、虚拟和抽象而得到的产物。虚拟机提供进程运行的逻辑计算环境。从概念上来说,一个进程运行在一台虚拟机上,可以认为一个进程就是一台虚拟机,一台虚拟机就是一个进程。 复用:空分复用共享和时分复用共享。 空分复用共享(space-multiplexed sharing): 将资源从“空间”上分割成更小的单位供不同进程使用。在计算机系统中,内存和外存(磁盘)等是空分复用共享的。 时分复用共享(time-multiplexed sharing): 将资源从“时间”上分割成更小的单位供不同进程使用。在计算机系统中,处理器和磁盘机等是时分复用共享的。 虚拟:对资源进行转化、模拟或整合。 把一个物理资源转变成多个逻辑上的对应物,也可以把多个物理资源变成单个逻辑上的对应物,即创建无须共享独占资源的假象,...
附录4 寄存器
寄存器
5.13 正则表达式的匹配
正则表达式匹配问题1 正则表达式匹配问题描述 请实现一个函数用来匹配包含’.‘和’*‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’*‘表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”abaca”匹配,但与”aa.a”和”ab*a”均不匹配。 问题分析 可以使用动态规划。将字符串的规模增长的方向和pattern规模增长的方向,作为动态变化的方向。状态变量表示当前的正则表达式,能够与之匹配。当规模发生变化时,保证字符串-1和正则表达式-1能够匹配。其实在这里感觉规模增长的方向,确实是有两个。但是状态变量的设置比较精巧。 这与最长公共子序列,完全是同一类问题。都是两个方向的动态规划规模增长。包括str和pattern两个方向。 问题分类 字符串匹配问题 动态规划 递归 选择策略 动态规划 算法设计 设s的长度为n ,p 的长度为 m ;将 s 的第 i 个字符记为$s_i$,p 的第 j个字符记为 $p_j$ ,将 s 的前 i 个字符组成的子字符串记为s[:i] , 同理将 p 的...














