操作系统笔记

第一章

一:什么是操作系统

覆盖在硬件和操作软件中间的一个系统,和硬件部分相互作用,主要起一个承上启下的任务

二:资源的管理者

现代计算机支持多任务,多个应用程序共同使用计算机硬件资源,操作系统负责调配。

三:操作系统主要功能

1:处理机管理,任意时刻处理机只能执行一个程序流。

2:内存管理:多个程序使用内存的时候,如何分配,让他们互不干扰,用完之后,如何进行回收。逻辑地址到物理地址的转换。

内存分配:每道程序分配内存空间。静态:固定大小、动态:根据请求分配。

内存保护:操作系统内核空间不会被随意访问,保证系统安全和稳定,确定每个程序运行都在自己内存空间中运行。

地址映射:cup访问内存时,将逻辑地址(目标程序的地址)转化成物理地址(内存中单元地址)。

内存扩充:借助虚拟存储技术,从逻辑上扩充内存容量。

3:设备管理:完成接受用户的I/O(输入和输出)

4:文件管理:大量需要保存的信息以文件存储,他们一般存储在外存(硬盘)当中,操作系统通过文件管理程序完成对外存的操作。

四:操作系统的发展

时间上:

无操作系统(1945-1955),没有内存,没有操作系统,电子管

单道批处理系统(55-65),磁性存储设备,内外存增加,晶体管

特点:1:自动性、2:顺序性 3:单道性:内存之中只有一道作业。

多道程序系统, 早期:不具有交互功能,提交作业只能等待输出结果。中期:分时操作系统,多个用户可以同时通过不同的终端使用主机。实现了用户与主机的及时交互。

特点:1:多道性,多个作业,拍成队列、2:无序性:先进入不一定先处理。3:调度性:作业调度:从外存之中装入内存。进程调度:从内存中选择一个或几个在cpu上运行。

分时操作系统:允许多个用户通过终端同时使用计算机

多路、独立、及时、交互、

微机操作系统:第一个是Intel cp/m 用于intel 8080

实时操作系统:在规定的时间内计算出正确的结果,如果结果正确,超过了时间,最后的结果也错误。多用于医院等对时效要求比较高的地方

必须做到及时响应。多路性、独立性、交互性、可靠性

五:操作系统的特征

1:并发:指的是同一个时间间隔内发生,由于时间很短,造成并行的错觉

2:共享:资源可以供内存中多个并发程序共同使用。

3:虚拟:用某种技术将一个物理实体虚拟成逻辑上的对应物。

4:异步性:内存中每个程序,何时执行,暂停,都是位置的

六;操作系统的体系结构

软件体系结构:

七:指令

程序是指令的集合,程序的执行就是按照某种控制流执行指令的过程。

1:指令周期:分为取指周期(处理器在存储器中取一条指令)和执行周期(取到的指令放置在处理器的指令寄存器中)两个步骤。

第二章

一:程序的执行

顺序执行

顺序、封闭、可在现

并发执行

多个程序在同一时间间隔之内,一个程序执行结束之前就可以运行其他程序。(任意时刻一个CPU上只有个一程序在执行)

间断、失去封闭性、不可再现性、

二:进程的定义

进程是并发执行的程序,在某个数据集合上的运行过程。

进程代表了程序的执行过程,是一个动态的实体。

进程的特征:

并发性:多个进程实体在一段时间间隔内同时运行。

动态性:进程是进程实体的执行过程

独立性:没有引入线程的操作系统中,进程是独立运行和资源调度的基本单位

异步性:时断时续

结构特征:正文、用户数据、进程控制块

三:进程控制块

1:定义

进程存在的表示是进程控制块,是操作系统最重要的数据结构

每个进程有唯一的进程控制块

2:进程控制块的信息            —是一个复杂类型的变量

(1)进程标志符信息,用于唯一标识一个进程

(2)处理机状态信息

1)通用寄存器–用于暂存信息

2)指令计数器–PC

3)程序状态字PSW

