操作系统相关知识
一、操作系统引论
1、从资源管理的角度看,操作系统具备5大功能:进程管理、作业管理、存储管理、设备管理、文件管理。
2、从操作系统的功能出发可以把操作系统分为:批处理系统、分时系统、实时系统、网络操作系统、分布式操作系统。
3、分时操作系统允许多个用户同时使用一台计算机。
4、操作系统具有4个基本特征:共发性(同时性)、共享性、不确定性、虚拟性。
5、终端处理过程:保存中断程序现场--》分析中断源--》转去执行相应的中断处理程序--》恢复中断程序现场,继续执行被中断的程序。
6、处理机执行的状态分为核态和用户态(目态)。
7、操作系统是管理硬件资源、控制程序执行、改善人机界面、合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。
8、多道程序的设计特点是多道、宏观上并行、微观上串行。
9、windows95/98是单用户多任务的操作系统、windows NT是多用户多任务的操作系统,DOS是单用户操作系统。
二、进程管理
1、程序顺序执行时的特征:顺序性、封闭性、可在现性。程序并发执行的特征:间断性、失去封闭性、不可再现性。
2、进程是程序及其数据在计算机上的一次运行,是系统进行调度和资源分配的独立单位。
3、进程的特征:动态性(是进程最重要的特征)、并发性、独立性、异步性、交互性、结构性(从结构上看,进程实体是由程序段、数据段和进程控制块PCB3部分组成)。
4、一个进程可以执行一个或多个程序,一个程序也可以创建多个线程。
5、进程的创建事件有:用户登录、作业调度、提供服务、应用请求。
6、进程终止的事件有:正常结束、异常结束、外界干预。
7、进程阻塞(等待)的事件有:请求系统提供服务、启动某种操作、新数据尚未到达、无新工作可做。
8、为什么有了进程的概念,还要提出线程的概念?
因为进程是一个资源拥有者,因而进程的创建、撤销和切换过程中,系统必须为之付出较大的时空开销,也正因为如此,在系统中所设置的进程数目不宜过多,进程间切换的频率也不宜过高,从而限制了共发程度的进一步提高。又因为线程是进程中的一个实体,是可以被系统独立调度和分派的基本单位,它基本上不拥有系统资源,使得执行的效率更高,提高了多程序的并发执行,同时又减少了系统的开销。
9、一个线程可以创建和销毁另一个线程,同一个进程中的多个线程可以并发执行。
10、线程的属性:
每个线程有一个唯一的标示符和一张线程描述表。不同的线程可以执行相同的程序,即同一个程序被不同用户调用时,操作系统为他们创建不同的线程。同一进程中的各个线程共享该进程的内存地址空间。线程是处理器的独立调度单位。
11、操作系统中仅仅允许一个进程使用的资源称为临界资源。进程中访问临界资源的那段程为临界区。
12、临界区的使用原则:
有空让进:没有任何一个进程处于临界区内时,允许一个进程进入临界区。
忙则等待:已有进程进入临界区时,其他欲进入进程必须等待。
有限等待:一进程离开临界区时,若发现有进程正在等待进入临界区,则要唤醒进程,以免进程进入“死等待”。
让权等待:当进程不能进入临界区时,应立即释放CPU资源,以免陷入“忙等待”。
13、最初,信号量s是一个整型变量,除初始化外,对信号量仅能执行两个原子操作,即wait(s)和signal(s),也称为P(s)和V(s)。是一种进程同步工具。
14、通常P操作意味着请求一个资源,V操作意味着释放一个资源,在一定条件下P操作代表着挂起进程操作,V操作代表唤醒被挂起进程的操作。
15、进程间通信的方式一般有信箱通信、消息缓冲通信和管道通信等。
16、死锁:在系统中,某个进程提出资源请求后,使得若干进程在无外力作用下永远不能前进(继续运行)的现象。死锁大多是由于并发进程共享临界资源引起的,死锁与时间相关,不易重现。
17、系统发生死锁时,死锁的个数至少为两个。
18、解决死锁的方法有4种:预防死锁,避免死锁,检测死锁,解除死锁,其中,前两种都不允许出现死锁,银行家算法是为避免死锁二提出的一种具有代表性的算法。
19、进程的同步是指:多个相关进程在执行次序上的协调,这些进程相互合作,在一些关键点上可能需要互相等待或互相通信。
20、一个计算机有6台可互换使用的磁带机,由n个进程竞争使用,每一个进程在一段时间内需要独占两台磁带机进行使用,n最多为 5 时系统一定不会发生死锁。
这种题的解法一般都是从最坏的角度出发:即假设有很多进程来申请磁带机,假设已经有5个进程,一个进程申请了一个磁带机,那么还剩下一个磁带机,此时刚刚的5个进程中的任意一个还可以再申请一个磁带机即可满足运行条件。但是如果一开始就有6个进程,一个进程申请一个磁带机的话,那么就没有剩下的磁带机了,所以这时候谁都不能运行,所以,最多不能超过5个。
21、某系统中有11台打印机,N个进程共享打印机资源,每个进程要求3台,当N不超过5时,系统不会发生死锁。
思路和上面的一样,考虑最坏的情况,有5个进程均申请了2台打印机,那么此时5个进程中的任一进程再申请一台打印机即可正常运行。但是如果N=6,那么假设有5个进程申请了2台打印机,一个进程申请了一台打印机,此时已经没有剩余的打印机了,现在谁都不能继续运行。
3、作业管理
1、处理机调度可分为:高级调度、中级调度、低级调度。所有操作系统必须配备的是进程调度(低级调度)。
2、在交互控制方式下,用户为控制作业的执行可采用 命令语言。
3、作业控制语言属于脱机作业控制语言。
4、存储管理
1、固定分区:预先吧可分配的主存储器空间分割为若干个连续的区域,每个区域大小固定,单各个区域大小不一定相等,每个分区可装载 一个且只能装载一个 作业。
2、固定分区易于实现,开销小,缺点是内存碎片会造成空间浪费。固定分区方法采用的数据结构是记录分区的大小和分区使用情况的分区表。
3、可变分区(动态分区):内存不预先划分,当作业装入时,根据作业的需求和内存空间的使用情况决定是否分配内存。
4、可变分区使用的数据结构是记录了空闲分区起始地址和长度的内存空闲块表。
5、分段和分页的比较
分段是信息的逻辑单位,由源程序的逻辑结构所决定,用户可见。段长可根据用户需要设定,段起始地址可以从任何地址开始。
分页是信息的物理单位,与源程序的逻辑结构无关,用户不可见。页长只能以页大小的整数倍地址开始。
6、虚拟存储器是一个假想的地址空间,但是他的大小不是任意大的,在一个拥有32位地址长度的系统,其虚拟空间最大不超过2^32字节。
7、最佳适应算法的空白区是按照大小递增的顺序排列的。
5、设备管理
1、计算机的外围设备按照输入输出的特性一般分为两种:一是存储型设备,而是输入输出设备。
2、设备管理的主要目标是:提供统一界面、方便用户使用、发挥系统的并行性、提高I/O设备使用率。为此,设备管理器通常应有如下功能:
外围设备中断处理、缓冲区处理、外围设备的分配、外围设备驱动调度、虚拟设备及其实现。
6、文件管理
1、文件系统的功能:
统一管理文件的存储空间,实施存储空间的分配与回收。
实现文件的“按名存取”。
实现文件信息的共享,并提供文件的保护和保密措施。
向用户提供一个方便使用的接口。
系统维护及向用户提供有关信息。
文件系统的执行效率。
提供与I/O的统一接口。
2、文件的分类:
按文件性质和用途分类可分为:系统文件、用户文件和库文件。
按信息保存期限分类可分为:临时文件、永久文件和档案文件。
文件的保存方式分类可分为:只读文件、读写文件和可执行文件。
按文件的逻辑结构分类可分为:流式文件、记录式文件。
按文件的物理结构分类可分为:顺序(连续)文件、链接(串联)文件、索引文件。
3、建立文件工程:
检查参数的合法性,文件名是否符合命名规则---》检查同一目录下有无重名文件---》在目录中有无空闲位置---》填写目录项内容:文件名、用户名等,存取权限,长度置零---》返回
4、打开文件
任何一个文件文件使用前都需要打开,即把FCB送到内存。格式为:
根据文件路径名查目录,找到FCB主部---》根据打开方式、共享说明和用户身份检查访问的合法性---》根据文件号查系统打开文件表,看文件是否已被打开,是的话共享计数加1,否则将外存中的FCB主部等信息填入系统打开文件表空表项,共享计数置为1---》在用户打开文件表中去一空表项,填写打开方式等,并指向系统打开文件表对应表项。
5、文件保护的目的是防止文件被窃取,主要有两种方法:设置口令和使用密码。
6、从用户发出文件系统调用开始进入文件系统,直到存取文件存储器上的信息的实现,这一执行过程大致可以分为以下几个层次:用户接口,逻辑文件控制子系统,文件保护子系统,物理文件控制子系统和I/O控制子系统。
7、操作系统实例分析
1、UNIX是一个通用的、多用户分时、交互型的操作系统。
2、UNIX操作系统具有如下特点:
UNIX操作系统支持多用户操作,多个用户可以同时使用计算机,系统的多任务特点大大的提高了系统资源的利用率和用户使用的灵活性。
UNIX操作系统的绝大部分代码及实用程序都是C语言编写,易于扩充,具有较好的可移植性。
UNIX操作系统采用树形结构的文件系统,分为基本文件系统和可装卸的文件卷两部分,具有良好的安全性和共享性。UNIX操作系统的文件采用统一的无格式的字符流,既可以对文件进行顺序读写又可以进行随机读写,使用户可以灵活的对文件内容进行组织。
UNIX操作系统把普通文件、目录文件、外部设备均按文件进行统一处理,简化了系统设备,便于用户使用。
灵活、丰富的系统调用。
功能强大的shell和丰富的软件工具。