![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OS
爱吃酸奶呀
这个作者很懒,什么都没留下…
展开
-
操作系统 进程间通信实现(使用linux后附源码)
进程间通信是操作系统中重要的内容,也是操作系统的基础内容,下面通过简单的进程间通信实验初步了解进程间通信。实现内容:(1) 消息的创建、发送和接收①使用系统调用msgget(),msgrev(),msgsnd()及msggctl()编制一长度为1K的消息的发送和接收程序。②观察上面的程序,说明控制消息队列系统调用msgctl()在此起了什么作用?(2)共享存储区的创建、附接和断接使用系统调用shmget(),shmat(),shmdt(),shmctl(),编制一个与上述功能相同的程序。比原创 2020-07-06 10:18:40 · 4361 阅读 · 7 评论 -
操作系统 进程管理问题实现(使用linux系统)
进程管理是操作系统重要的内容之一,下面给出进程管理实例实现。实现内容(1)进程的创建编写一段程序,使用系统调用fork() 创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。(2)进程的控制修改已经编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。如果在程序中使用系统调用lockf () 来给每原创 2020-07-06 10:09:02 · 2433 阅读 · 1 评论 -
操作系统 读者写者问题的实现(C++ 读者优先、写者优先)
通过信号量机制和相应的系统调用,用于线程的互斥和同步,实现读者写者问题。利用信号量机制,实现读者写者问题。在windows 10环境下,创建一个控制台进程,此进程包含n个线程。用这n个线程来表示n个读者或写者。每个线程按照设定进行读写操作。用信号量机制分别实现读者优先和写者优先的读者写者问题。读者和写者问题的读写操作限制(包括读者优先和写者优先):写写互斥:即不能有两个写者同时进行写操作。**读写互斥:**即不能同时有一个线程在读,而另一个线程在写。**读读允许:**即可以有一个或多个读者在读。原创 2020-07-06 09:51:34 · 23546 阅读 · 61 评论 -
操作系统 银行家算法实现(C++实现,后附源码)
银行家算法是避免死锁的一种重要方法,通过编写一个简单的银行家算法程序,加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。为保证资金的安全,银行家规定:(1)当一个顾客对资金的最大需求量不超过银行家现有的资金时就可接纳该顾客;(2)顾客可以分期贷款,但贷款的总数不能超过最大需求量;(3)当银行家现有的资金不能满足顾客尚需的贷款数额时,对顾客的贷款可原创 2020-07-06 09:12:04 · 1353 阅读 · 0 评论