操作系统
文章平均质量分 80
cong1024
知其然更要知其所以然
展开
-
进程与线程
1.进程和线程进程是伴随着操作系统被提出的,随着计算机技术的发展,进程暴露出一些弊端。一是,**进程是资源分配的单位,创建、切换等过程中的时空开销较大**,因此需要引进轻量级进程;二是由于多对称处理机(SMP)出现,可以满足多个运行单位,但是**多个进程并行运行的开销过大**。因此,线程作为能独立运行的基本单位而出现。在OS中,通常将进程作为资源分配的基本单位,将线程作为独立运行和独立调度的基本单位。原创 2017-07-19 16:40:29 · 362 阅读 · 1 评论 -
系统调用
系统调用(system call)是内核提供给应用程序的一系列函数接口。系统调用将应用程序的请求通知内核,调用相应的内核函数处理请求,处理完成后,将处理结果返回给应用程序,user space 只能通过系统调用来访问kernel提供的函数。中断有两个重要的属性,中断号和中断处理程序。中断号用来标识不同的中断,不同的中断具有不同的中断处理程序。在操作系统内核中维护着一个中断向量表(Interrupt Vector原创 2017-07-28 13:04:26 · 519 阅读 · 2 评论 -
Nginx解决惊群现象
惊群现象:所有的工作进程都在等待一个socket,当socket客户端连接时,所有工作线程都被唤醒,但最终有且仅有一个工作线程去处理该连接,其他进程又要进入睡眠状态。Nginx通过控制争抢处理socket的进程数量和抢占ngx_accept_mutex_held锁解决惊群现象。只有一个ngx_accept_mutex_held锁,谁拿到锁,谁处理该socket的请求。如果当前进程的连接数>原创 2017-07-27 21:02:25 · 2160 阅读 · 0 评论 -
死锁
1.死锁 (1)死锁:一组进程中的每个进程都在等待某个事件,而只有这组进程中的其他被阻塞的进程才可以触发该事件,这是就称这组进程发生死锁。死锁是永久性的。(2)可重用资源:不会因为使用而被耗尽和消耗的资源。如I/O通道或一块内存(3)可消耗资源:当被一个进程获取时就消耗了的资源。如缓冲区中的消息(4)死锁产生的条件: 互斥。有一次只有一个进程可以使用的资源,其他进程不能访问已分配给原创 2017-07-21 22:30:24 · 408 阅读 · 0 评论 -
Linux虚拟地址空间分布
Linux虚拟地址空间分布原创 2017-06-16 23:35:40 · 3781 阅读 · 0 评论 -
深入程序编译链接和运行
深入程序编译-链接-运行原创 2017-06-16 10:44:48 · 889 阅读 · 0 评论 -
32位Linux系统虚拟地址映射
80386原创 2017-06-15 14:54:52 · 1391 阅读 · 0 评论