随笔分类 -  Operating System

摘要:死锁的定义:如果一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的时间,那么该组进程是死锁的。 产生死锁的必要条件:(产生死锁必须同时具备下面四个必要条件) 互斥条件:简单的说就是进程抢夺的资源必须是临界资源,一段时间内,该资源只能同时被一个进程所占有 请求和保持条件:当一个进程持有了 阅读全文
posted @ 2016-07-14 12:26 leno米雷 阅读(813) 评论(0) 推荐(0) 编辑
摘要:线程安全这个词对我来说已经不是很陌生的了,但是遇到一个叫做可重入函数的词,它给我的感觉和线程安全是这么的相近,但既然拿出来了,肯定是有区别的,下面就说说他们之间的区别和联系。 要先解释这两个词语才行。 线程安全:似乎是在牛客网刷题的时候看到一个正确的选项说的是,线程安全问题都是由全局变量及静态变量引 阅读全文
posted @ 2016-07-13 11:06 leno米雷 阅读(1798) 评论(4) 推荐(1) 编辑
摘要:我会用几篇博客总结一下在Linux中进程之间通信的几种方法,我会把这个开头的摘要部分在这个系列的每篇博客中都打出来 进程之间通信的方式 管道 消息队列 信号 信号量 共享存储区 套接字(socket) 进程间通信(四)—共享存储区传送门:http://www.cnblogs.com/lenomire 阅读全文
posted @ 2016-07-09 23:16 leno米雷 阅读(2499) 评论(0) 推荐(2) 编辑
摘要:我会用几篇博客总结一下在Linux中进程之间通信的几种方法,我会把这个开头的摘要部分在这个系列的每篇博客中都打出来 进程之间通信的方式 管道 消息队列 信号 信号量 共享存储区 套接字(socket) 进程间通信(五)—信号传送门:http://www.cnblogs.com/lenomirei/p 阅读全文
posted @ 2016-07-08 00:48 leno米雷 阅读(2318) 评论(2) 推荐(2) 编辑
摘要:我会用几篇博客总结一下在Linux中进程之间通信的几种方法,我会把这个开头的摘要部分在这个系列的每篇博客中都打出来 进程之间通信的方式 管道 消息队列 信号 信号量 共享存储区 套接字(socket) 进程间通信(五)—信号传送门:http://www.cnblogs.com/lenomirei/p 阅读全文
posted @ 2016-07-07 15:17 leno米雷 阅读(11523) 评论(0) 推荐(6) 编辑
摘要:我会用几篇博客总结一下在Linux中进程之间通信的几种方法,我会把这个开头的摘要部分在这个系列的每篇博客中都打出来 进程之间通信的方式 管道 消息队列 信号 信号量 共享存储区 套接字(socket) 进程间通信(一)—管道传送门:http://www.cnblogs.com/lenomirei/p 阅读全文
posted @ 2016-07-05 11:24 leno米雷 阅读(4307) 评论(0) 推荐(5) 编辑
摘要:我会用几篇博客总结一下在Linux中进程之间通信的几种方法,我会把这个开头的摘要部分在这个系列的每篇博客中都打出来 进程之间通信的方式 管道 消息队列 信号 信号量 共享存储区 套接字(socket) 进程间通信(二)—消息队列传送门:http://www.cnblogs.com/lenomirei 阅读全文
posted @ 2016-07-04 17:32 leno米雷 阅读(3469) 评论(0) 推荐(6) 编辑
摘要:在学习了Linux的进程控制之后,学习了fork函数和exec函数族,通过这些个函数可以简单的实现一份shell,就是实现一份命令行解释器,当然是简单版的,实现功能如下 还不能实现正则表达式,要实现这个我当前的代码根本不能用,要重头开始改写。。。 下面贴代码 通过gethostname获取主机名,通 阅读全文
posted @ 2016-06-25 20:42 leno米雷 阅读(1741) 评论(0) 推荐(1) 编辑
摘要:在上Linux课的时候,老师提到一句,调用vfork产生的子进程就是为了使用exec族函数来执行其他的代码逻辑。 在子进程退出的时候有两种方式,exit和exec族函数,不能使用return,为什么不能用return呢,为什么只有vfork会不让用return呢? 于是我就写了这样的代码 不出所料出 阅读全文
posted @ 2016-06-22 22:48 leno米雷 阅读(529) 评论(0) 推荐(0) 编辑
摘要:在牛客网上刷题的时候看见这么一道题 这很明显是对我对父子执行流的严峻考察,很好,我喜欢,然后我错了。。。腾讯实习生招聘的时候在线笔试题也有类似的题目,不过是把-换成可hello world而已,可见还是蛮重要的。这种题目只要画一下图很快就能理解了 显而易见的6次 贴出结果 那么接下来来个升级版的 执 阅读全文
posted @ 2016-06-22 22:18 leno米雷 阅读(506) 评论(0) 推荐(0) 编辑
摘要:好久没写博客了,学校开始实习,找了一个极破的地方,站公交将近两个小时,一天来回就要死了,说是实习,就是变着样的培训,一点实习的意思都没有,辣鸡。 这次讲解一下C++函数调用,学了这么久C语言,肯定听说过栈(数据结构啊,地址空间的栈啊之类的),函数调用就和栈密切相关。 因为地址空间内的栈是从高地址向低 阅读全文
posted @ 2016-06-20 23:07 leno米雷 阅读(1620) 评论(0) 推荐(1) 编辑
摘要:atexit函数 atexit函数的原型如下 void atexit(void (*func)(void)) 它是一个参数为返回值和参数均为空的函数指针的函数,含义是当前进程结束之前执行参数函数指针所指向的函数,使用的时候要在main中注册,一次可以注册很多函数,函数的执行顺序与注册的先后有关,关系 阅读全文
posted @ 2016-06-20 19:35 leno米雷 阅读(333) 评论(0) 推荐(0) 编辑
摘要:第一部分移步传送门召唤!!:http://www.cnblogs.com/lenomirei/p/5562086.html 上回说了Linux内核实现中断会把中断分为两部分进行处理,上回讲了上部分,这回讲下部分的设计思路 下半部的实现机制 软中断 tasklet:是通过软中断实现的,但和软中断有所不 阅读全文
posted @ 2016-06-08 09:54 leno米雷 阅读(1193) 评论(0) 推荐(1) 编辑
摘要:这次介绍一下操作系统的进程调度算法 操作系统的调度分为三种:1.远程调度(创建新进程);2.中程调度(交换功能的一部分);3.短程调度(下次执行哪个进程) 这次讲述的就是短程调度,可以简单的看作咱们平时所说的进程调度啦 当发生下面几种情况的时候会调用短程调度器,然后就看下次执行那个进程啦 时钟中断 阅读全文
posted @ 2016-06-07 20:05 leno米雷 阅读(2332) 评论(0) 推荐(1) 编辑
摘要:Linux实现中断处理 内核是怎么知道应用程序要调用系统调用的呢?或者说应用程序怎么通知系统内核自己需要执行一个系统调用,这是通过软中断实现的,通过引发一个异常来促使系统切换到内核态去执行异常处理程序 PS:什么时候会从用户态切换到内核态呢?1.中断;2.陷阱;3.系统调用 中断分为两种,硬中断和软 阅读全文
posted @ 2016-06-05 22:41 leno米雷 阅读(5001) 评论(0) 推荐(1) 编辑
摘要:实现了一个简单的进度条,主要技术啥的算不上,但有几个需要注意的点 首先是回车符,回车符可不是\n,我们可以把\n看成是两个动作的合体,分别是,回车和换行,都有自己对应的符号,这利用回车符一直在同一个位置输出造成动态的假象 因为没有用到\n和换行,但是C语言的printf是行缓冲输出,什么意思呢?就是 阅读全文
posted @ 2016-06-01 11:19 leno米雷 阅读(927) 评论(0) 推荐(0) 编辑
摘要:哈哈,我又回来了,简单的重新装了一边虚拟机,又把vim配置了一遍,这回有信心把youcomplete的安装方法贴出来了,先给个权威的链接,然后给出具体步骤,保证没问题可以安装成功 http://www.centoscn.com/image-text/install/2016/0424/7115.ht 阅读全文
posted @ 2016-06-01 10:29 leno米雷 阅读(1966) 评论(0) 推荐(0) 编辑
摘要:我的机子炸了,然后我就得重新装我的虚拟机,再然后我就想去弄好我的共享文件夹安装vmtools,安装的时候出现了一个问题,我忘记以前是怎么解决的,又困扰了我好久 Searching for a valid kernel header path... The path "" is not a valid 阅读全文
posted @ 2016-05-31 16:19 leno米雷 阅读(2147) 评论(0) 推荐(0) 编辑
摘要:看啥都不会的菜鸟怎么进行vim配置 如果你想让你的vim和VS差不多你一定需要这个网址 http://www.open-open.com/lib/view/open1429884437588.html 在开始使用Linux之后,一定不可避免的使用vim编辑器,一开始使用的时候vim可能不太友好(一定 阅读全文
posted @ 2016-05-26 17:24 leno米雷 阅读(539) 评论(2) 推荐(0) 编辑
摘要:在学习了linux的完全公平调度算法(CFS)后,记录下学习轨迹 这篇文章主要讲述,完全公平调度算法的工作方式,和一些调度知识 我们可以通过ps -l看到当前正在运行的进程的详细信息其中 F:表示进程旗标,标识进程所拥有的权限,当我切换到root的时候为4表示拥有root权限,为1仅有fork()权 阅读全文
posted @ 2016-05-22 16:17 leno米雷 阅读(8922) 评论(1) 推荐(2) 编辑