实现一个简单的shell(命令行解释器),类似于bash,csh等。
本设计的主要目的在于学会如何在Unix系统下创建进程和管理进程。
2024/5/30 12:05:06 1.81MB shell 课程设计 Linux
1
《操作系统原理》实验指导书实验一生产者-消费者模型模拟进程调度一、实验任务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
实验二存储管理一、目的和要求1.实验目的(1)掌握时间片轮换的进程调度算法;
(2)掌握带优先级的进程调度算法;
(3)选用面向对象的编程方法。
2、实验学时:2学时3、实验要求(1)自定义PCB的数据结构;
(2)使用带优先级的时间片轮转法调度进程,每运行一个时间片,优先级减半。
(3)命令集A)create随机创建进程,进程的优先级与所需要的时间片随机决定;
B)ps查看当前进程状态C)sleep命令将进程挂起D)kill命令杀死进程E)quit命令退出二、实验内容根据教师指定的实验课题,完成设计、编码、测试工作。
1
本书是介绍Linux与UNIX编程接口的权威著作。
Linux编程资深专家MichaelKerrisk在书中详细描述了Linux/UNIX系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。
本书涵盖了逾500个系统调用及库函数,并给出逾200个程序示例,另含88张表格和115幅示意图。
本书总共分为64章,主要讲解了高效读写文件,对信号、时钟和定时器的运用,创建进程、执行程序,编写安全的应用程序,运用POSIX线程技术编写多线程程序,创建和使用共享库,运用管道、消息队列、共享内存和信号量技术来进行进程间通信,以及运用套接字API编写网络应用等内容。
本书在汇聚大批Linux专有特性(epoll、inotify、/proc)的同时,还特意强化了对UNIX标准(POSIX、SUS)的论述,彻底达到了“鱼与熊掌,二者得兼”的效果,这也堪称本书的最大亮点。
本书布局合理,论述清晰,说理透彻,尤其是作者对示例代码的构思巧妙,独具匠心,仔细研读定会受益良多。
本书适合从事Linux/UNIX系统开发、运维工作的技术人员阅读,同时也可作为高校计算机专业学生的参考研习资料。
2023/5/16 10:22:28 28.86MB linux unix
1
这是以MFC界面显示先来先服务的进程调度模拟控制源码,有创建进程,阻塞进程唤醒进程的功能,还有友好提示和执行进程的进度条显示,很智能哦!界面也很清爽好看,对学习MFC界面设计和进程算法有很大协助,值得收藏!
2023/3/4 4:09:50 3.33MB 操作系统 先来先服务 MFC界面
1
将要绑定的exe文件作为单纯的数据放在目标exe文件的新区快当中,目标文件在执行时检测能否有该区块,有,则创建新文件并创建进程,执行完毕后删除新建文件
2023/2/5 23:02:52 13.13MB PE文件捆绑 修改PE头部
1
《linux/unix系统编程手册(上、下册)》是引见linux与unix编程接口的权威著作。
linux编程资深专家michaelkerrisk在书中详细描述了linux/unix系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。
《linux/unix系统编程手册(上、下册)》涵盖了逾500个系统调用及库函数,并给出逾200个程序示例,另含88张表格和115幅示意图。
《linux/unix系统编程手册(上、下册)》总共分为64章,主要讲解了高效读写文件,对信号、时钟和定时器的运用,创建进程、执行程序,编写安全的应用程序,运用posix线程技术编写多线程程序,创建和使用共享库,运用管道、消息队列、共享内存和信号量技术来进行进程间通信,以及运用套接字api编写网络应用等内容。
2020/11/3 21:30:40 22.06MB Linux Unix 系统编程手册 非影印
1
这本书很好,适合于初学者。
里面精讲了很多的案例,非常的有用。
目录雷蒙序简介Linux文档工程小组“公告”译者序第一部分Linux内核前言第1章硬件基础与软件基础61.1硬件基础61.1.1CPU71.1.2存储器81.1.3总线81.1.4控制器和外设81.1.5地址空间91.1.6时钟91.2软件基础91.2.1计算机语言91.2.2什么是操作系统111.2.3内核数据结构13第2章内存管理152.1虚拟内存抽象模型152.1.1请求调页172.1.2交换172.1.3共享虚拟内存182.1.4物理寻址模式和虚拟寻址模式182.1.5访问控制182.2高速缓存192.3Linux页表202.4页分配和回收212.4.1页分配222.4.2页回收222.5内存映射222.6请求调页232.7Linux页缓存242.8页换出和淘汰252.8.1减少缓冲区和页缓存大小252.8.2换出SystemV共享内存页262.8.3换出和淘汰页272.9交换缓存272.10页换入28第3章进程293.1Linux进程293.2标识符313.3调度323.4文件343.5虚拟内存353.6创建进程363.7时间和定时器373.8执行程序383.8.1ELF393.8.2脚本文件40第4章进程间通信机制414.1信号机制414.2管道424.3套接字444.3.1SystemV的进程间通信机制444.3.2消息队列444.3.3信号量454.3.4共享存储区47第5章PCI495.1PCI的地址空间495.2PCI配置头505.3PCI的I/O和存储地址空间515.4PCI-ISA桥515.5PCI-PCI桥515.5.1PCI-PCI桥:PCII/O和存储地址空间的窗口515.5.2PCI-PCI桥:PCI配置周期和PCI总线编号525.6LinuxPCI初始化535.6.1Linux内核PCI数据结构535.6.2PCI设备驱动程序535.6.3PCI的BIOS函数565.6.4PCI修正过程57第6章中断处理与设备驱动程序606.1中断与中断处理606.1.1可编程中断控制器616.1.2初始化中断处理数据结构616.1.3中断处理626.2设备驱动程序636.2.1测试与中断646.2.2直接存储器访问(DMA)656.2.3存储器666.2.4设备驱动程序与内核的接口666.2.5硬盘696.2.6网络设备74第7章文件系统777.1第二个扩展文件系统EXT2787.1.1EXT2系统的inode节点797.1.2EXT2系统的超级块807.1.3EXT2系统的组描述符807.1.4EXT2系统的目录817.1.5在EXT2文件系统中查找文件817.1.6在EXT2文件系统中改变文件的大小827.2虚拟文件系统837.2.1VFS文件系统的超级块847.2.2VFS文件系统的inode节点847.2.3注册文件系统857.2.4装配文件系统857.2.5在虚拟文件系统中查找文件877.2.6卸载文件系统877.2.7VFS文件系统的inode缓存877.2.8目录缓存887.3缓冲区缓存887.3.1bdflush内核守护进程907.3.2update进程907.4/proc文件系统917.5特殊设备文件91第8章网络928.1TCP/IP网络概述928.2Linux中的TCP/IP网络层次结构958.3BSD套
2018/9/3 9:31:32 18.23MB 书籍
1
(1)进程状态至少有运行、就绪和阻塞,相应设置运行队列、就绪队列、等待队列。
(2)设计创建进程、撤消进程、调度进程、阻塞进程、唤醒进程函数执行相应功能。
调度算法可选:时间片轮转法、先来先服务、优先级等 (3)设计用户界面(可视化界面或键盘命令),以交互式方式创建进程、撤消进程、调度进程、阻塞进程、唤醒进程等功能。
(4)能动态显示每个队列的每个进程的当前状态。
(5)程序结构合理,运行稳定、界面友好、能检查操作错误,并给出错误信息。
2019/8/26 21:32:47 384KB 进程 管理 模拟 仿真
1
一个系统安全类工具,可查看进程、线程、DLL模块等信息,可挂起恢复进程、查看进程文件,结束进程等。
功能:1.查看进程信息进程信息:名称、PID、用户、线程数、句柄数、命令行等。
模块信息:模块名称、公司、路径,非微软公司模块用红色标识。
线程信息:当前进程所执行的所有线程。
2.创建进程创建进程用于启动一个进程,只能启动可执行文件。
3.禁止进程创建防止一个EXE程序自动运行。
4.结束和挂起进程结束进程或结束任务用于停止一个程序的运行,两者差不多一样,所不同的是只要有窗口的程序才能被结束任务,支持多选(使用Ctrl和Shift键)。
挂起进程即暂停进程的运行。
5.系统启动项这里的程序可以在系统启动时加载运行,根据情况该删则删。
6.内核模块当前系统加载的内核模块,一般为驱动程序,红色表示非微软的。
7.SSDT当前的系统服务函数,红色表示被修改过,多为杀软所为,不必在意。
8.搜索模块看一个模块被哪些进程所调用。
9.卸载模块删除一个进程中的模块。
10.增加了输出进程DLL信息的功能,顺便把运行库也加里面了。
2016/6/15 14:26:54 1.08MB 进程 DLL
1
共 12 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