操作系统原理
文章平均质量分 79
忧郁剑客
主要从事B/S方面的技术开发和研究
展开
-
多线程开发扫盲系列第一编:进程与进程间通信
1. 操作系统的进程与线程管理 2. 进程的启动和终止 3. 进程通信 1.进程与线程管理 进程(process)是一个具有独立功能的程序在一个数据集合上的一次动态执行过程。这个定义太理论化了,用一句通俗的话取代它:进程可以简单理解为一个正在运行的程序。 程序与进程的区别可以用图形像地表达出来。 Window设计了两种代码运行环境,用转载 2013-08-22 09:41:47 · 894 阅读 · 0 评论 -
进程与线程的一个简单解释
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 1. 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 2. 假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含转载 2013-05-10 12:22:12 · 570 阅读 · 0 评论 -
C# .Net 多进程同步 通信 共享内存 内存映射文件
节点通信存在两种模型:共享内存(Shared memory)和消息传递(Messages passing)。 内存映射文件对于托管世界的开发人员来说似乎很陌生,但它确实已经是很远古的技术了,而且在操作系统中地位相当。实际上,任何想要共享数据的通信模型都会在幕后使用它。 内存映射文件究竟是个什么?内存映射文件允许你保留一块地址空间,然后将该物理存储映射到这块内存空转载 2013-08-21 13:11:40 · 4179 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别 一、预备知识-程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是转载 2012-05-02 11:40:00 · 381 阅读 · 0 评论 -
C#中的线程 -- 同步基础(同步本质,线程安全,线程中断)
内容预告: 线程入门(线程概念,创建线程)同步基础(同步本质,线程安全,线程中断,线程状态,同步上下文)使用线程(后台任务,线程池,读写锁,异步代理,定时器,本地存储)高级话题(非阻塞线程,扶起和恢复) 同步的本质:下面的列表总结了.NET同步线程的工具: 阻塞函数: Sleep:阻塞线程一定时间。Join:阻塞另一个线程至本线程完成。 加锁结构: lock:保证只有一转载 2013-09-12 11:50:43 · 545 阅读 · 0 评论