![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统IE
IE
久菜
这个作者很懒,什么都没留下…
展开
-
什么是死锁,怎么避免死锁
死锁(Deadlock)是指在并发系统中,两个或多个进程或线程因互相等待对方释放资源而陷入无限等待的状态,无法继续执行下去。当死锁发生时,系统无法提供所需的资源,导致进程或线程无法继续执行,造成系统的停滞。互斥条件(Mutual Exclusion):一个资源一次只能被一个进程或线程占有,其他进程或线程必须等待。请求与保持条件(Hold and Wait):一个进程或线程在持有至少一个资源的同时,还可以请求其他进程或线程占有的资源。原创 2023-08-02 09:51:43 · 138 阅读 · 0 评论 -
linux常见命令
7.mv:移动文件和目录,也可用于重命名文件和目录。11.chmod:修改文件或目录的权限(访问控制)。9.touch:创建空文件或更新已有文件的时间戳。12.chown:修改文件或目录的所有者。13.chgrp:修改文件或目录的所属组。10.grep:在文件中搜索指定模式。14.find:根据条件搜索文件。15.man:查看命令的帮助手册。4.mkdir:创建目录。5.rm:删除文件或目录。6.cp:复制文件和目录。8.cat:显示文件内容。原创 2023-07-20 17:11:53 · 117 阅读 · 0 评论 -
关于GDP调试
说出一些常见的指令break(或缩写为b):设置断点,例如 b main 在 main 函数处设置断点run(或缩写为r):运行程序。step(或缩写为s):单步执行程序,进入函数内部。next(或缩写为n):单步执行程序,跳过函数内部。continue(或缩写为c):继续执行程序,直到下一个断点或程序结束。print(或缩写为p):打印变量的值,例如 p x 打印变量 x 的值。backtrace(或缩写为bt):显示当前调用堆栈。watch:设置观察点,当指定变量的值发生变化时中断程序原创 2023-07-19 16:04:27 · 866 阅读 · 0 评论 -
关于线程同步互斥
这两个操作在线程同步中是相辅相成的,因为条件变量的等待唤醒机制是不提供线程访问限制,那就会造成最开始的数据竞争的结果,所以需要互斥锁。比如某一个线程在释放锁的过程中,另一个线程想获取锁,那是不可能的,这就保证了锁资源的同步性,进而保证共享资源的同步性。刚才说了其他线程可能会进行等待,那锁资源空闲的时候就需要有一种方式去通知某个线程,去唤醒它们进行锁资源的竞争。互斥锁的作用主要就是确保任意时刻只有能有一个线程能够获得对资源的访问权,当某一个线程获得了锁资源,其他线程要进行等待,直到那个线程释放锁资源。原创 2023-07-19 15:51:43 · 361 阅读 · 0 评论 -
获取最小文件的大小
广度优先:优先计算出此目录下所有文件的大小,再进入到下一子目录。具体实现方式是维护一个队列,将文件初始路径插入,赋值给临时变量后将该路径弹出,并判断此路径是否是目录,是的话就优先将此目录下的所有文件计算大小,然后再继续走子目录。深度优先:只要目录下有子目录就一直递归到无子目录,然后分别计算该目录下的所有文件大小,最后回溯至上一目录继续此操作。原创 2023-07-18 16:22:17 · 150 阅读 · 0 评论 -
linux下编写一个函数,计算目录下总文件大小
在代码中,entryPath 是指向目录项的完整路径,通过调用 entryPath.c_str() 将其转换为 C 风格的字符串,以满足 stat 函数的参数要求。它接受一个指向已经打开的目录的指针 dirp,并返回指向 struct dirent 结构体的指针,该结构体包含了读取到的目录项的信息。其中,path 参数是要获取信息的文件路径,buf 参数是指向 struct stat 结构体的指针,用于存储获取的文件信息。当所有目录项都被读取完毕时,readdir 函数将返回空指针,表示已经到达目录末尾。原创 2023-07-18 10:36:09 · 552 阅读 · 0 评论 -
什么是原子性与可见性
原子性:原子性是指一个操作或一系列操作要么全部执行成功,要么全部不执行,中间不能被中断。换句话说,原子操作是不可分割的,要么完全执行,要么完全不执行,没有中间状态。原子性保证了多个线程或进程并发执行时数据的一致性。在并发编程中,原子性非常重要,特别是在共享资源的读写操作中。如果多个线程同时修改同一共享资源,并且这些修改不是原子性的,就可能导致数据不一致的问题。可见性:可见性是指一个操作对其他线程的影响在合理的时间内能够被其他线程观察到。原创 2023-07-17 09:43:09 · 587 阅读 · 0 评论 -
程序执行过程发生了什么
链接器会解析目标代码文件中的符号引用(如函数调用),并将其与相应的符号定义进行关联。最终,链接器将所有的代码和数据段组合在一起,生成可执行文件。在本例中,预处理结果就是将stdio.h 文件中的内容插入到test.c中了。总结起来,预处理、编译、汇编和链接是将高级语言源代码转换为可执行文件的关键步骤。它们在不同的阶段对源代码进行处理和转换,以便最终生成可以在计算机上运行的二进制代码。这一步产生的文件是 .o文件,是将汇编代码转换成机器码(二进制格式)的过程。此时产生的是 .i文件,这是一个文本文件。原创 2023-07-15 16:45:55 · 274 阅读 · 0 评论 -
进程和线程的区别
线程和进程在资源占有和内核文件结构方面的区别:资源占有:进程:线程:总的来说,。原创 2023-07-14 09:22:01 · 197 阅读 · 0 评论 -
一个线程如果处于持有锁的状态,而主线程需要它结束并返回,此时的主线程需要怎么做?
以下是针对主线程要求持有锁的线程退出的几种可能的解决方法的综合罗列:原创 2023-07-13 15:59:33 · 253 阅读 · 0 评论 -
TCP/IP传输过程中为什么要分片传输
TCP/IP传输过程中为什么要分片传输原创 2023-07-11 17:49:05 · 1865 阅读 · 0 评论 -
打开百度网站过程涉及哪些协议
打开百度网站过程涉及哪些协议原创 2023-07-11 17:24:55 · 2123 阅读 · 0 评论 -
操作系统如何保证每个进程有独立的空间
操作系统如何保证每个进程有独立的空间原创 2023-07-11 16:08:46 · 421 阅读 · 0 评论