《操作系统原理》实验指导书实验一生产者-消费者模型模拟进程调度一、实验任务1、在WINDOWS2000环境下,创建一个控制台进程,此进程包括4个线程:2个生产者线程和2个消费者线程。
2、用信号量机制解决进程(线程)的同步与互斥问题。
二、实验目的1.掌握基本的同步互斥算法,理解生产者和消费者模型。
2.了解Windows2000/XP中多线程的并发执行机制,线程间的同步和互斥。
3.学习使用Windows2000/XP中基本的同步对象,掌握相应的API。
三、实验要求1.生产者消费者对缓冲区进行互斥操作。
2.缓冲区大小为10,缓冲区满则不允许生产者生产数据,缓冲区空则不允许消费者消费数据。
3.生产者消费者各循环操作50次。
四、设计思路和采取的方案1.利用windows提供的API函数CreateSemaphore()创建信号量对象;
CreateThread()创建线程;
WaitForSingleObject()执行P操作;
ReleaseSemaphore()执行V操作;
WaitForMultipleObjects()主进程等待线程的结束等函数进行设计。
2.在Windows中,常见的同步对象有:信号量(Semaphore)、互斥量(Mutex)。
使用这些对象都分为三个步骤,一是创建或者初始化;
接着请求该同步对象,随即进入临界区,这一步对应于互斥量的上锁;
最后释放该同步对象,这对应于互斥量的解锁。
这些同步对象在主进程中创建,在其子线程中都可。
实验二存储管理一、目的和要求1.实验目的(1)掌握时间片轮换的进程调度算法;
(2)掌握带优先级的进程调度算法;
(3)选用面向对象的编程方法。
2、实验学时:2学时3、实验要求(1)自定义PCB的数据结构;
(2)使用带优先级的时间片轮转法调度进程,每运行一个时间片,优先级减半。
(3)命令集A)create随机创建进程,进程的优先级与所需要的时间片随机决定;
B)ps查看当前进程状态C)sleep命令将进程挂起D)kill命令杀死进程E)quit命令退出二、实验内容根据教师指定的实验课题,完成设计、编码、测试工作。
实验三虚拟存储器一、目的和要求1.实验目的(1)掌握先进先出页面置换算法;
(2)掌握随机替换页面置换算法;
(3)掌握OPT页面置换算法;
(4)掌握最近最少使用页面置换算法;
(5)熟悉抖动现象及其产生原理;
(6)熟悉C/C++编程。
2、实验学时:2学时3、实验要求(1)进程占用内存空间共640K,页面大小是1K/2K/4K/8K;
(2)随机生成256个页面置换次序;
(3)用于分配页面大小的内存总空间是32K;
(4)给出四种页面置换算法的换页过程,并计算各自的缺页率。
二、实验内容编写程序,使用四种不同的页面替换策略算法进行页面替换。
分别是先进先出,随机替换,时钟页面替换,最近最久未使用页面替换,并计算缺页率。
1
已经编译好的ngrok服务端bin和exe,客户端bin和exe,脚本也写好了,支持windows和linux配合我的ngrok教程可实现http和https的完美本地端口映射。
2024/5/10 9:28:29 18.98MB 代理 端口映射
1
嵌入式开发工具,64位windows的dnw软件
2024/5/10 1:40:22 47KB 64位dnw
1
驱动开发环境详细配置,SSDT钩子的进程保护,详细的源代码
2024/5/9 19:32:32 9.61MB 内核 驱动进
1
C#间接调用mstsc.exe实现自动远程登录:根据远程主机的ip地址、用户名和密码动态修改Default.rdp文件里面的相关信息,然后调用mstsc.exe加载该Default.rdp文件来达到自动登录远程主机的目的,远程连接的时候不需要用户输入主机地址、用户名和密码,非常方便。
C#下直接调用mstsc.exe远程登录的话,调用之后窗体会消失,在任务管理器里面看到的mstsc.exe进程,但是看不到界面,本代码通过间接调用的方式解决了该问题。
Default.rdp里面的登录密码不是明文,而是加密的密文,该C#代码实现了登录密码的rdp加密得到密文。
完整的C#代码,vs2008工程,可编译和测试。
代码里面的Default.rdp文件(和可执行程序在同一个目录)也可以远程连接Linux主机(需要把sessionbpp:i设置为24),如果是连windows主机的话可以把sessionbpp:i:设置成32。
当然,也可以自己生成Default.rdp:打开mstsc,点击选项然后设置好参数之后,点击另存为保存得到自己的Default.rdp。
2024/5/9 1:35:07 59KB C# 远程登录 rdp
1
windows系统下的自带notepad记事本,且在原有的所有基础上新增加了其他的功能,详情可以现在博客中http://mp.blog.csdn.net/mdeditor/index/79134132进行效果预览,如果觉得可以的,可以进行下载使用!
2024/5/8 21:48:48 29.99MB 记事本
1
windows麦克风和音量的设置和获取,已经封装好了类,vs2015工程,非常好用
2024/5/8 8:13:47 30KB 麦克风 音量
1
适配python3.7win764位pygame适配python3.7win764位pygame
2024/5/8 3:52:18 4.07MB python3.7 py pygame1.9.3 pygame
1
实验一利用真值表法求取主析取范式以及主合取范式的实现实验名称:利用真值表法求取主析取范式以及主合取范式的实现实验目的:通过编程实现主析取范式以及主合取范式的真值表求法以巩固相关理论的掌握实验类型:验证实验学时:4实验环境:Windows+VC从屏幕输入含三个以内变量的合式公式(其中联结词按照从高到底的顺序出现)可用字符数组a记录输入的合式公式如:输入PQPQ!表示;
&表示;
|表示;
>表示;
-表示规范列出所输合式公式的真值表多重循环显示真值表(1表示T,0表示F,先1后0)PQA11?将赋值代入公式(可用数组b记录与a中变量对应的赋值)b[0/2/4/6]=-1,b[1/5]=P值,b[3/7]=Q值从左往右计算(用switcha[i]case对运算符进行处理):b[i+1]=!b[i+1]:b[i+1]=b[i-1]&&b[i+1]…
2024/5/7 17:40:15 251KB NJUPT C++
1
Windows10系统用户经常收到更新提醒,更新要根据自己的使用习惯、电脑配置、兼容问题等多方面综合考虑,否则就容易出问题。
比较老的电脑或配置不高的电脑,不建议更新,升级新版本之后,会让电脑变得非常卡,影响使用体验度。
对电脑稳定性要求高的用户,也不建议更新,新版本还不成熟,不可避免的会出现蓝屏、死机的情况。
今天教大家一种方法彻底关闭Windows10自动更新!
2024/5/7 5:41:45 822KB windows 10 自动更新
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