【操作系统】常见知识点

1、操作系统的基本特性:
(1)并发
(2)共享
在一段时间内只允许一个进程访问的资源称为临界资源,访问临界资源的代码叫做临界区
(3)虚拟
(4)异步
2、C/S模式
(1)客户机:每台客户机都是一个自主计算机,具有一定处理能力,客户进程在客户机上运行,可以处理本地业务,也可以访问服务器请求服务。
(2)服务器:通常是一台规模较大的机器,在其上驻留的网络文件系统或者数据库系统,能为网上用户提供一种或者多种服务。
(3)网络系统:用于连接所有客户机和服务器,实现他们之间的通信和网络资源共享的系统
3、内核
通常将一些与硬件紧密相连的模块(如中断处理程序等)、各种常用设备的驱动程序以及运行频率比较高的模块(如时钟管理,进程调度,和许多模块所公用的一些基本操作),都安排在紧靠硬件的软件层次中,将它们常驻内存,即通常我们所说的OS内核,这种安排的目的在于两方面:一是便于对这些软件进行保护,防止其受到其他应用程序的破坏,而是可以提高OS的运行效率
4、进程创建的过程
概述:
(1)首先由进程申请一个空白PCB,并向PCB中填写用于控制和管理进程的信息
(2)然后为该进程分配运行时所需的资源
(3)将进程转入就绪状态并插入就绪队列之中
详述:
进程首先申请空白PCB,向PCB中填写控制和管理进程的信息,再申请资源创立进程的地址空间,然后再创建页表建立进程与物理内存之间的映射关系,最后将进程插入未满的就绪队列当中。
如下图:
这里写图片描述
进程的特征:动态性、并发性、独立性、异步性
进程的三种基本状态:
就绪状态、执行状态、阻塞状态
及状态之间的转换
5、引起创建进程的事件
用户登录、作业调度、提供服务、应用请求
引起进程终止的情况:程序运行完了,结果正确,进程终止;程序运行完了,结果不正确,进程终止;程序没运行完异常退出。
6、同步机制应遵循的规则:空闲让进,忙则等待,有限等待,让权等待,
7、作业调度算法
(1)先来先服务调度算法(FCFS)
可用于作业调度也可用于进程调度,按照作业到达的先后次序进行调度
(2)短作业优先调度算法(SJF)
以作业的长短来计算优先级,作业越短优先级越高,
缺点:
【1】必须知道作业的运行时间
【2】对长作业非常不利
【3】在采用SJF算法时,人-机无法实现交互
【4】该调度算法完全未考虑作业的紧迫程度,不能保证紧迫性作业得到及时处理
(3)优先级调度算法(PSA)
外部赋予作业相应的优先级,然后根据该优先级进行调度
(4)高响应比优先调度算法(HRRN)
引入一个动态优先级,即优先级是可以改变的随着等待时间的延长而增加,该优先级相当于响应比
响应比 = (等待时间+要求服务时间)/要求服务时间 = 响应时间/要求服务时间。
8、进程调度相关问题:
进程调度的任务:
(1)保存处理机的现场信息,
(2)按照某种算法选取进程
(3)把处理器分配给进程
进程调度算法:
轮转调度算法:
根据FCFS策略,将所有的就绪进程排成一个就绪队列,并可设置成每一定时间间隔产生一次中断,激活系统中的进程调度程序,完成一次调度,将CPU分给队首进程,令其执行。当该进程的时间片耗尽或者运行完毕时,系统再次将CPU分给新的队首进程。由此可保证就绪队列中的所有进程在一个确定的时间段内都能获得一次CPU执行。
进程切换时机:
(1)若一个时间片尚未用完,正在运行的进程就已经完后才能,就立即激活调度程序,将它从就绪队列中删除,再调度就绪队列中队首的进程运行,并启动一个新的时间片,
(2)在一个时间片用完时,计时器中断处理程序被激活。如果进程尚未运行完毕,调度程序将把它送往就绪队列的末尾
优先级调度算法:
抢占式优先级调度算法
把处理机分配给优先级最高的进程,使之执行,要是在运行期间出现了优先级更高的进程,调度程序就把处理机分给那个优先级更高的程序,每次出现一个新的就绪进程就要将优先级和正在运行的进程的优先级比一下。
非抢占式优先级调度算法
一旦把处理机分配给就绪队列中优先级最高的进程后,该进程就会一直运行直到完成,或者因发生某件事情进程放弃处理机,其他进程才能使用处理机
多队列调度算法
将系统中的就绪队列由一个分成若干个,将不同类型或者性质的进程放在不同的就绪队列,不同的就绪队列采用不同的调度算法,一个就绪队列可以设置不同的优先级,不同的优先级队列也可以设置成不同的优先级
多级反馈队列调度算法
(1)设置多个就绪队列,为每个队列赋予不同的优先级,第一个队列优先级最高,剩下的依次降低
(2)每个队列采用FCFS算法
(3)按照队列优先级调度
实时调度:
(1)最早截止时间优先(EDF)截止时间越早优先级越高
(2)最低松弛度优先调度(LLF)算法,根据任务紧急程度,紧急程度越高优先级越高
9、死锁问题
死锁的定义:
一个进程组的所有进程都在等待一个由该进程组的其他进程才能引发的事件,那么该组进程是死锁的。
产生死锁的必要条件:
(1)互斥
(2)请求和保持
(3)不可抢占
(4)循环等待
处理死锁的方法:
(1)预防死锁
通过破坏产生死锁的四个必要条件中的一个或者几个
(2)避免死锁
银行家算法

