高并发(操作系统) 练习题 2019-4-24AM

这是一组关于操作系统高并发的练习题目,涵盖了共享内存、并发数据不一致性、死锁条件、多线程多进程的区别、实时操作系统特性和并发编程同步器等内容。题目包括共享内存的性质、并发操作引发的问题、数据库死锁的必要条件、多线程多进程的定义以及实时操作系统和并发编程工具的特性等知识点。
摘要由CSDN通过智能技术生成

高并发(操作系统) 练习题 2019-4-24AM

第一题:下面有关共享内存,说法不正确的是?(D)
A.共享内存和使用信号量一样,属于进程间通信的一种方式。
B.使用shmget函数来创建共享内存
C.尽管每个进程都有自己的内存地址,不同的进程可以同时将同一个内存页面映射到自己的地址空间中,从而达到共享内存的目的
D.共享内存提供了同步机制,在第一个进程结束对共享内存的写操作之前,会有自动机制可以阻止第二个进程开始对它进行读取

解释:
    ABC均正确。
    共享内存并未提供同步机制,当某一个进程对共享内存提供写操作时,并未自动的阻止另一个进程对它进行读取;
    共享内存:就是允许多个进程访问同一内存空间,进程间传递和共享数据非常有效
    信号量:为了防止多个进程访问共享资源而造成冲突,设置临界区域每次只让一个进程访问,
    信号量提供了这样一种机制,用来控制对临界区域的访问.

    进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,
    就好像它们是由用C语言函数malloc分配的内存一样。

    特别提醒:共享内存并未提供同步机制,也就是说,在第一个进程结束对共享内存的写操作之前,并无自动机制可以阻止第二个进程开始对它进行读取。
    所以我们通常需要用其他的机制来同步对共享内存的访问,例如前面说到的信号量。

第二题:并发操作会带来哪些数据不一致性? (D)
A.不可修改、不可重复读、脏读、死锁
B.丢失修改、脏读、死锁
C.不可重复读、脏读、死锁
D.丢失修改、不可重复读、脏读<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值