操作系统
文章平均质量分 71
stone_flower_rain
这个作者很懒,什么都没留下…
展开
-
僵尸进程和孤儿进程
linux提供了一种机制可以保证只要父进程想知道子进程结束时的状态信息, 就可以得到。这种机制就是: 在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等。 但是仍然为其保留一定的信息(包括进程号the process ID,退出状态the termination status of the process,运行时间the amount of CPU time taken原创 2015-08-28 08:40:52 · 345 阅读 · 0 评论 -
优先级反转及解决办法
(1)什么是优先级反转简单从字面上来说,就是低优先级的任务先于高优先级的任务执行了,优先级搞反了。那在什么情况下会生这种情况呢?假设三个任务准备执行,A,B,C,优先级依次是A>B>C;首先:C处于运行状态,获得CPU正在执行,同时占有了某种资源;其次:A进入就绪状态,因为优先级比C高,所以获得CPU,A转为运行状态;C进入就绪状态;第三:执行过程中需要使用转载 2015-09-01 18:50:15 · 599 阅读 · 0 评论 -
缓冲技术
在操作系统中,引入缓冲的主要原因,可归结为以下几点:1.改善CPU与I/O设备间速度不匹配的矛盾。例如一个程序,它时而进行长时间的计算而没有输出,时而又阵发性把输出送到打印机。由于打印机的速度跟不上CPU,而使得CPU长时间的等待。如果设置了缓冲区,程序输出的数据先送到缓冲区暂存,然后由打印机慢慢地输出。这时,CPU不必等待,可以继续执行程序。实现了CPU与I/O设备之间的并行工作转载 2015-09-01 16:31:50 · 2245 阅读 · 0 评论 -
linux用户态和内核态理解
1、特权级 Intel x86架构的cpu一共有0~4四个特权级,0级最高,3级最低,硬件上在执行每条指令时都会对指令所具有的特权级做相应的检查。硬件已经提供了一套特权级使用的相关机制,软件自然要好好利用,这属于操作系统要做的事情,对于UNIX/LINUX来说,只使用了0级特权级别和3级特权级。也就是说在UNIX/LINUX系统中,一条工作在0级特权级的指令具有了CP转载 2015-09-08 17:16:14 · 441 阅读 · 0 评论 -
进程和线程的区别
线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行.进程和线程都是由操作系统所体会的程序运行的基本单元,系转载 2015-09-08 17:46:03 · 307 阅读 · 0 评论 -
linux C++ 多线程 读者写者实现
linux C++ 多线程 读者写者实现:/*readerAndWriter.cpp*/#include #include #include #include int buffer_has_item = 0;pthread_mutex_t mutex;void* writer_function(void){ while(1){ pthread_mutex_l原创 2015-09-15 20:49:04 · 1726 阅读 · 0 评论 -
linux下C/C++,多线程pthread
linux下C/C++,多线程pthread ·线程创建 函数原型:int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void *(*start_rtn)(void),void *restrict arg); 返回值:若是成功建立线程返回0,否则返回错误的编号。转载 2015-09-15 19:22:09 · 536 阅读 · 0 评论 -
Linux下多线程编程
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/本文作者: 姚继锋 (2001-08-11 09:05:00) 黄鹏程(2009-03-13) converse (2009-01-15) 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的 Unix也支转载 2015-09-15 22:14:39 · 383 阅读 · 0 评论