
linux
文章平均质量分 61
charles.duan
这个作者很懒,什么都没留下…
展开
-
linux的进程管理
1.什么是进程 进程就是处于执行期的程序,但是进程不仅仅局限于一段可执行的程序代码,通常还包括其它的资源,像打开的文件,处理器的状态,地址空间等。简而言之,进程=运行中的程序+相关资源 如果说进程是操作系统的最小资源分配单位,那么线程就是最小执行单位。内核调度的对象是线程而不是进程,线程有自己独立的程序计数器,进程栈和一组进程寄存器。2.进程描述符及任务队列 进程描述符——pcb...原创 2018-05-02 23:45:53 · 148 阅读 · 0 评论 -
linux的进程调度
多任务操作系统 多任务操作系统就是能同时并发地执行多个进程的操作系统。多任务系统可以分为两类:非抢占式多任务和抢占式多任务,抢占式多任务是由调度程序来决定什么时候停止一个进程的运行,进程在被抢占之前能够运行的时间是预先设置好的,这个时间就叫进程的时间片。非抢占式多任务则只能通过进程自己主动停止运行。常用调度算法1.先来先服务算法(FCFS) FCFS是最简单的调度算法,每次调度是从就绪...原创 2018-05-03 23:51:37 · 397 阅读 · 0 评论 -
linux中的同步方法
自旋锁 自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图获得一个已经被持有的自旋锁,那么该线程就会一直进行循环—旋转—等待锁重新可用。一个被争用的自旋锁使得请求它的线程在等待锁重新可用时自旋,这样就特别浪费处理器时间,所以自旋锁不应该被长时间持有,相比于互斥锁,互斥锁会让线程阻塞,被阻塞的线程需要换入换出,这样进行上下文切换也会带来一定的开销,因此互斥锁一般适用于持锁时间更长的情况。...原创 2018-05-05 22:48:19 · 411 阅读 · 0 评论