上一页 1 ··· 39 40 41 42 43 44 45 46 47 ··· 49 下一页
摘要: 进程是所有操作系统的核心概念,同样在linux上也不例外。主要内容:进程和线程进程的生命周期进程的创建进程的终止1. 进程和线程进程和线程是程序运行时状态,是动态变化的,进程和线程的管理操作(比如,创建,销毁等)都是有内核来实现的。Linux中的进程于Windows相比是很轻量级的,而且不严格区分进程和线程,线程不过是一种特殊的进程。所以下面只讨论进程,只有当线程与进程存在不一样的地方时才提一下线程。进程提供2种虚拟机制:虚拟处理器和虚拟内存每个进程有独立的虚拟处理器和虚拟内存,每个线程有独立的虚拟处理器,同一个进程内的线程有可能会共享虚拟内存。内核中进程的信息主要保存在task_struct 阅读全文
posted @ 2012-08-20 17:42 wang_yb 阅读(15391) 评论(3) 推荐(5) 编辑
摘要: 在尝试内核开发之前,需要对内核有个整体的了解。主要内容:获取内核源码内核源码的结构编译内核的方法内核开发的特点1. 获取内核源码内核是开源的,所有获取源码特别方便,参照以下的网址,可以通过git或者直接下载压缩好的源码包。http://www.kernel.org2. 内核源码的结构目录说明arch特定体系结构的代码block块设备I/O层crypo加密APIDocumentation内核源码文档drivers设备驱动程序firmware使用某些驱动程序而需要的设备固件fsVFS和各种文件系统include内核头文件init内核引导和初始化ipc进程间通信代码kernel像调度程序这样的核心子 阅读全文
posted @ 2012-08-16 10:20 wang_yb 阅读(13514) 评论(0) 推荐(2) 编辑
摘要: 本篇简单介绍内核相关的基本概念。主要内容:单内核和微内核内核版本号1. 单内核和微内核原理优势劣势单内核整个内核都在一个大内核地址空间上运行。1. 简单。2. 高效:所有内核都在一个大的地址空间上,所以内核各个功能之间的调用和调用函数类似,几乎没有性能开销。一个功能的崩溃会导致整个内核无法使用。微内核内核按功能被划分成各个独立的过程。每个过程独立的运行在自己的地址空间上。1. 安全:内核的各种服务独立运行,一种服务挂了不会影响其他服务。内核各个服务之间的调用涉及进程间的通信,比较复杂且效率低。Linux的内核虽然是基于单内核的,但是经过这么多年的发展,也具备微内核的一些特征。(体现了Linux 阅读全文
posted @ 2012-08-15 23:33 wang_yb 阅读(18679) 评论(2) 推荐(4) 编辑
摘要: 之所以用源码编译的方式安装mono和monodevelop,是因为通过yum安装的mono不是最新版本,而且monodevelop不能建 asp.net MVC3的工程。而且通过源码安装,可以进一步了解mono的各个项目之间的关系。我用的Fedora16系统1. mono的源码编译安装下载mono的最新源码,github上的源码编译时总是报找不到 gmcs.exe的错误。我是在mono的官网上下的最新源码,地址:https://wrench.mono-project.com/Wrench/index.aspx?show_all=true我下的是mono-2.11.3版 # tar jxv... 阅读全文
posted @ 2012-07-29 10:25 wang_yb 阅读(9885) 评论(1) 推荐(2) 编辑
摘要: 最近为了学习C语言,看了一本C的入门书,即《写给大家的看的C语言书》。这本书非常通俗易懂,全书32章,每章都很短,个人觉得很适合初学者。下面是摘抄的一些笔记,供自己以后复习用。============================= chapter03 ============================= printf不同数据类型时的格式符: %c 打印字符 %s 打印字符串 %d 打印数字(整数) %.2f 打印小数(.2表示打印2位小数) ========================================================... 阅读全文
posted @ 2012-07-19 09:37 wang_yb 阅读(1057) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-07-19 08:54 wang_yb 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 线程中最繁琐的应该要算线程同步的问题,在理解线程同步之前,首先需要了解线程同步中经常提及的2个概念。即线程锁和线程安全。主要内容:线程锁线程安全1. 线程锁首先明确的是,线程锁是迫不得已而使用的技术。也就是说,在多线程中应用中,应尽量构造不用使用线程锁的方法。线程锁主要有以下3个问题:容易出错:使用线程锁的代码稍不留神就会出错,而且由于是多线程的环境,错误不一定会每次都出现,很难调试。损害性能:增加了获取和释放锁的操作,显然影响了性能。阻塞线程:锁的意义在于使得多个线程依次访问某个资源,所以必然带来线程的阻塞,甚至导致死锁。避免使用线程锁有以下注意事项:尽量避免使用一些共享数据(比如 stat 阅读全文
posted @ 2012-06-12 13:34 wang_yb 阅读(866) 评论(0) 推荐(0) 编辑
摘要: 1. JavaScript是分段分析执行的,并不像一般的解释性语言那样一句一句解释执行。 这里一个段是指<script ...></script> 2. 定义函数的2种方法: function myfunc(){}; 在一个段中重复定义,只保留最后一次定义,覆盖之前定义 var myfunc = function(){}; 和变量一样, 3. 函数的caller属性可以取得此函数的调用者,如果caller为null,则函数是在全局作用域中被调用的 4. eval()函数动态执行的代码并不创建新的作用域, 普通的函数执行时会创建新的作用域 5. js的函数也像对象一样可以 阅读全文
posted @ 2012-01-31 21:42 wang_yb 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 由于工作的需要,越来越多的接触到linux系统。最近看了《Linux与Unix Shell》这本书,安装书的章节整理了一些自己认为比较重要的命令,方便以后查阅。No.001 文件安全与权限1. umask 决定了新建文件的权限 2. 软链接(符号链接) ln -s source_path target_pathNo.002 find和xargs1. find pathname -options [-print -exec -ok] 其中exec参数的命令格式: 'command-' {} \; 注意必须包含【{} \;】 -perm 按权限来查找 ex. find . -per 阅读全文
posted @ 2011-12-30 10:41 wang_yb 阅读(6400) 评论(0) 推荐(1) 编辑
摘要: APM的介绍请参见《CLR Via C# 第3版》笔记之(二十一) - 异步编程模型(APM)。EAP是Event-based Asynchronous Pattern的缩写,指基于事件的异步模式。主要内容:EAP和APM的比较APM转换为TaskEAP转换为Task1. EAP和APM的比较EAP是基于事件的异步模型,比如winform中很多事件***Changing,***Changed,***Completed等等。这里的异步是指这些事件方法(即***Changing方法,***Completed方法等)是被异步调用的。但是这些事件方法执行时是同步的,比如***Changing方法执行时 阅读全文
posted @ 2011-12-01 16:19 wang_yb 阅读(2965) 评论(2) 推荐(3) 编辑
上一页 1 ··· 39 40 41 42 43 44 45 46 47 ··· 49 下一页