![](https://img-blog.csdnimg.cn/8754272e3aff449f9a5459397d24a468.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统
文章平均质量分 89
操作系统
俊夫小瞳
咸鱼
展开
-
操作系统:shell程序统计C文件中系统函数调用次数(含代码)
按照解题思路编写代码就行。以下说明关键代码:1、只看C源程序文件for file in ${folder}/*.cdo…done${folder}/*.c代表folder这个目录下的以.c结尾的文件。2、统计C文件file中关键词key的出现次数grep -o $key $file |wc -l所以只要循环执行这个语句,并把结果存入一个TXT文件即可得到每个文件中每个关键词出现的次数。3、在文件中构建一个表,横坐标代表关键字key,纵坐标代表文件file。首先构建表头,表头应该是纵坐标文件file。f原创 2022-06-26 10:36:31 · 653 阅读 · 0 评论 -
操作系统:可变分区管理实现内存的动态申请与释放(含代码)
固定分区存储管理将内存空间划分为若干个位置和大小固定的分区。可变分区存储管理不会预先划分内存分区,而是在进程装入内存时根据进程大小动态地建立分区。也就是说,最开始的时候,内存就只有一个大分区(假设这个分区大小为1000)。当一个新作业要求装入时,必须找到一个足够大的空闲区。如果找到的空闲分区大小等于作业需要的大小,则把该空闲分区分配给作业。如果找到的空闲分区大小大于作业需要的大小,则把该空闲分区分成两部分,一部分分配给作业,另一部分作为一个较小的空闲分区登记下来以备分配。如下图所示,假如一个新作业需原创 2022-06-26 10:29:03 · 2468 阅读 · 0 评论 -
操作系统:通过共享内存和信号量实现进程间通信(含代码)
本博代码有一个问题:只有父子进程的某一方在读取,没有父子交替读取。我也不知道为什么,但是应付作业还是可以的。1、原理说明我是这样理解题目的,进程A一行一行地读取某个文件,并把一行的内容存入共享内存中,等待进程B或者进程C将其读走并将共享内存清空后再继续读取下一行的内容,直到文件结束。而进程B和进程C都等待着进程A在共享内存中放入数据后并发互斥地读取缓冲区并将缓冲区清空,也就是说,共享内存缓冲区的内容每次只能由进程B或者进程C中的一个读取。如下图所示。从上图我们可以总结出:进程A和进程B之间有互斥关系;进原创 2022-06-22 10:44:14 · 967 阅读 · 0 评论 -
操作系统:哲学家就餐问题的奇偶解决方法(含代码)
1. 原理说明0、1、2、3、4为哲学家⓪、①、②、③、④为筷子哲学家就餐问题是一种一个进程需要两个临界资源的问题。如果每位哲学家都先拿自己左边的筷子,那么此时没有冲突,每位哲学家都可以拿到自己左边的筷子。但是接下来每位哲学家都去拿自己右边的筷子时,右边的筷子已经被右边的哲学家拿走了,那么所有的哲学家就只能等着自己右边的哲学家把其左边的筷子放下才能继续就餐,因此整个程序会陷入永久阻塞。这种每个进程都在等待其他进程释放资源或者是等待其他进程给出所需数据而无限期陷入僵持的状态,称为死锁。为了解决哲学家就餐原创 2022-06-20 12:47:46 · 5434 阅读 · 8 评论