12级《实用操作系统》(A卷及答案)(5)

时间:2025-03-12

采用虚拟设备技术(SPOOLing)的操作系统,一旦有用户进程申请访问某个外设,操作系统设备管理进程就创建一个SP线程来虚拟要访问的外部设备。用户进程将把访问外设的任务交给SP线程来完成。

SP线程将执行外设申请、外设访问的操作。如果外设被其它进程占用,操作系统将阻塞SP线程,而不是用户进程。这种外设访问的模式可以大大提高外设访问和用户进程的执行效率。

5. (本题8分)某针对4G内存空间的操作系统采用一级页式存储管理方案,设计内存块(页)

的大小为8K。

(1) 试画出该操作系统划分页面的地址空间(2分)

(2) 设一个需要32K内存规模的进程,被连续存放在34821、34822、34823、34824

内存块中。试画出内存分配后操作系统创建的页表。(2分)

(3) 试画出实现动态地址重定向的方案示意图。(要求在画出各步地址计算、传输的

位数,画出CPU中的基址寄存器)。(2分)

(4) 试说明CPU中的基址寄存器在动态地址重定向中的作用。(2分)

(本题可以考试后再学习。关于内存管理的复习请参考本章的习题)

6. (本题10分)阅读下列程序,

(1)请对程序中各条语句的功能进行注释。(6分) HANDLE hHonk1,hHonk2; //开辟线程1和线程2的句柄变量。 HANDLE hHonkSemaphore; //开辟信号量句柄变量。 DWORD threadID; //开辟线程编号变量threadID。

void Honk1Thread() {

WaitForSingleObject(hHonkSemaphore,INFINITE); //注释:P函数,如果有其它线程正在播

放音乐,阻塞本进程。

printf("\n Thread1 is working \n");

mciSendString("play C:\\111.mp3",NULL,0,NULL); //注释:调用API函数播放一个音乐。 MessageBox(NULL,"Press any key to stop music 111.MP3","music 111.MP3 window",0); //注释:弹出提示窗口,等待用户按任意

键继续执行后面的指令。

mciSendString("close C:\\111.mp3",NULL,0,NULL); //注释:关闭音乐播放 ReleaseSemaphore(hHonkSemaphore,1,NULL); //注释:V函数,如果有其它线程被阻塞,

唤醒该线程程。(如果hHonkSemaphore信号量的阻塞队列中有被阻塞的线程或进程,唤醒头一个线程或进程)

}

void Honk2Thread() {

WaitForSingleObject(hHonkSemaphore,INFINITE); //注释:P函数,如果有其它线程正在播

放音乐,阻塞本进程。

printf("\n Thread2 is working \n");

mciSendString("play C:\\222.mp3",NULL,0,NULL);

MessageBox(NULL,"Press any key to stop music 222.MP3","music 222.MP3 window",0); mciSendString("close C:\\222.mp3",NULL,0,NULL); ReleaseSemaphore(hHonkSemaphore,1,NULL); //注释:V函数,如果有其它线程被阻塞,

唤醒该线程程。

}

void main(void) {

hHonkSemaphore = CreateSemaphore(NULL, 1, 1, "honkSemaphore"); //注释:创建信号量honkSemaphore,初

值为1,用于线程1和线程2的互斥。

hHonk1=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Honk1Thread, 0, 0, &threadID); //注释:创建线程1

hHonk2=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Honk2Thread, 0, 0, &threadID); //注释:创建线程2 MessageBox(NULL,"Press Enter to stop Main Function","Main window",0); CloseHandle(hHonk1); //注释:关闭线程1 CloseHandle(hHonk2); //注释:关闭线程2 }

(2)描述下列程序的用途和运行方式。(4分)

本程序创建两个播放音乐的线程,由这两个线程分别播放音乐。 该程序设置两个线程处于互斥的运行方式。

12级《实用操作系统》(A卷及答案)(5).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219