生产者消费者算法模拟目的:掌握信号的使用方法和P、V操作的定义,掌握使用P、V操作实现进程之间同步与互斥的方法,加深对进程同步互斥概念的理解。
设计要求:设计一程序,由一个进程创建三个子进程,三个子进程一个是生产者进程,两个是消费者进程,父子进程都使用父进程创建的共享存储区进行通信,由生产者进程将一个数组中的十个数值发送到由5个缓冲区组成的共享内存中,两个消费者进程轮流接收并输出这十个数值,同时将两个消费者进程读出的数值进行累加求各和。
2025/4/17 1:26:01 106KB 生产者消费者
1
前言1引言11.1什么是操作系统?31.1.1所有延长机器的作业系统41.1.2作为一个资源管理器的作业系统61.2操作系统的历史71.2.1第一代(1945年至1955年)真空管71.2.2第二代(1955年至1965年)晶体管和批处理系统81.2.3第三代(1965年至1980年)的集成电路101.24第四代(1980年至今)个人电脑151.3计算机硬件检查19l.3.1处理器191.3.2内存231.3.3磁盘261.3.4胶带271.3.5I/O设备27(I/O即输入输出)1.3.6总线3013.7启动计算机331.4操作系统动物园331.4.1大型机操作系统341.4.2服务器操作系统341.4.3多处理器的操作系统341.4.4个人电脑操作系统351.4.5掌上电脑操作系统351.4.6嵌入式操作系统.351.4.7传感器节点的操作系统361.4.8实时操作系统361.4.9智能卡操作系统371.5操作系统的概念371.5.1流程381.5.2地址空间401.5.3文件401.5.4输入/输出431.5.5保护441.5.6壳牌441.5.7系统发育个体发育重演461.6系统调用491.6.1流程管理系统调用521.6.2文件管理系统调用561.6.3目录管理系统调用571.6.4杂项系统调用581.6.5在Windows的Win32API591.7操作系统结构621.7.1单片系统621.7.2分层系统631.7.3微内核641.7.4客户-服务器模型671.7.5虚拟机671.7.6出的内核711.8根据C的WORLD721.8.1C语言721.8.2头文件731.8.3大的编程项目741.8.4运行时模型751.9操作系统上的研究761.10本书的其余部分的概要771.11公制单位781.12概要792进程和线程2.1工序832.1.1过程模型842.1.2进程创建862.1.3进程终止882.1.4流程层次结构892.1.5进程国家902.1.6实施流程912.1.7多多建模的建模932.2螺纹952.2.1线程使用情况952.2.2古典的线程模型1002.2.3POSIX线程1042.2.4在用户空间中实现的线程1062.2.5在内核中实现的线程1092.2.6混合实现1102.2.7调度激活1112.2.8弹出式线程1122.2.9使单线程代码中使用多线程技术1142.3进程间通信1172.3.1静态条件1172.3.2关键区域1192.3.3忙等待的互斥1202.3.4睡眠和唤醒1252.3.5信号灯1282.3.6互斥1302.3.7显示器1342.3.8消息传递1402.3.9壁垒1442.4调度1452.4.1调度1452.4.2批处理系统的调度1522.4.3调度互动系统1542.4.4调度实时系统1602.4.5政策与机制1612.4.6线程调度1622.5经典的IPC问题1632.5.1哲学家就餐问题1642.5.2读者和作者的问题1672.6进程和线程的研究1682.7概要169习题95  第3章存储管理99  3.1无存储器抽象99  3.2一种存储器抽象:地址空间101  3.2.1地址空间的概念101  3.2.2交换技术103  3.2.3空闲内存管理104  3.3虚拟内存106  3.3.1分页107  3.3.2页表108  3.3.3加速分页过程109  3.3.4针对大内存的页表111  3.4页面置换算法113  3.4.1最优页面置换算法114  3.4.2最近未使用页面置换算法114  3.4.3先进先出页面置换算法115  3.4.4第二次机会页面置换算法115  3.4.5时钟页面置换算法116  3.4.6最近最少使用页面置换算法116  3.4.7用软件模拟lru117  3.4.8工作集
2025/2/26 1:24:41 84.5MB 操作系统
1
编写一个单处理机下的进程调度程序,模拟操作系统对进程的调度。
要求:1.能够创建指定数量的进程,每个进程由一个进程控制块表示。
2.实现先来先服务调度算法:进程到达时间可由进程创建时间表示。
3.实现短作业优先调度算法:可指定进程要求的运行时间。
(说明:对不可剥夺的短作业优先算法,当作业运行时间相等时,优先调度进程号小的进程执行;
对可剥夺式的短作业优先算法,即选最短剩余时间的进程进行运行,在剩余时间相同的情况下,选择到达时间早的进程进行运行)4.实现时间片轮转调度算法:可指定生成时间片大小。
(说明:新进程到来时插入到就绪队列的队尾,当进程P运行完一个时间片时,若同时有进程Q到达,则先在就绪队列队尾插入新到达的进程Q,之后再插入进程P)5.实现动态优先级调度算法:可指定进程的初始优先级(优先级与优先数成反比,优先级最高为0),优先级改变遵循下列原则:进程在就绪队列中每停留一个时间片,优先级加1,进程每运行一个时间片,优先级减3。
(说明:本算法在优先级相同的情况下,选择到达时间早的进程进行运行)测试用例格式如下:输入:调度算法   进程号/到达时间/运行时间/优先级/时间片输出:调度顺序/进程号/开始运行时间/结束运行时间/优先级其中调度算法选项为:1----先来先服务,2----短作业优先,3----最短剩余时间优先,4----时间片轮转,5----动态优先级
2024/12/3 15:14:28 12KB 进程调度
1
使用WIN32API实现:父进程:创建无名管道及子进程,子进程继承父进程的句柄从管道读取子进程写入的字符串并显示在屏幕上等待子进程结束,之后,父进程结束子进程:继承父进程的管道向管道中写入一个字符串子进程结束
2024/8/20 11:17:29 5.27MB 进程的通信 管道 父进程 子进程
1
第1篇游戏和外挂初识篇第1章认识游戏和外挂1.1游戏安全现状1.2什么是外挂1.3内存挂与游戏的关系1.4游戏的3个核心概念1.4.1游戏资源的加/解密1.4.2游戏协议之发包模型1.4.3游戏内存对象布局1.5外挂的设计思路1.6反外挂的思路1.7本章小结第2篇外挂技术篇第2章五花八门的注入技术2.1注册表注入2.2远线程注入2.3依赖可信进程注入2.4APC注入2.5消息钩子注入2.6导入表注入2.7劫持进程创建注入2.8LSP劫持注入2.8.1编写LSP2.8.2安装LSP2.9输入法注入2.10ComRes注入第3章浅谈无模块化3.1LDR_MODULE隐藏3.2抹去PE“指纹”3.3本章小结第4章安全的交互通道4.1消息钩子4.2替代游戏消息处理过程4.3GetKeyState、GetAsyncKeyState和GetKeyBoardState4.4进程间通信4.5本章小结第5章未授权的Call5.1CallStack检测5.2隐藏Call5.2.1Call自定义函数头5.2.2构建假栈帧5.3定位Call5.3.1虚函数差异调用定位Call5.3.2send()函数回溯定位Call5.4本章小结第6章Hook大全6.1Hook技术简介6.2IATHook在全屏加速中的应用6.3巧妙的虚表Hook6.3.1虚表的内存布局6.3.2C++中的RTTI6.3.3Hook虚表6.4DetoursHook6.4.1Detours简介6.4.2DetoursHook的3个关键概念6.4.3DetoursHook的核心接口6.4.4DetoursHook引擎6.5高级Hook6.5.1S.E.H简介6.5.2V.E.H简介6.5.3硬件断点6.5.4S.E.HHook6.5.5V.E.HHook6.5.6检测V.E.HHook6.6本章小结第7章应用层防护7.1静态保护7.2动态保护7.2.1反dump7.2.2内存访问异常Hook7.3本章小结第3篇游戏保护方案探索篇第8章探索游戏保护方案8.1分析工具介绍8.1.1GameSpider8.1.2KernelDetective8.2定位保护模块8.2.1定位ring0保护模块8.2.2定位ring3保护模块8.2.3定位自加载模块8.3分析保护方案8.3.1ring3保护方案8.3.2ring0保护方案8.4本章小结第4篇射击游戏安全专题第9章射击游戏安全9.1自动开枪9.1.1易语言简介9.1.2易语言版自动开枪外挂9.2反后坐力9.2.1平衡Y轴法9.2.2AutoIt脚本法9.3DirectXHack9.3.1DirectX简介9.3.2用Direct3D绘制图形9.3.3D3D9的Hack点9.3.4D3D9Hook9.4本章小结第5篇外挂检测技术篇第10章外挂的检测方法10.1代码篡改检测10.2未授权调用检测10.3数据篡改检测10.3.1吸怪挂分析10.3.2线程转移和消息分流10.4本章小结附录A声明附录B中国计算机安全相关法律及规定
2024/7/29 21:32:26 181.87MB 游戏攻防
1
利用钩子技术控制进程创建(源码),能够对想学习钩子的朋友起到帮助作用。
2024/3/14 1:21:46 11KB 钩子 控制 进程创建
1
X64inlinehookexplorer.exe-_-CreateProcessInternalW监视进程创建.vc2008+WIN764测试通过.
2024/1/28 16:32:56 37KB X64 inline hook
1
用c#实现的进程调度演示工具,能模拟进程创建,删除,阻塞,唤醒,调度
2024/1/3 19:24:56 392KB 进程调度
1
计算机操作系统模拟实现进程管理模拟:实现操作系统进程管理功能,如实现进程的控制(进程创建,状态转换、进程撤销),进程并发执行。
文件管理模拟:实现文件系统的管理,如目录管理,创建文件,打开文件,读写文件,删除文件等功能。
内存管理模拟:实现内存的三种请求分页算法设备管理模拟:实现设备的分配回收等功能。
2023/9/27 1:24:48 317KB 操作系统 课程设计 Java 进程管理
1
实验内容:编写一个单处理机下的进程调度程序,模仿操作系统对进程的调度。
要求:能够创建指定数量的进程,每个进程由一个进程控制块表示。
实现先来先服务调度算法:进程到达时间可由进程创建时间表示。
实现短作业优先调度算法:可指定进程要求的运行时间。
(说明:对不可剥夺的短作业优先算法,当作业运行时间相等时,优先调度进程号小的进程执行;
对可剥夺式的短作业优先算法,即选最短剩余时间的进程进行运行,在剩余时间相同的情况下,选择到达时间早的进程进行运行)实现时间片轮转调度算法:可指定生成时间片大小。
(说明:新进程到来时插入到就绪队列的队尾,当进程P运行完一个时间片时,若同时有进程Q到达,则先在就绪队列队尾插入新到达的进程Q,之后再插入进程P)实现动态优先级调度算法:可指定进程的初始优先级(优先级与优先数成反比,优先级最高为0),优先级改变遵循下列原则:进程在就绪队列中每停留一个时间片,优先级加1,进程每运行一个时间片,优先级减3。
(说明:本算法在优先级相同的情况下,选择到达时间早的进程进行运行)测试用例格式如下:输入:调度算法   进程号/到达时间/运行时间/优先级/时间片输出:调度顺序/进程号/开始运行时间/结束运行时间/优先级其中调度算法选项为:1----先来先服务,2----短作业优先,3----最短剩余时间优先,4----时间片轮转,5----动态优先级
2023/3/15 17:29:21 2KB 进程调度
1
共 14 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