三、操作系统基础

1,多核CPU调度进程

全局队列调度:全局维护等待队列

局部队列调度:每个CPU维护一个局部等待队列(无需要切换CPU,CPU利用率低)

寄存器中数据存取方式:

1,顺序存取:特定顺序线性存取(磁带存储器)

2,直接存取:与顺序相似,但是有唯一地址标识

3,随机:与先前序列无关。(主存储器)

4,相联:一种随机。(为了提高地址映射速度,cache采取此方式)

2,操作系统概述

特征:并发性、共享性、虚拟性、不确定性

功能:进程管理、存储管理、文件管理、设备管理、(作业管理)

分类:批处理、分时(轮流使用CPU工作片、交互性强)、实时操作系统(快速响应、交互性弱)、网络操作系统、分布式(物理分散的计算机互联系统)、微机(windows)、嵌入式操作系统(微型化,专业化)。

计算机启动顺序:BIOS--主引导记录--操作系统

单体内核(内核大不容易剪裁)>微内核(基本功能,可靠性高)

嵌入式RTOS(实时操作系统):VxWorks、RT-LInux\QUX、pSOS

3,进程的组成和状态

进程是计算机中正在运行的程序的实例

进程=进程控制块PCB(唯一标识)+程序(做什么)+数据(执行时所需数据)

基础三态图:运行、就绪、等待

人为干预5态图:禁止就绪、禁止阻塞。

4,前驱图和进程资源图

前驱图:任务间的并行和先后顺序

进程资源图:进程和资源的分配和请求。R--->P(已分配一个资源给P) P--->R(P执行还需要一个R) 会产生阻塞和等待

阻塞节点(P执行需要R,但是R没有可分配资源,p为阻塞节点)

5,同步与互斥

互斥:临界资源一时间只能由一个任务使用,加锁。(打印机)

同步:多任务并行

临界资源:各进程间需要以互斥方式对其进行访问的资源。

临界区:对临界资源操作的程序

互斥信号量:临界资源互斥访问信号量,初始为1

同步信号量:对共享资源访问控制 初始值为可用共享资源数量

P:申请资源 S=S-1 S>0 进程执行 S<=0,进程阻塞,唤醒另一个进程

V:释放资源 S=S+1 S>0 有资源空余,无阻塞进程 S<=0 从阻塞状态唤醒一个进程加入就绪队列(被P阻塞的进程继续执行)

生产者和消费者: 仓库使用权(S0)和仓位空闲个数(S1) 商品个数(S2)

生产商品:p(S0)P(S1)--V(S2)V(S0)

消费商品:P(S0)P(S2)--V(S1)V(S0)

6,死锁和线程

死锁:资源互斥、每个进程都占用其他进程需要的资源且等待资源、系统不剥夺进程资源、是一个闭环。

打破死锁的方法:预防、避免(银行家算法)、检测、解除

n个进程,每个进程都需要R个资源

发生死锁最大资源数:n*(R-1)

不发生:n*(R-1)+1

线程:独立调度的最小单位,进程是拥有资源的最小单位。

7,页式存储

程序加载到内存 程序分为页(4k),内存分为块(有块号又称页帧号)。

页式存储:

页表=页号+块号

程序分为页=页号(大小表示页的数量,和块号对应,表示存储位置)+页内地址(大小表示数据大小,表示存储的数据内容)。

内存分为块(有块号又称页帧号)。

进程中的地址为逻辑地址(虚地址),内存中地址为物理地址(实地址)

存储管理-页面置换算法

缺页:进程100页,内存10块。

最优算法:OPT,理论上的算法,无

先进先出算法:FIFO,先调人内存的页先被置换淘汰

最近最少使用:LRU,在最近的过去,进程执行过程中,过去最少使用的页面被置换淘汰,根据局部性原理,这种方式效率高,且不会产生抖动现象。

段式存储:进程分段=段号(段大小不同)+段内地址(包含段长和基地址)

段页式存储:对进程先分段在分页(一张段表+多张页表)

优点:空间浪费小,存储共享容易,能动态链接。程序逻辑完整

缺点:增加了管理软件,复杂性和开销增加,执行速度下降。

8,快表及文件结构

快表:将页表存在cache中,进程访问数据时访问一次cache一次内存

慢表:将页表存在内存中,进程访问数据时访问两次内存。

9,文件管理:

文件结构之索引结构

13个索引节点,0-9为直接索引,10为一级索引,11为二级,12为三级索引。设物理块大小为4kb

直接索引:即索引节点存放的是内容。 可存4kb*10=10kb数据

一级索引:索引节点没有直接存数据,而是连接物理块号的地址,地址大小为4b,侧有1024个地址,可存1024*4kb=4098kb的数据

二级索引:与一级索引类似。两个索引表,第一个表存放一级地址,第二个表存放物理盘地址。可存1024*1024*4kb数据

相对路径:当前开始的路径(不加文件名)

绝对路径:从根开始的路径(不加文件名)

全文件名:绝对路径加+文件名

文件属性:R(只读)A(存档)S(系统文件)H(隐藏文件)

文件名组成:驱动器号+路径+主文件名+拓展名