答:目标:在计算机上配置操作系统。其主要的目标是(1)方便性,(2)有效性,(3)可扩充性(4)开放性。 作用: (1)OS作为用户与计算机硬件系统之间的接口。(2)OS作为计算机系统资源的管理者。 (3)OS实现了对计算机资源的抽象。
(1)并发(2)共享(3)虚拟(4)异步
进程:指在系统中能独立进行并作为资源分配的基本单位,它是由一组机器指令,数据和堆栈组成,是一个能独立运行的实体。 程序:程序是为解决一个信息处理任务而预先编制的工作执行方案,是由一串CPU能够执行的基本指令组成的序列,每一条指令规定了计算机应进行什么操作(如加、减、乘、判断等)及操作需要的有关数据。 关系: (1)一般来说作业是可以包含多个程序或数据集,但至少有一个程序。 (2)一个程序可以有多个进程,一个线程可以包含多个程序 (3)一个进程至少有一个线程. 线程的划分尺度小于进程,多个线程共享进程内存 区别: (1)程序是静态的,进程是动态的,(2)程序是存储在某种介质上的二进制代码,进程对应了程序的执行过程,系统不需要为一个不执行的程序创建进程,一旦进程被创建,就处于不断变化的动态过程中,对应了一个不断变化的上下文环境。 (3)程序是永久的,进程是暂时存在的。程序的永久性是相对于进程而言的,只要不去删除它,它可以永久的存储在介质当中。
两个或多个事情,在同一个时间间隔内发生。
指两个或多个事件在同一时刻发生。
就绪,执行 ,阻塞。
高级调度:高级调度又称长程调度或作业调度,它的调度对象是作业。 低级调度:低级调度又称为进程调度或短程调度。其所调度的对象是进程或(内合级进程)。 中级调度:中级调度又称为内存调度。引入中级调度的主要目的是提高内存利用率和系统吞吐量。基础调度算法。
如果这种进程中的每一个进程,都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程称为死锁。
一,互斥条件 二,请求保持条件, 三,不可抢占条件, 四,循环等待条件。
1.预防死锁 2避免死锁 3检测死锁 4解除死锁
方法步骤 第一步:先看系统还剩下多少资源没分配,再看有哪些进程是不阻塞(“不阻塞”即:系统有足够的空闲资源分配给它)的; 第二步:把不阻塞的进程的所有边都去掉,形成一个孤立的点,再把系统分配给这个进程的资源回收回来; 第三步:看剩下的进程有哪些是不阻塞的,然后又把它们逐个变成孤立的点; 第四步:最后,所有的资源和进程都变成孤立的点。这样的图就叫做“可完全简化”;如果一个图可完全简化,则不会产生死锁;如果一个图不可完全简化(即:图中还有“边”存在),则会产生死锁。这就是“死锁定理”。
解题步骤:
第一步:先看R1资源,它有三个箭头是向外的,因此它一共给进程分配了3个资源,此时,R1没有空闲的资源剩余。 第二步:再看R2资源,它有一个箭头是向外的,因此它一共给进程分配了1个资源,此时,R2还剩余一个空闲的资源没分配。 第三步:看完资源,再来看进程,先看进程P2,它只申请一个R1资源,但此时R1资源已经用光了,所以,进程P2进入阻塞状态,因此,进程P2暂时不能化成孤立的点。 第四步:再看进程P1,它只申请一个R2资源,此时,系统还剩余一个R2资源没分配,因此,可以满足P1的申请。这样,进程P1便得到了它的全部所需资源,所以它不会进入阻塞状态,可以一直运行,等它运行完后,我们再把它的所有的资源释放。相当于:可以把P1的所有的边去掉,变成一个孤立的点,如下图所示:
第五步:进程P1运行完后,释放其所占有的资源(2个R1资源和1个R2资源),系统回收这些资源后,空闲的资源便变成2个R1资源和1个R2资源,由于进程P2一直在申请一个R1资源,所以此时,系统能满足它的申请。这样,进程P2便得到了它的全部所需资源,所以它不会进入阻塞状态,可以一直运行,等它运行完后,我们再把它的所有的资源释放。相当于:可以把P2的所有的边都去掉,化成一个孤立的点,变成下图:
一,编译二,链接三,装入
一,绝对装入方式 二,可重定位装入方式 三,动态运行时的装入方式
一,静态链接方式中 二,装入时动态链接 三,运行时动态链接