4)用户栈指针

(3)进程的调度信息

(4)进程控制信息

3:进程的状态

新创建的进程为就绪态(1)就绪态—获得CPU就可以运行、(2)执行态—获得了CPU正在运行。 (3)阻塞态—获得资源后进入就绪态。

4:进程的组织

1:链接方式,将系统中具有相同状态的进程链接成一个队列

2:索引:根据所有进程状态建立索引表,每一个表项指向一个PCB(进程控制块)的物理块

3:进程队列:就绪队列和阻塞队列

四:进程的创建

下列情况创建新进程

1:用户登录、2:作业调度、3:提供服务、4:应用请求

在Linux系统中除了0 进程外,其他进程都是由其父进程创建的。被创建的叫做子进程,子进程可以用操作系统或者父进程获得资源。

执行可能:1二者并发执行,父进程等待,直到某个或全部子进程执行完毕、

地址空间:子进程共享父进程地址空间、子进程拥有独立的地址控件

创建步骤

1:申请空白PCB(进程控制块)

2:为进程分配资源

3:初始化PCB

4:将进程插入就绪队列

进程终止

进程正常执行完毕,请求操作系统删除

一个进程调用适当的系统调用终止另一个进程。

父进程终止子进程:1任务完成、2:子进程所用资源过多。3:父进程关闭。

主引导扇区:0柱面0磁道1扇区

五:操作系统的内核

1:操作系统内核的功能

支撑功能—-中断处理、时钟管理、原语操作(不可中断)

资源管理功能:进程管理、存储器管理、设备管理

2:什么是中断

改变处理器执行指令顺序的一种事件,引入中断机制是CPU可以与其他设备并行工作,提高cpu运行效率

同步中断(内部)CPU控制单元产生一条指令终止后CPU才发生中断、异步中断(外部)其他硬件产生的,分为可屏蔽(I/O设备产生的psw、8259)和不可屏蔽的(硬件故障)。

3:中断响应

 

时钟机制

1:使用时钟限制一个用户进程在CPU连续执行的时间。

2:实时时钟和OS时钟,

系统调用

一群预先定义好的模块提供一条管道,让应用程序或者一般用户可以得到核心程序的服务。系统调用是系统程序和用户程序之间的接口,系统调用运行在系统态。

类型:进程类型、文件操作、设备管理、通信类、信息维护类型

#六:进程同步

1:任务:一是对具有资源共享关系的进程,保证各个进程以互斥方式访问。

临界资源:必须执行完一个才能执行另一个。

二是对具有相互合作关系的进程,保证相互合作的协调执行

2:准则:1:空闲让进。2:忙则等待。3:有限等待4:让权等待。

3:信 量机制—判断进程是否能访问与信 量对应的共享资源。

1:整形信 量机制

如果整形>0有可用资源,<0进程必须等待,对于一次只允许一个进程访问的临界资源则定义一个互斥的整型信 量。

2:记录型信 量

s.value,值为几就是几个进程。

3:AND型信 量

进程在运行过程中所需要的资源一次性全部分配给进程,使用后在一次性释放。

4:经典的进程同步问题

1:生产者—消费者问题描述

生产者进程生产信息,放入一个具有N个缓冲区的缓冲池,消费者进程从中取得一个消息消费。

2:信 量的设置

1:设置一个互斥信 量mulex,实现对公共缓冲池的互斥访问,初值为1

2:设置两个资源信 量,分别表示可用资源数。

empty:缓冲池的空缓冲数,初始值为N

full:装有消息的缓冲区数,初始值为0

3:说明

wait 和signal 操作必须成对出现

wait操作的顺序不能颠倒,必须先对资源信 量(empty,full)进行wait操作,然后在对互斥信 量进行wait操作

5:管程

1:软件包,进程可以在任何时间调用管程,每一次只有一个对管程访问。

6:进程的通信

定义:支持进程之间的信息交换

方式:1:共享存储器系统2:消息传递系统。3:管道通信4:消息缓冲队列

 

