D. 多道程序:多道程序设计技术允许在内存中同时存放多个程序,并使它们交替执行。这样可以让多个程序共享系统资源,如 CPU、内存、I/O 设备等,从而实现了并发和共享。因此,在现代操作系统中引入多道程序,使并发和共享成为可能,该选项正确。
C. 分时操作系统:其工作原理是把 CPU 的时间划分成若干个时间片,轮流分配给各个终端用户使用。这样,多个用户可以通过各自的终端同时交互地使用计算机,好像每个用户都独占计算机一样,该选项正确。
A. 系统调用:系统调用是操作系统提供给用户程序的接口,用于请求操作系统提供服务。用户程序通过系统调用可以访问系统资源,如文件、设备等。在读取文件的逻辑块时,程序需要调用操作系统提供的文件读取系统调用,告知操作系统要读取的文件以及逻辑块的编号等信息,由操作系统来完成实际的文件读取操作,所以该选项正确。
A.计算机系统中的全部指令CPU 状态分为管态(又称系统态、核心态)和目态(又称用户态)。管态是操作系统管理程序运行时的状态,在此状态下,CPU 可以执行计算机系统中的全部指令,包括特权指令和非特权指令。特权指令是指只能由操作系统内核执行的指令,如设置时钟、清内存、开中断、关中断等,这些指令若被用户程序随意执行,可能会导致系统混乱。而目态是用户程序运行时的状态,在目态下,CPU 只能执行非特权指令,这样可以保证系统的安全性和稳定性。所以当 CPU 处于管态时,它可以执行计算机系统中的全部指令。
选项 A:进程是程序的一次执行过程,而不是完整的程序本身。程序是静态的代码和数据集合,而进程是动态的,具有生命周期,包括创建、执行、暂停、终止等状态。在多程序并行环境中,多个进程可以同时运行同一个程序,但它们有各自独立的地址空间、资源分配和执行上下文。所以该选项最不符合操作系统对进程的理解。
B. 它正等待合作进程的一个消息:当进程等待合作进程的消息时,它无法继续执行下去,只能处于等待(阻塞)状态,直到收到所需的消息,才有可能继续执行,所以该选项正确。
D. 由阻塞变就绪:当一个进程释放一种资源时,可能会使正在等待该资源的一个或几个进程获得所需资源,从而从阻塞状态变为就绪状态,等待被调度执行,所以该选项正确。
A:用户级线程的切换由用户空间的线程库来实现,不需要内核支持,只有系统支持线程的切换才需要内核支持,所以该选项错误。
B:进程是资源分配的单位,线程是调度和分配的基本单位,选项中说法混淆了进程和线程的概念,故该选项错误。
C:进程是拥有资源的独立单位,即使系统中引入了线程,进程所拥有的资源也不会改变,线程是在进程的资源空间内运行的,该选项正确。
D:在引入线程的系统中,线程是调度分派的基本单位,而进程是资源分配的基本单位,该选项错误。
根据平均周转时间的计算公式Tavg=nTz1+Tz2+Tz3(n为作业数,这里n=3)。
将Tz1=T1,Tz2=T1+T2,Tz3=T1+T2+T3代入公式可得:
Tavg=(T1+(T1+T2)+(T1+T2+T3))/3=T3/3+2*T2/3+T1
所以平均周转时间为T1+32T2+3T3,答案选 D。
A. 程序 I/O 方式:该方式下,CPU 需要不断查询 I/O 设备的状态,直到设备准备好数据或完成操作,期间 CPU 一直被占用,需要频繁干预,故 A 选项错误。
B. 中断驱动 I/O 控制方式:当 I/O 设备完成数据传输或出现某些事件时,会向 CPU 发送中断请求,CPU 响应中断并进行相应处理。相比程序 I/O 方式,CPU 不需要一直查询,但在中断处理过程中仍需要一定的干预,故 B 选项错误。
C. 直接存储器访问 DMA 控制方式:DMA 方式允许外部设备直接与内存进行数据传输,无需 CPU 频繁干预。但在传输开始和结束时,仍需要 CPU 进行一些初始化和收尾工作,所以 CPU 还是有一定程度的参与,故 C 选项错误。
D. I/O 通道控制方式:I/O 通道是一种专门负责 I/O 操作的硬件,它可以独立于 CPU 执行 I/O 指令序列,控制设备与内存之间的数据传输。CPU 只需在通道开始工作前进行一些初始化设置,然后就可以去执行其他任务,由通道来管理整个 I/O 操作过程,CPU 干预最少,故 D 选项正确。
信号量用于实现进程对临界资源的互斥访问。当没有进程访问临界资源时,信号量的值为1;当有1个进程进入临界区时,信号量的值减1变为0;当有m个进程都想进入临界区,而临界资源只能被一个进程使用时,其余m−1个进程会被阻塞,此时信号量的值为1−m=−(m−1)。所以信号量的变化范围是1至−(m−1)。
D. 循环等待:循环等待条件是指存在一组进程,它们中的每一个进程都在等待另一个进程所占有的资源,形成一个循环等待链。通过对资源编号,并要求进程按照序号顺序申请资源,可以避免进程之间形成循环等待的关系。因为按照顺序申请资源,不会出现一个进程等待另一个进程占用的更低序号资源的情况,从而破坏了循环等待条件,防止死锁的发生。
B. 系统处于不安全状态时可能会发生死锁:当系统处于不安全状态时,有可能存在某些进程的资源请求无法得到满足,这些进程可能会一直等待资源,进而导致死锁的发生。不过,也有可能在某些情况下,进程能够通过其他方式释放资源,使得系统避免进入死锁状态,所以系统处于不安全状态时是可能会发生死锁的,B 正确。
A. 并行技术:主要是指多个任务或操作同时进行,以提高系统的处理能力和效率。但它并不能直接解决 CPU 与打印机速度不匹配的问题,因为打印机本身的打印速度限制无法通过并行技术得到根本改善,故 A 选项错误。
B. 缓冲技术:通过在内存中设置缓冲区,先将 CPU 要输出的数据暂存到缓冲区中,然后让打印机从缓冲区中慢慢读取数据进行打印。这样可以使 CPU 不必等待打印机完成打印操作,而是可以继续执行其他任务,从而解决了 CPU 输出数据速度快于打印机打印速度的矛盾,故 B 选项正确。
C. 虚拟存储器技术:主要是为了扩大内存的逻辑容量,将一部分外存空间当作内存来使用,使得程序可以在比实际物理内存更大的空间中运行。它与解决 CPU 和打印机速度不匹配的问题无关,故 C 选项错误。
D. 覆盖技术:是一种内存管理技术,用于在内存空间有限的情况下,将程序中暂时不用的部分覆盖掉,以腾出空间来加载其他程序或数据。它也不能解决 CPU 与打印机速度差异的问题,故 D 选项错误。
A. 首次适应法:该算法从空闲分区链首开始查找,找到第一个能满足进程大小的空闲分区就进行分配。这样会使得低地址空间的空闲分区很快被划分,随着不断分配,高地址空间的空闲分区由于较晚被分配到,就有可能保留下来成为大的空闲区。
B. 最佳适应法:它总是寻找能满足进程需求的最小空闲分区,这样会导致各个大小的空闲分区都被均匀地使用,不太容易使高地址空间形成大的空闲区。
C. 最坏适应法:该算法每次都选择最大的空闲分区进行分配,这会使得大的空闲分区迅速被划分,高地址空间的大空闲区也会很快被破坏,不太可能形成大的空闲区。
D. 循环首次适应法:它是从上次查找结束的位置开始循环查找空闲分区,与首次适应法相比,它对内存空间的利用更加均匀,不会像首次适应法那样明显倾向于保留高地址空间的大空闲区。
虚拟存储器的基本思想是利用大容量的外存来扩充内存,使得程序在运行前不必全部装入内存,仅将当前运行所需的部分程序和数据装入内存即可启动运行。在程序运行过程中,根据需要再将其他部分从外存调入内存,同时,一些暂时不用的程序和数据也可以被换出到外存,不必一直驻留在内存中。这样可以在有限的内存空间中运行比内存容量大得多的程序,提高了内存的利用率和系统的并发处理能力。因此,选项 B 正确。
答案是 B。在段式存储管理中,24 位地址里 8 位为段号,则段内偏移量占 16 位。段内偏移量位数决定段的最大长度,16 位偏移量对应最大长度为2^16,所以每段最大长度是2^16 。
答案是D.当有上邻空闲区和下邻空闲区时,系统收回作业的主存空间后,会将这三个区域合并成一个更大的空闲区,原来的两个相邻空闲区和新收回的空间合并为一个,所以空闲区数会减 1。
MS - DOS 系统中的磁盘文件物理结构属于链接文件。在 MS - DOS 中,文件以簇为单位进行存储,文件的各个簇在磁盘上不一定是连续的,通过文件分配表(FAT)来记录文件各簇之间的链接关系,从而实现对文件的存储和访问。因此,MS - DOS 系统中的磁盘文件物理结构是链接文件,选项 B 正确。
系统中有10台磁带机供m个进程使用,每个进程最多要3台。为避免死锁,考虑极端情况,假设每个进程先都拿到2台磁带机,此时只要再有1台磁带机,不管给哪个进程,该进程就能凑够3台去运行,运行完释放资源后其他进程也能顺利运行。由此得到不等式2m+1⩽10,解出m⩽4.5,由于m是整数,所以m取不超过4的整数时,系统就不会发生死锁。
在这个存储系统中,逻辑空间有8页,因为8 = 2^3,所以表示页号需3位;每页1024字节,1024 = 2^10,表示页内偏移量需10位,两者相加,逻辑地址有效位是13位。物理存储区有32块,32 = 2^5,块号需5位,而页内偏移量与逻辑空间中每页大小对应,同样是10位,所以物理地址至少是5位块号与10位页内偏移量之和,即15位。
答:( 1 )进程是具有独立功能程序在某个数据集合上的一次执行过程。( 2 分)( 2 )线程是进程内的一个执行实体或执行单元。( 2 分)( 3 )进程和线程的区别:(a )不同进程的地址空间是独立的,而同一进程内的线程共享同一地址空间。一个进程的线程在另一个进程内是不可见的。(b) 在引入线程的操作系统中,进程是资源分配和 调度的单位,线程是处理机调度和分配的单位,资源是分配给进程的,线程只拥有很少资源,因而切换代价比进程切换低。(2 分)说明: 论述条理清晰,包含上述要点,本题即可得满分
答:( 1 )在多道程序系统中,当一组进程中的每个进程均无限期地等待被改组进程中的另一进程所占 有且永远不会释放的资源,此时的系统处于死锁状态,简称死锁。(2 分)( 2 )死锁产生的原因:( a )系统提供的资源有限;( b )进程推进顺序不当。( 2 分)( 3 )产生死锁的必要条件:互斥条件、不可剥夺条件、请求和保持条件、循环等待条件。( 2 分)说明 :论述条理清晰,包含上述要点,本题即可得满分
答:(1) 作业调度用于决定把外存中处于后备队列中的哪些作业调入内存,并为它们创建进程,分配资源,然后将新创建进程插入就绪队列;中级调度负责将内存中暂时不具备运行条件的进程换到外存交 换区存放,但内存空闲时,又将外存中具备运行条件的进程重新换入内存;进程调度决定将处理机分 配给就绪进程队列的哪个进程。(4 分)( 2 )进程调度、中级调度( 2 分)说明 :论述条理清晰,包含上述要点,本题即可得满分
答: ( 1 ) FIFO: 9 次 (3 分)( 2 ) LRU : 10 次 ( 3 分)( 3 ) OPT : 7 次 (3 分)说明 :没有计算过程,本题不得分。如果结果有误,根据步骤酌情给分。
答:semaphoreempty1=9;// 空 buf1 的数目full1=2; // 有数据的 buf1 的数目empty2=5; // 空 buf2 的数目full1=0; // 有数据的 buf2 的数目mutex1=mutex2=1; // 互斥信号量int main(){Cobegin // 并发开始GET();PRO();PUT();Coend// 并发结束return 0;} (3 分 )
//GET 进程void GET () {while(1){…wait(empty1);wait(mutex1);将信息送入 buf1;signal(mutex1);signal(full1);…}}(3 分 )
//PRO 进程void PRO () {while(1){wait(full1);wait(mutex1);从 buf1 中取出信息 ;signal(mutex1);signal (empty1);wait(empty2);wait(mutex2);将信息送入 buf2;signal(mutex2);signal(full2);}}(4 分 )
//PUT 进程void PUT () {while(1){wait(full2);wait(mutex2);从 buf2 中取出信息 ;signal(mutex2);signal (empty2);}(3 分 )