![](https://img-blog.csdnimg.cn/3ec6a5ec0c1040c3a4b570036fc2c339.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统
文章平均质量分 76
os实践和课堂笔记啦
bulibuli蛋
nuaa->seu bulibuli蛋
展开
-
【vmware ubuntu】python获取usb磁盘插拔
最新超简单的python获取usb插拔信息的方法原创 2022-12-01 17:15:14 · 630 阅读 · 0 评论 -
操作系统实践 job10
目录1. 串行查找 job10/sfind.c1.1 功能1.2 实现思路1.3 结果展示2. 并行查找 job10/pfind.c2.1 功能2.2 图示2.3 参考代码2.4实现思路2.5 结果展示1. 串行查找 job10/sfind.c1.1 功能程序 sfind 在文件或者目录中查找指定的字符串,并打印包含该字符串的行,示例如下:在文件 file.c 中查找字符串 main 找到包含字符串 main 的行 打印文件名和该行....原创 2022-05-27 21:58:42 · 497 阅读 · 1 评论 -
操作系统实践 job9 基于信号量实现线程同步
指路job8:操作系统实践 job8_LarsGyonX的博客-CSDN博客采取了记录型信号量来模拟。理论课上学的部分。信号量数据结构剩余资源数是value,mutex和cond是等待进程。typedef struct{ int value; pthread_mutex_t mutex; pthread_cond_t cond;}sema_t;信号量的初始化初始化剩余资源数,mutex和cond;void sema_init(sema_t *sema,int原创 2022-05-11 01:01:26 · 316 阅读 · 1 评论 -
操作系统实践 job8
job8/pc.c: 使用条件变量解决生产者、计算者、消费者问题+ 系统中有3个线程:生产者、计算者、消费者+ 系统中有2个容量为4的缓冲区:buffer1、buffer2+ 生产者 - 生产'a'、'b'、'c'、‘d'、'e'、'f'、'g'、'h'八个字符 - 放入到buffer1 - 打印生产的字符+ 计算者 - 从buffer1取出字符 - 将小写字符转换为大写字符,按照 input:OUTPUT 的格式打印 - 放入到buffer2+ 消费者 - 从b原创 2022-05-02 00:14:50 · 744 阅读 · 0 评论 -
操作系统实践 job7
job7/pi1.c: 使用2个线程根据莱布尼兹级数计算PI莱布尼兹级数公式: 1 - 1/3 + 1/5 - 1/7 + 1/9 - ... = PI/4 主线程创建1个辅助线程 主线程计算级数的前半部分 辅助线程计算级数的后半部分 主线程等待辅助线程运行結束后,将前半部分和后半部分相加前置学习内容创建线程等待线程需要等待线程结束再结束进程,否则会有一半结果未输出。思路创建线程worker,主线程是master,worker负责前半,master负责后半,二原创 2022-05-01 23:26:06 · 477 阅读 · 0 评论 -
操作系统 进程管理(三)——进程同步方法简述
目录进程同步的基本概念1)两种形式的制约关系2)Critical section(临界区)3)Mutual exclusion(互斥)4)Dead lock(死锁)5)Starvation(饥饿)6)面包问题(锁的概念)同步机制原则实现进程互斥的方法方法一 基于软件的解决方案算法一 x算法二 x算法三 x算法四——Peterson算法 1981 √算法五——Backery算法作为补充方法二 禁用硬件中断(一)锁方法 TS互斥(二)交换.原创 2022-04-16 17:29:02 · 2783 阅读 · 0 评论 -
操作系统 进程管理(二)——内核与原语
操作系统内核内核是计算机硬件的第一层扩充软件。内核中通常都包含以下功能:(1)中断处理(2)时钟管理(3)进程管理中的进程调度与分派,进程的创建和撤消,用于实现进程同步的原语,常用的进程通信原语等。(4)存储器管理中的内存分配与回收的功能模块,用于实现内存保护和对换功能的模块等。(5)设备管理中的驱动程序,缓冲管理,用于实现设备分配和设备独立性的功能模块等。原语内核在执行某些基本操作时,往往是利用原语操作实现的。原语本身也是由若干条指令所构成、用于完成一定功能的一个过程。它与原创 2022-04-16 00:03:58 · 1117 阅读 · 0 评论 -
操作系统 进程管理(一)——进程的含义与状态
目录程序的执行特征程序的顺序执行及其特征程序并发执行的特征进程的基本概念进程的含义与特征(一) 进程的定义(二)进程的结构(三) 进程与程序的区别与联系(四) 进程的特征(五) 进程的类型进程控制块PCB进程控制块的作用进程控制块中的信息PCB的组织方式进程的基本状态与生命周期(1)新(New)状态(2)就绪(Ready)状态(3)执行状态(4)阻塞(Block)状态/等待/睡眠(5)唤醒状态(6)终止(Terminated原创 2022-04-15 23:47:19 · 2260 阅读 · 2 评论 -
操作系统实践 job5
结果展示可以实现>,>>,<重定向,pwd,cd,exit操作有一定的健壮性比如:可以识别">log"和"> log"目录结果展示job5/sh2.cmain()mysh2()child()redirect()知识点思路job5/sh2.c实现shell程序,要求在第1版的基础上,增加文件重定向功能重定向输入 重定向输出 重定向追加指路job3:实现了基础的sh1.c操作系统实践 job3_La.原创 2022-03-28 21:44:40 · 1041 阅读 · 0 评论 -
旧代码push到git上
泪目,老忘记怎么push,写一篇博客理理思路吧。git add .git commit -m "jobx"git push -u origin master如果有需要的话,后续跟进新仓库简历和第一次push,还有新建分支啥的。原创 2022-03-25 17:12:04 · 227 阅读 · 0 评论 -
操作系统实践 job4
job4/myls.cmyls.c的功能与系统ls程序相同 opendir readdir closedir 在命令行中输入 man opendir 获取帮助 列出指定目录下的文件,例子如下: $ ./myls job4/testabc 列出当前目录下的文件,例子如下: $ cd job4/test $ ./mylsabc 前置知识点引:先了解一下数据结构!DIR *dp; // 指向目录struct dirent *dirp; // 指原创 2022-03-25 16:47:28 · 1518 阅读 · 0 评论 -
操作系统实践 job3
job3/myecho.c题目: myecho.c的功能与系统echo程序相同 接受命令行参数,并将参数打印出来,例子如下: $ ./myecho xx$ ./myecho a b ca b c 思路: C程序的main函数原型,argc:命令行参数的个数,argv:命令行参数数组 int main(int argc, char *argv[]); 因此从第二行开始输出指令中的字符串就行 #include <stdio.h>原创 2022-03-22 00:36:49 · 2751 阅读 · 0 评论