第一章 为什么要“千头万绪”

http://blog.csdn.net/borland82/article/details/2590195#comments

进程(processes)

进程含有内存和资源。。。内存可达2GB。。。资源包括核心对象,USER资源,GDI资源。。。进程本身不能执行,只是提供一个安置内存和线程的地方。。。(UNIX不同,UNIX中,进程和线程是相同的东西,线程的幻觉是由runtime library产生的,操作系统毫无所悉)

内存

code.只读性质。。。

data.程序中所有变量(但不包括局部变量),可区分为全局变量和静态变量。。。

stack.调用程序中的栈空间。。。其中包括局部变量。。。每个线程产生时分配一个堆栈。。。同时系统会动态扩充。。。

线程(threads)

进程中的某块内存。。。cpu中的寄存器。。。

context switching

硬件发出一个中断(interrupt),cpu取得当前线程的当前状态。。。即把所有寄存器拷贝到堆栈中,再把它从堆栈中拷贝到一个context结构。。。这样就存储了线程的状态。。。

要切换不同的线程,操作系统应该先切换该线程所隶属的进程的内存(也就是切换一套memory context----page directory 和page table)。。。然后恢复该线程放在context结构中的寄存器值。。。整个过程成为context switching

race conditions(竞争条件)

atomic operations(原子操作)

cpu指令是非常低阶的----一条c语句可分为多条机器指令。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值