
Linux
文章平均质量分 83
Silence723
这个作者很懒,什么都没留下…
展开
-
Linux的常用命令
Linux常用指令,Linux基础知识原创 2016-07-01 10:30:47 · 2071 阅读 · 0 评论 -
Linux中的task_struct结构体
我们都知道,在广义上,所有的进程信息都被放在一个叫做进程控制块的数据结构中,这个可以理解为进程属性的集合。这里的进程控制块也就是所谓的PCB,他是一个非常大的数据结构,那么它到底有多大呢?如果没什么意外,这个结构体可能是这个宇宙中最大的单个变量了,一个结构体就有好几k那么大,想想他包含了一个进程的所有信息,这么庞大也不足为怪了。LINUX内核代码纷繁复杂,千头万绪,这个结构体是系统进程在执行过程中原创 2016-07-26 14:52:01 · 2455 阅读 · 0 评论 -
常用的操作系统的进程调度算法
1、调度算法要达到的目标:(1)公平性考量: 让每个进程尽量平均的占用CPU;(2)效率考量: 尽量增大CPU的吞吐率,让CPU在所有时间基本上处于忙碌状态;(3)响应时间考量: 让交互用户之间的响应时间达到最小;(4)回转(TurnAround): 让批处理用户等待输出的时间尽可能的小;(5)吞吐率(ThroughPut): 让一段时间内CPU尽可能多的处理任务; 但在原创 2016-07-26 14:54:31 · 1259 阅读 · 0 评论 -
可重入函数与线程安全之间的区别与联系
1、什么是线程安全? 一个函数被称为线程安全的(thread-safe),当且仅当被多个并发进程反复调用时,它会一直产生正确的结果。反之,如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-unsafe)。所以,有这么四类函数称为线程不安全的:- 不保护共享变量的函数;- 函数状态随着调用改变的函数;- 返回指向静态变量指针的函数;- 调用线程不安全函数原创 2016-07-26 15:17:52 · 1019 阅读 · 0 评论 -
死锁产生的必要条件及其处理办法
虽然进程在运行过程中,可能发生死锁,但死锁的发生也必须具备一定的条件,死锁的发生必须具备以下四个必要条件。 1)互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。 2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻原创 2016-07-26 15:50:37 · 9866 阅读 · 0 评论 -
进程间通信(上)
进程间通信的方式:命名管道和匿名管道、消息队列、信号量、共享内存等这几种方式,下面我们对其进行一一解读。原创 2016-07-02 10:18:33 · 543 阅读 · 0 评论 -
time_wait()是什么状态?
TIME_WAIT在 TCP 的状态流程图中是一个很容易被误解的状态。它是表示socket可以进入和留存相当长一段时间的状态,如果你的系统中有很多 socket 处于TIME_WAIT状态,那么当你需要创建新的 socket 连接的时候可能会受到影响,这也会影响到你的程序的扩展性。1、TIME_WAIT状态原理 通信双方建立TCP连接后,主动关闭连接的一方就会进入T原创 2016-07-27 12:16:54 · 1553 阅读 · 0 评论 -
TCP为什么是进行三次握手与四次挥手?
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接。(1)位码即tcp标志位:有6种标示:SYN(synchronous建立联机)、 ACK(acknowledgement 确认) 、PSH(push传送、ST(reset重置)、 URG(urgent紧急) 、Sequence number(顺序号码) Acknowledge number(确认号码)。原创 2016-07-27 12:19:48 · 2824 阅读 · 0 评论