随笔分类 -  操作系统

摘要:reference: http://blog.csdn.net/bingjie1217/article/details/12947327http://www.cnblogs.com/doit8791/archive/2012/05/20/2511001.html开始之前先简单说明下cmd文件和bat... 阅读全文
posted @ 2014-08-08 11:13 vivianC 阅读(1488) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/small_sea/article/details/4205579 阅读全文
posted @ 2012-09-08 19:53 vivianC 阅读(131) 评论(0) 推荐(0)
摘要:僵尸进程:一个子进程在其父进程还没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。僵尸进程将会导致资源浪费,而孤儿则不会。每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init来接管他,成为他的父进程。一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据 阅读全文
posted @ 2012-09-08 19:21 vivianC 阅读(226) 评论(0) 推荐(0)
摘要:转自:http://www.cnblogs.com/welkinwalker/archive/2011/01/03/1925027.html定义 线程安全:被多个并发的线程反复调用时,他会产生正确的结果。 可重入:当被多个线程调用的时候,不会引用任何共享数据。 线程安全的(Thread-Safe): 如果一个函数在同一时刻可以被多个线程安全地调用,就称该函数是线程安全的。 线程安全函数解决多个线程调用函数时访问共享资源的冲突问题。 可重入(Reentrant): 函数可以由多于一个线程并发使用,而不必担心数据错误。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重 入性... 阅读全文
posted @ 2012-09-08 18:27 vivianC 阅读(179) 评论(0) 推荐(0)
摘要:前言:最近在看该作者的《The Art of Concurrency》,里面第四章就是上面这篇文章,觉得很实用而且很有共鸣。作者基于在并行编程领域的20多年工作经验总结成下面八条简单的原则,一下子帮我把之前并行编程时的一些认识给理清了,量化了,实在是“居家旅行,并行编程,必备良药”。花了几天时间把它翻译了一下,不知道各位在看了之后是否有些共鸣呢?作者:Clay Breshears译者:并行实验室 Parallel Labs在Intel,并行化技术主要有四个步骤:分析,设计与实现,调试以及性能调优。这些步骤用来对一段串行代码进行并行化。尽管这四个步骤中的第一、三、四步都已经有了很多相关文档,但是 阅读全文
posted @ 2012-03-09 19:56 vivianC 阅读(341) 评论(0) 推荐(0)
摘要:二.多进程什么是进程。最直观的就是一个个pid,官方的说法就:进程是程序在计算机上的一次执行活动。说得简单点,下面这段代码执行的时候[cpp]1 int main() 2 { 3 printf(”pid is %d/n”,getpid() ); 4 return 0; 5 6 } 进入main函数,这就是一个进程,进程pid会打印出来,然后运行到return,该函数就退出,然后由于该函数是该进程的唯一的一次执行,所以return后,该进程也会退出。看看多进程。linux下创建子进程的调用是fork();#include <unistd.h> #includ... 阅读全文
posted @ 2012-02-08 16:18 vivianC 阅读(844) 评论(0) 推荐(0)
摘要:线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行.进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共 阅读全文
posted @ 2012-02-08 15:33 vivianC 阅读(158) 评论(0) 推荐(0)
摘要:首先要明确的一个简单的原则:软件的功能一定要建立在硬件支持的基础之上。可以说,软件实现的功能,是由硬件逻辑堆积封装而来的。那么,一个操作系统,我们知道,它具有很多内核的代码、数据结构。控制着整个计算机系统的运转,例如I/O输出、内存访问等等。现在的多进程操作系统,提供给了用户自己编程的功能,也就是让用户自己编程,自己创建进程。那么,一个问题就来了,一个进程假如需要系统的功能调用怎么办?假如让进程来自己控制那些设备的驱动,那么,难免会有恶意的用户进程来破坏;或者说低水平的程序员控制错误。那么,这部分功能就交给操作系统来进行维护。也就是说,在一个用户进程的运行过程中,它一直是处于用户态的。当需要系 阅读全文
posted @ 2012-02-08 15:13 vivianC 阅读(879) 评论(0) 推荐(0)