基本概念1. 进程的基本概念线程(thread)是进程(processes)中某个单一顺序的控制流,也被称为轻量进程(lightweight processes)。进程是表示资源分配的基本单位,又是调度运行的基本单位。 例如: 用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。 然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CP...
分类:
编程语言 时间:
2014-06-08 17:59:31
阅读次数:
218
有时候我们希望我们所写的exe在机器上同一时间只能有一个实例进行运行。通常我们会采取遍历当前所有的进程,如果有的进程exe所在的物理路径就是当前exe的物理路径的话,那么说明这个exe已经启动过一次了,就不再启动了。但是注意,这里有一些需要注意的小细节。
有时候对于编写一个应用程序的守护进程的时候,也要用到这个遍历方法。即我需要另外启动一个进程,这个进程启动后,要查看所有的进程,看看其所检测...
分类:
其他好文 时间:
2014-06-08 17:20:29
阅读次数:
289
直接消耗包括: CPU寄存器需要保存和加载, 系统调度器的代码需要执行, TLB实例需要重新加载, CPU 的pipeline需要刷掉。
间接消耗:多核的cache之间得共享数据。间接消耗对于程序的影响要看线程工作区操作数据的大小。...
分类:
编程语言 时间:
2014-06-08 16:42:43
阅读次数:
279
TCP的数据被封装在一个IP数据报中:
TCP首部如下图所示:
下面以此讲解这些字段的含义。
16位源端口号、16位目的端口号。用于寻找发送端和接收端应用进程。一个IP地址(IP首部)加一个端口号(TCP首部)称为一个套接字,一对套接字可唯一确定一个TCP连接。
32位序号。用来标识数据字节流中的字节,它的值表示该报文段中第一个数据字...
分类:
其他好文 时间:
2014-06-08 15:33:06
阅读次数:
227
Windows 结构图
Windows系统核心结构和组件
以上截图清晰的表现了Windows的主要结构,使我们对系统的构成有个大概的认识,下面介绍一下Windows会话登录大致流程:
1、内核模式的系统线程初始化Windows执行体和内核,最后阶段Smss(会话管理)进程。
2、Smss负责完成一系列操作,如打开额外页面文件,创建系统环境变量等,并将Csrss....
ios中的多线程的用法总结
1、进程的基本概念
(1)每一个进程都是一个应用程序,都有独立的内存空间,一般来说一个应用程序存在一个进程,但也有多个进程的情况
(2)同一个进程的线程共享内存中的内存和资源
2、多线程的基本概念
(1)每一个程序都有一个主线程,程序启动时创建(调用main来启动)。
(2)多线程技术表示,一个应用程序有多个线程,使用多线程能提供CPU的利用率,防止主线程被堵塞。
(3)任何有可能堵塞主线程的任务不要在主线程执行(如:访问网络)。
(4)主线程的生命周期和应用程序绑定着,程序...
分类:
移动开发 时间:
2014-06-08 14:50:29
阅读次数:
336
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon
)是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
简介
memcached是一套分布式...
分类:
其他好文 时间:
2014-06-08 10:26:57
阅读次数:
226
同步的内容在《UNP2》里把它看作了进程间通信,我觉得其实tongbuzhishi...
分类:
系统相关 时间:
2014-06-08 10:10:51
阅读次数:
330
ELF是类Unix类系统,当然也包括Android系统上的可执行文件格式(也包括.so和.o类文件)。可以理解为Android系统上的exe或者dll文件格式。理解ELF文件规范,是理解Android系统上进程加载、执行的前提。下面我们就来一步步了解这ELF到底是个啥玩意儿(以Arm 32 ELF格式为主)!当然,网上关于ELF的介绍已经非常多,最好的手册还是直接看ELF官方的手册,我这里只是对ELF的文件做个纲领性介绍,然后直奔主题,比如.GOT .PLT或者R_Arm_Jump_Slot,R_Arm_R...
分类:
移动开发 时间:
2014-06-08 05:43:49
阅读次数:
405
Android系统内核基于Linux2.6+内核,因此,其在进程内存管理方面的很多机制和Linux是很相像的。首先,让我们来看一个典型的Android进程的内存镜像(App进程和Native本地进程略有差别,但原理是一样的):
和Linux一样,Android提供了基于/proc的“伪文件”系统来作为查看用户进程内存映像的接口(cat /proc/pid/maps)。可以说,这是Android系统内核层开放给用户层关于进程内存信息的一扇窗户。通过它,我们可以查看到当前进程空间的内存映射情况,模块加载情况以...
分类:
移动开发 时间:
2014-06-08 03:04:05
阅读次数:
342