(3)检测死锁
(4)解除死锁
10、静态链接和动态链接
静态链接就是在程序运行之前,先将各目标模块及它们所需要的库函数链接成一个完整的装配模块,以后不再拆开。
动态链接分为两种 一种是装入时动态链接,一种是运行时动态链接。
装入式动态链接是装入内存时,采用边装入边链接的链接方式。
运行时动态链接将对某些模块的链接推迟到程序运行时进行,也就是,当发现一个被调用模块未装入内存时,立即让操作系统去找该模块,并将其装入内存,将其链接到调用这模块。
11、基于顺序搜索的动态动态分区分配算法
(1)首次适应算法
从链首开始顺序查找,直到找到一个大小能够满足要求的空闲分区为止,按照作业大小该分区划出一部分空间,剩下的空闲分区继续放在空闲链中
(2)循环首次适应算法(NF)
不是每次都从链首开始找,而是从上次找到的空闲分区的下一个空闲分区进行查找
(3)最佳适应算法(BF)
将所有空闲分区按照从小到大顺序形成一个空闲分区链,然后在找最适宜的空闲分区
(4)最坏适应算法(WF)
总是找一个最大的空闲区进行内存分配,剩余的接着放在空闲链中
11、分页存储管理方式
这里写图片描述
12、分段存储管理方式
这里写图片描述
13、虚拟存储器
定义:所谓虚拟存储器,是指具有请求调入功能和置换功能,从从逻辑上对内存容量加以扩充的一种存储器系统。
实质:物理上不存在,利用海量外存进行内存“空间”的扩展
逻辑容量:取决于内存容量和外存容量之和
虚拟存储器的实现方法:
(1)请求分页系统
在分页系统的基础上增加了请求调页功能和页面置换功能,它允许用户只装入少数页面的程序即可启动运行以后再通过调页功能和页面置换功能陆续的将要运行的页面调入内存,同时把暂时不用的页面换出到外存上。
(2)请求分段系统
允许用户程序只要装入少数段的程序和数据就可启动运行,以后再通过调段功能和段的置换功能将暂时不用的段调出,再调入即将运行的段
14、页面置换算法
(1)最佳置换算法
从前往后找,找未来最长时间不使用的页面进行置换
(2)先进先出页面置换算法
最先进入的页面先被置换
(3)最近最久未使用(LRU)
和最佳置换算法相反,从后往前找,找最近最久未使用的页面进行置换
(4)最少使用置换算法
设计一个寄存器记录该页面被访问的频率,找最近时期使用最少的页面进行置换
15、抖动
每个进程的大部分时间都用于页面的换入换出,几乎不能去做任何有效的工作,从而导致处理机的利用率极具降低并趋于0的情况,我们称这样的情况为抖动。
产生抖动的根本原因是,同时在系统中运行的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求。
16、磁盘调度算法
这里写图片描述
假设我们的磁道分布就是一个一个的同心圆,
(1)先来先服务算法(FCFS)
这是最简单的调度算法,就是根据进程请求磁盘的先后顺序今次那个调度
(2)最短寻道时间优先(SSTF)
先找距离最近的然后向着外或者向里移动直到走到头然后回到开始位置,向另一个方向移动,如图所示,假设里面的磁道距离比较近,先一直向里面移动,到头之后回到开始的红点出,向外移动
这里写图片描述
(3)扫描(SCAN)算法
又叫电梯调度算法
先向外走再向里走
这里写图片描述
(4)循环扫描算法(CSCAN)
向向外移动,最外面之后直接回到最小的磁道,再向外移动
这里写图片描述

Linux操作系统是一种开源的、免费的操作系统,它基于Unix操作系统开发而成。下面是一些Linux操作系统的基础知识点: 1. 内核:Linux操作系统的核心部分,负责管理计算机的硬件资源和提供基本的系统服务。 2. 发行版:Linux操作系统有很多不同的发行版,如Ubuntu、CentOS、Debian等。每个发行版都有自己的特点和软件包管理工具。 3. Shell:Linux操作系统使用Shell作为用户与内核之间的接口。常见的Shell有Bash、Zsh等,它们提供了命令行界面和脚本编程功能。 4. 文件系统:Linux操作系统使用树状结构的文件系统来组织文件和目录。常见的文件系统类型有Ext4、XFS等。 5. 用户和权限管理:Linux操作系统支持多用户环境,每个用户都有自己的账号和权限。管理员可以通过权限管理来控制用户对文件和系统资源访问权限。 6. 进程管理:Linux操作系统使用进程来执行任务。管理员可以通过命令来查看和管理系统中运行的进程。 7. 网络配置:Linux操作系统支持网络功能,可以配置IP地址、网络接口等。管理员可以使用网络工具来管理网络连接和配置。 8. 软件包管理:Linux操作系统使用软件包管理工具来安装、更新和卸载软件包。常见的软件包管理工具有apt、yum等。 9. 命令行工具:Linux操作系统提供了丰富的命令行工具,可以完成各种任务,如文件操作、进程管理、网络配置等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值