七:线程

引入原因:进一步提高程序的并发性,减少系统开销。实质是将进程的任务划分成更小,具有独立功能的单位。

概念:    线程是进程中的一个实体,是被系统独立调度和分派的基本单位,一个线程可以创建和撤销另一个线程,同一个进程之内多个线程可以并发执行

线程和进程的关系

1:资源和调度,线程是程序执行的基本单位,进程是拥有资源的基本但额外   

 2:地址和空间资源:不同进程的地址空间是相互独立的,而同一进程中的各线程共享同一地址空间。

3:通信关系:进程之间通信必须使用操作系统提供的进程间通信机制,而同一进程中各线程可以通过直接读或写全局变量进行通信。

4:并发

 

第三章

 

一:进程调度的功能与时机

1:进程调度功能

进程调度按照某种算法策略,从就绪态的进程中为当前空闲的cpu选择在其上运行的新进程。

2:调度的时间

一个进程,运行结束,运行阻塞,中断返回,优先级更高的进程。这四种有一种发生的时候。

二:进程调度的算法

选择准则

1:周转时间短、2:响应时间快。3:截止时间的保证。4:系统的吞吐量

5:处理机利用率

调度算法

1:FCFS(谁先就绪谁上),适合长进程。

等待时间=开始时间-进入时间、周转时间:运行时间+等待时间

2:短进程优先调度:SPF

选择估计进程短的进行调度。缺陷:对长进程不利,无法保证紧迫进程的及时处理。进程长度由用户估计而定可能有偏差

3:优先权调度算法

给每个进程赋予与之相关的优先权。分为抢占式和非抢占式。静态优先权和动态优先权。

缺陷:无穷阻塞

4:时间片轮转调度算法

在现代分时系统中广泛使用。

时间片是一个较小时间单位,通常为10-100ms

5:多级队列调度

根据进程占用内存大小,优先权或进程类型,将就绪队列分成多个独立队列,进程被永久的分配到一个队列,每个队列有自己的调度算法。

6:多级反馈队列调度

三:实时调度的基本条件

为了满足实时系统对截止时间的要求,

实时调度应具备下列几个条件

1:提供必要的调度信息

就绪时间、开始和完成截止时间、处理时间、资源要求、优先级

2:系统处理能力强

某些实时进程不能得到及时处理,可能发生难以预料的后果

3:使用抢占式调度机制

基于时钟和立即抢占

4:具有快速切换机制

外部中断的快速响应

 

算法

1:EDF最早截止时间优先

2:最低松弛度优先

四:进程的切换

用新的进程替换原有进程

保存cpu上下文环境

更新被替换进程的进程控制块

修改进程状态

将被替换进程的进程控制块,移到阻塞或者就绪队列

执行新进程

恢复上下文

五:多处理器调度

1:多处理器的类型

紧密耦合

松弛耦合

对称    :静态分配:操作系统为每个处理器建立一个专门的就绪队列、动态分配:每个进程经过多次调度,每次获得的不一定是同一个处理器。

非对称

主—从 ,操作系统核心部分放在主机上,进程主机器分配给从机器。

2:调度方式

自调度—-一个队列,谁用谁调

成组调度—-将一组相互合作的同时分配到同一组处理器上

六:死锁

产生死锁的原因和必要条件

原因:竞争共享资源且分配资源的顺序不当

必要条件:1:互斥条件2:请求和保持条件3:不剥夺条件4:环路等待条件。

处理方法

预防:至少有一个条件不成立,系统要求进程一次性申请整个过程中所需的全部资源。可以进行剥夺。进程必须按照规定的顺序申请资源。

避免

先计算资源分配的安全性,允许进程动态的申请资源

银行家算法:

一个进程提出资源请求就拟定一个分配方案,评估是否安全,如果安全就执行,否则就不执行。

检测和解除

终止处于死锁的进程或者抢占所占资源。

 

 

 

 

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月3日
下一篇 2021年1月3日

相关推荐