前言:
开发操作系统是为了给应用程序提供一个方便、安全、一致的访问接口,以屏蔽硬件的复杂性。我们可以将操作系统理解为资源的统一抽象表示,可以被应用程序请求和访问。资源包括内存,文件等,一旦操作系统为应用程序创建了这些资源的抽象表示,就必须管理它们的使用。现代操作系统采用进程来管理应用程序的执行。
进程的概念:
1.一个具有以下特征的活动单元:一组指令序列的执行、一个当前状态和相关的系...
分类:
其他好文 时间:
2014-06-03 06:28:55
阅读次数:
272
看了erlang的一些开源网络框架RabbitMQ、Ranch,他们都使用多个进程同时accept一个socket。这种方式在使得socket端口监听的工作分担了更多的调度机会,但是,在erlang中,socket接受一个新连接后,如果想让另一个进程处理消息,就要显式的调用gen_tcp:controlling_process(Socket, Pid)。所以问题来了,erlang多个进程同时监听一个socket安全吗?文章将会重点讨论这个问题及对这个问题做优化。...
分类:
其他好文 时间:
2014-06-03 03:52:52
阅读次数:
218
目录
一:进程标识符(ID)
二:进程操作
2.1创建一个进程
2.2 fork函数出错情况
2.3创建一个共享空间的子进程
2.4退出程序
2.5设置进程所有者
三:执行程序
3.1 exec函数
3.2 执行解释器文件
3.3在程序中执行Shell命令
四:关系操作符
4.1等待进程退出
4.2 等待指定的进程
进程控制
—— 一步
一:进程...
分类:
系统相关 时间:
2014-06-03 03:25:02
阅读次数:
376
一、死锁
所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。
百科百科
当两个以上的运算单元,双方都在等待对方停止运行,以取得系统资源,但是没有一方提前退出时,这种状况,就称为死锁。维基百科
1. 顺序死锁
最少有两个锁,一个线程获取到A锁需要获取B锁才能进行操作,而另外一个线程获取到了B锁,需...
分类:
编程语言 时间:
2014-06-03 03:15:52
阅读次数:
245
本文参考《Android系统源代码情景分析》,作者罗升阳。
一、Binder库(libbinder)代码:
~/Android/frameworks/base/libs/binder
----BpBinder.cpp
----Parcel.cpp
----ProcessState.cpp
--...
分类:
其他好文 时间:
2014-06-02 23:59:15
阅读次数:
444
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多...
分类:
编程语言 时间:
2014-06-02 23:11:22
阅读次数:
399
总的来说,正确的做法是优先通过配置文件,再在具体机器上进行相应进程的启动/停止操作。
网上一些资料说在调整配置文件的时候,优先使用主机名而不是IP进行配置。
总的来说添加/删除DataNode和TaskTracker的方法非常相似,只是操作的配置项和使用的命令有微小差异。
1. DataNode
1.0 配置文件
在namenode下修改配置文件conf/mapred-site.xml。
关键参数dfs.hosts和dfs.hosts.exclude。
注意:不同hado...
分类:
其他好文 时间:
2014-06-01 10:45:08
阅读次数:
340
今天复习了windows线程的调度,优先级等相关内容。以为将一个进程和它的线程都设为优先级最低,那么该进程将在电脑空闲的时候才会运行。我突然联系到有的程序比方说腾讯QQ或者屏保程序是不是将要调用的线程设为优先级最低,等到电脑空闲或空闲一段时间(具体时间程序当然可以调)才开始调用呢?...
分类:
其他好文 时间:
2014-06-01 10:05:57
阅读次数:
266
1. 线程基础
概念
1). 线程全称控制线程
2). 多线程的优势:
a) 比进程方便,可以共享相同的内存空间及文件描述符
b) 可以用于多个任务,而这些任务如果用单进程来实现是串行,在多线程里面由于CPU的调度可以实现穿插执行
c) 用于交互程序,将用户输入输出与其他部分分开,优化性能
...
分类:
编程语言 时间:
2014-05-31 21:44:34
阅读次数:
417
Qt 作为一种跨平台的基于 C++ 的 GUI系统,能够提供给用户构造图形用户界面的强大功能。自从
1996 年 Qt 被 Trolltech公司发布以来,该系统成为世界上很多成功的图形用户应用所使用的主要系统。更为重要的是,Linux 操作系统的桌面环境系统
KDE 也是基于 Qt构造的。目前,Q...
分类:
其他好文 时间:
2014-05-31 18:39:22
阅读次数:
308