1、设备管理中的数据传送控制方式有哪几种?分别简述是如何实现的。
(1)直接控制:I/O控制,由用户进程来直接控制内存或CPU与外设间的信息传送。
(2)中断方式控制:进程通过CPU发出指令启动外设,该进程阻塞。当输入完成时,I/O控制器通过中断请求向CPU发出中断信号,CPU进行中断处理。
(3)DMA方式(Direct memory access):直接存储器访问。不通过CPU,直接在外设和内存之间开辟数据交换通路
(4)通道控制方式:CPU发出启动指令,指出通道相应的操作和I/O设备,该指令就可启动通道,并使该通道从内存中调出相应的通道指令执行。
2、在段页式虚拟存储系统中,不同进程之间是如何实现程序共享的?
在系统内设置有系统段表,用户段表指向系统段表,系统段表内有当前共享的用户数。当用户进程调入一个程序段之前,先查找系统段表,如果所需段存在,则将共享用户数加一,再将此段登记在用户进程段表中。当进程退出时,共享计数减一,最后一个用户删除共享代码段。
3、在生产者——消费者问题中,能否将生产者进程的wait(empty)和wait(mutex)语句互换?为什么?
不能。因为这样可能导致系统死锁。当系统中没有空缓冲时生产者进程的wait(mutex)操作获取了缓冲队列的控制权,而wait(empty)导致生产者进程阻塞,这时消费者进程也无法执行。
4、进程的基本状态有哪些?这些状态之间是如何转换的?
共有三种基本状态:就绪、执行、阻塞
就绪->执行ÿ