操作系统
文章平均质量分 63
patkritLee
practice makes perfect.
展开
-
生产者和消费者
生产者将产品交给店员,而消费者从店员处取走产品,店员一次只能持有固定的产品(比如:20),如果生产者试图生产更多的产品,店员会叫生产者停一下,如果店中有空位放产品了再通知生产者继续生产,如果店中没有产品了,店员会告诉消费者等一下。如果店中有产品了再通知消费者来取走产品。分析:1.是否涉及到多线程的问题?是!生产者、消费者2.是否涉及到共享数据?有!考虑线程的安全3.此共原创 2016-07-06 16:24:17 · 610 阅读 · 0 评论 -
JAVA与IEEE574浅谈
怎么用二进制来表示小数呢? 假设我们要用二进制来表示小数5.5,怎么搞? 按照常规思路,首先用二进制表示一下5,是101,那5.5岂不就是101.101(呵呵哒...)。 我们来看下分解过程,5=4+1,也就是1*22 + 0*21 + 1*20,即101。按照这个思路,0.101这个二进制表示的是1*2-1 + 0*转载 2016-11-26 18:21:57 · 1554 阅读 · 0 评论 -
fork()函数详解
1.fork入门知识一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于原创 2016-08-14 23:09:56 · 903 阅读 · 0 评论 -
虚拟地址和物理地址及其映射
原文:http://blog.chinaunix.net/uid-26983585-id-3364091.html前一段时间在面试总监的时候,总监问了我这样的一个问题:你个我说说物理内存和虚拟内存到底是怎么一回事?其实之前我看过这个问题,据我理解的,当时是这么回答的“进程在运行的时候,操作系统都为其分配一个4GB的地址空间,即所谓的虚拟地址空间,一般情况下,当我们的程序很大的时候,实际的物转载 2016-08-10 22:07:32 · 5150 阅读 · 1 评论 -
fread和read的区别
fread就是通过read来实现的,fread是C语言的库,而read是系统调用但是差别在read每次读的数据是调用者要求的大小,比如调用要求读取10个字节数据,read就会读10个字节数据到数组中,而fread不一样,为了加快读的速度,fread每次都会读比要求更多的数据,然后放到缓冲区中,这样下次再读数据只需要到缓冲区中去取就可以了。fread每次会读取一个缓冲区大小的数据,32位原创 2016-08-10 21:35:43 · 1233 阅读 · 0 评论 -
进程间的通信方式
1.管道通信pipe函数函数原型 int pipe(int fd[2])函数传入值 fd[2]:管道的两个文件描述符,之后就可以通过操作这两个描述符返回值 成功 0失败 -1管道定义:管道是半双工的,数据只能向一个方向流动:需要双方通信时,需要建立起两个管道:只能用于父子进程或者兄弟进程之间;单独构成一种独立的文件系统,管道对于管道两端的进程而言,就是一个文件,但不原创 2016-08-10 21:08:12 · 584 阅读 · 0 评论 -
内管管理的置换算法
1.最佳置换算法定义:最佳置换算法是指,其所选择的被淘汰的页面,将是以后永不使用的,或是在最长(未来)时间内不再被访问的页面。采用最佳置换算法,通常可保证获得最低的缺页率。但由于人们目前还无法预知一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因而该算法无法实现。但是可以利用该算法来评价其他算法。算法过程:举例说明假定系统为某进程分配了三个物理块,并考虑有原创 2016-08-10 19:13:02 · 652 阅读 · 0 评论 -
进程间的通信方式
1.无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。2.高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。3.有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信原创 2016-08-07 19:09:37 · 536 阅读 · 3 评论 -
编程思想之多线程与多进程(2)——线程优先级与线程安全
《编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程》一文详细讲述了线程、进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础。本文将接着讲一下线程优先级和线程安全。线程优先级现在主流操作系统(如Windows、Linux、Mac OS X)的任务调度除了具有前面提到的时间片轮转的特点外,还有优先级调度(Priority Schedule)的特点。优先级调转载 2016-08-06 19:46:54 · 728 阅读 · 0 评论 -
线程与进程
什么是线程什么是线程?线程与进程与有什么关系?这是一个非常抽象的问题,也是一个特别广的话题,涉及到非常多的知识。我不能确保能把它讲的话,也不能确保讲的内容全部都正确。即使这样,我也希望尽可能地把他讲通俗一点,讲的明白一点,因为这是个一直困扰我很久的,扑朔迷离的知识领域,希望通过我的理解揭开它一层一层神秘的面纱。 任务调度线程是什么?要理解这个概念,须要先了解一下操作转载 2016-08-06 16:19:35 · 412 阅读 · 0 评论 -
线程与进程之间的联系和区别
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。原创 2016-07-06 17:24:11 · 565 阅读 · 0 评论 -
线程的基本概念及状态
线程的基本概念、线程的基本状态及状态之间的关系?线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源。只拥有一点儿在运行中不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。 线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。 1.新建状态(New):原创 2016-07-06 17:10:29 · 594 阅读 · 0 评论 -
centos安装pip
http://www.cnblogs.com/Rsean/articles/5635904.html原创 2017-05-07 21:05:50 · 425 阅读 · 0 评论