操作系统是管理系统资源,控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的最基本的一种系统软件。
面向系统——提高资源利用率
面向用户——提供良好的用户界面,简单易用
进程是可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分配和保护的基本单位。 进程是运行着的程序,这意味着进程不仅包含代码,而且包含当前的活动状态
进程控制块PCB ,是操作系统用于记录和刻画进程状态及有关信息的数据结构,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据,它包括了进程执行时的情况,以及进程让出处理器后所处的状态、断点等信息。
线程是进程中的一个实体,是处理器调度和分派的基本单位。线程是进程的组成部分,是一个基本的CPU执行单元,也是程序执行流的最小单元,由线程ID、程序计数器、寄存器集合和堆栈组成。
原语是指完成某种功能且不可被分割、不被中断执行的操作序列,通常可由硬件来实现。原语功能的不被中断执行特性在单处理机上可由软件通过屏蔽中断方法来实现。
同步亦称直接制约关系,是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。
互斥也称为间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一个进程才允许去访问此临界资源。
每个进程中访问临界资源的那段代码称为临界区。
共享变量所代表的资源称为临界资源,即一次仅能供一个进程使用的资源。
并发进程的无关性是进程和时间无关的一个充分条件。
死锁是指在多个进程的并发执行中,因争夺资源而造成的一种互相等待的僵局,若无外力作用,这些进程都将无法向前推进。
当系统状态为死锁的条件是当且仅当系统状态对应的资源分配图是不可完全简化的。
1.互斥条件:即在一段时间内,某一种资源仅为一个进程占有。
2.不剥夺条件:进程所获得的资源在为使用完之前,不能被其他进程强行夺走
3.请求并保持条件:进程已经保持了至少一个资源,但又提出新的资源请求,而该资源以被其他进程占有,此时请求进程被阻塞,但对自己所获得资源保持不放
4.循环等待条件:存在一个进程资源的循环等待链,链中每个进程已获得的资源同时被链中下一个进程请求。
当一个地址装入内存时,必须给他分配要求的全部内存空间,若没有足够的内存,则不能装入该作业。此外,作业一旦装入内存,整个运行期间就不能在内存中移动,也不能再申请内存空间。
将程序分配到不连续的存储区中,在程序运行之前可以只装入它的部分代码即可投入运行,然后在程序运行期间,根据需要动态申请分配内存,便于程序段的共享,可以向用户提供一个比存储空间大的多的地址空间。
为了便于在内存中找到进程的每个页面所对应的物理块,系统为每个进程建立一张页表,它记录页面在内存中对应的物理块号,页表一般存放在内存中。
每个进程都有一张逻辑空间与内存空间映射的段表,其中每个段表项对应进程的一段,段表项记录该段在内存中的起始地址和长度。
在程序装入时,将程序的一部分装入程序,其余部分留在外存,执行过程中,当访问信息不在内存中时,操作系统将需要部分调入内存,继续执行程序,好像提供给了用户一个比实际内存大的多的存储器,这就是虚拟存储器。
存储管理部件,提供地址转换和存储保护功能并支持虚存管理和多任务管理。
时间局部性:某条指令被执行,则该指令不久后可能再次执行
空间局部性:程序访问了某个存储单元,不久后,附近的存储单元也会被访问。
在请求分页系统中,用户访问的页面不在内存中的概率。
链接时不必将程序所需的外部函数代码从系统库中提取出并链入目标模块,而是在程序调用处登记调用信息,记录函数名和入口号,形成调用链接。一旦DLL库调入内存,就可以确定所调函数在内存中物理地址。