study_log
文章平均质量分 79
legend115599
博观约取,厚积薄发
展开
-
《linux内核的设计和实现》笔记
<br /><br />1. Unix历史: 1<br />2. Linux历史: 1<br />3. 内核组成: 1<br />4. 处理器在任何时间点上的活动范围: 1<br />5. 获取内核: 1<br />6. 使用补丁: 2<br />7. 内核源码树 2<br />8. 编译内核: 2<br />9. 衍生多个编译作业 2<br />10. 内核安装 2<br />11. 内核开发的特点 2<br />1. Unix历史:<br />1969年贝尔实验室设计了一个文件系统原型,最终演化成了un原创 2010-06-06 12:29:00 · 244 阅读 · 0 评论 -
对消息队列的操作无非有下面三种类型:
<br /><br />对消息队列的操作无非有下面三种类型:1、 打开或创建消息队列<br />消息队列的内核持续性要求每个消息队列都在系统范围内对应唯一的键值,所以,要获得一个消息队列的描述字,只需提供该消息队列的键值即可;注:消息队列描述字是由在系统范围内唯一的键值生成的,而键值可以看作对应系统内的一条路经。2、 读写操作消息读写操作非常简单,对开发人员来说,每个消息都类似如下的数据结构:struct msgbuf{<br />long mtype;<br />char mtext[1];<br />}原创 2010-06-06 12:41:00 · 778 阅读 · 0 评论 -
perl学习日记1-2 概述和标量数据
<br />1. 概述<br />通过两个例子(1.4.1和1.5),了解了perl的运行过程和基本语法<br />注意到perl没有默认的多行注释,如果非要用,可以去网上查阅,还是有方法的2. 标量数据2.1 数字2.1.1.所有数字内部表示都是一样的,用的是双精度2.1.2.浮点数<br />1.25<br />255.000<br />255.0<br />7.25e45 #7.25x10 的 45 次方(一个大整数)<br />-6.5e24 # -6.5x10 的 24 次方原创 2010-06-06 12:43:00 · 306 阅读 · 0 评论 -
perl学习日记3 列表和数组
<br />1. 列表和数组<br />关键是理解数组,它的意义和c语言时一样的,不过它更猛,a[0]和a[1]可以存储不同类型的值,帅撒?1.1 访问数组元素<br />其实perl访问数组的方法和c语言时一样的,但是它不需要访问之前的那个定义过程,不需要定义类型,不需要定义大小,还要要注意的是如果访问到了没有初始化的数组,返回的可是undef?还记得undef吧<br />$blank = $fred [142_857] #这样系统时允许的,不过由于该数组元素没有初始化,得到的时un原创 2010-06-06 12:44:00 · 510 阅读 · 0 评论 -
perl学习日记4 子程序
<br />1. 子程序<br />函数的命名空间和列表,标量一样,都是独立的,不用担心重名1.1 定义一个子程序<br />sub marine {<br />$n + = 1; #全局变量$n<br />print “Hello, sailor number $n!/n”;<br />}<br /> <br />都是全局变量,私有变量前加my就行了1.2 调用子函数<br />&marine; #输出Hello, sailor number 1!<br />&marine; #原创 2010-06-06 12:45:00 · 397 阅读 · 0 评论 -
perl学习日记6哈希
<br />1. 哈希<br />思考hash 的方法是,把它看作一堆数据(a barrel of data)(参见图6-2),每一个数据都有一个相应的标签。可以通过标签访问此标签对应的元素。但其中是没有“第一个”元素的概念的。在数组中,数组元素从0,1,2 开始编号。但在hash中,没有确定的顺序,因此也没有第一个元素。只是一些key/value 对的集合。<br /><br /><br />keys 和values 均为任意的标量,但keys 通常转换为字符串。因此,如果将表达式50/20 作为k原创 2010-06-06 12:47:00 · 359 阅读 · 0 评论 -
perl学习日记7正则表达式
<br />1. 正则表达式1.1 什么是正则表达式?<br />我们将正则表达式看作一种由简单语言实现的程序,这种语言只有一个任务:查找某个字符串,返回“匹配上(it matches)”或者“不匹配(it doesnot match)”。这就是它完成的所有工作。1.2 使用简单的模式<br />$_ =“yabba dabba doo”;<br />if(/abba/){<br />print “It matched!/n”;<br />}<br />所有在双引号中的转义字符在模原创 2010-06-06 12:47:00 · 339 阅读 · 0 评论 -
perl学习日记8正则表达式的应用
1. 正则表达式的应用1.1 使用m//匹配这是m//(模式匹配)的一种简写。同qw//操作一样,可以使用任何成对的分隔符。因此,可以使用m(fred), m, m{fred}, m[fred],或者m,fred,, m!fred!, m^fred^,其它非成对的分隔符也可以。如果使用正斜线(/)作为分隔符,则可以省略掉前面的m。这就是前面用的最多的。尽量使用一个不会在模式中出现的字符作为分隔1.2 可选的修饰符1.2.1. 不区分大小写:/i1.2.2. 匹配原创 2010-06-06 12:48:00 · 369 阅读 · 0 评论 -
perl学习日记9使用正则表达式处理文件
<br />1. 使用正则表达式处理文件1.1 使用s///进行替换<br />$_ =“He’s out bowling with Barney tonight.”;<br />s/Barney/Fred/; #Barney 被Fred 替换掉<br />print “$_/n”<br /> <br />s/with (/w+)/agaist $1’s team/;<br />print “$_/n”; #为“He’s out bowling against Fred’s team ton原创 2010-06-06 12:49:00 · 533 阅读 · 0 评论 -
perl学习日记11文件检验
<br />1. 文件检验1.1 文件检测操作<br />die “Oops! A file called‘$filename’already exists./n”<br />if –e $filename; 文件已存在<br /> <br />warn “Config file is looking pretty old!/n”<br />if –M CONFIG > 28; #配置文件如果在28天都没有做出修改<br /> <br />my@ariginal_files = qw/ f原创 2010-06-06 12:50:00 · 386 阅读 · 0 评论 -
《linux内核设计与实现》学习笔记3进程管理
<br /> 1. 进程管理<br />进程包括可执行代码,打开的文件,挂起的信号,处理器状态,内核内部数据,地址空间,拥有的线程,存储全局变量的数据段。<br />linux对进程和线程不特别区分<br />linux中通常用fork()系统调用复制一个进程创建一个新的进程,分别为父进程和子进程。之后父子进程同时执行。<br />最后通过exit()系统调用退出执行。父进程可以通过wait4()查询子进程是否结束。父进程调用wait()、wait4()或waitid()之前,退出执行的进程设置为僵死原创 2010-06-08 14:18:00 · 788 阅读 · 0 评论 -
《linux内核的设计和实现》学习日记1-2简介
<br /><br />1. Unix历史: 1<br />2. Linux历史: 1<br />3. 内核组成: 1<br />4. 处理器在任何时间点上的活动范围: 1<br />5. 获取内核: 1<br />6. 使用补丁: 2<br />7. 内核源码树 2<br />8. 编译内核: 2<br />9. 衍生多个编译作业 2<br />10. 内核安装 2<br />11. 内核开发的特点 2<br />1. Unix历史:<br />1969年贝尔实验室设计了一个文件系统原型,最终演化成了un原创 2010-06-08 14:20:00 · 427 阅读 · 0 评论 -
硬件手册POW-1
<br />1. POW<br /> <br />POW unit是提供一下重要功能的处理器。<br />Work Queueing<br />Work是在work-queue entry中描述的,而它不是由hardware unit产生就是有core software产生。CN58XX集成了数据包输入硬件创建a work-queue entry并且为每个到达的数据包submints work..coresoftware 能够船舰work-queue entries并且subnit work sa d原创 2010-06-06 12:40:00 · 1055 阅读 · 1 评论 -
硬件手册PIP/IPD-1
<br /><br /> 1. PIP/IPD<br />概述:<br />PIP/IPD将数目包以适合上层软件的格式写入buffer。buffer的大小可以编程控制,可以将数据包分配到多buffer里,一支持更大的输入数据包。<br />PIP/IPD也为每个包创建分配一个工作队列入口,包括一个指向buffered packet指针,硬件分析结果,数据包查错结果。这个unit有L2-L4中检查方式,包括TCP/UDP校验和检验。它能在分析输入包之间跳过用户定义的输入。他能执行packet-instr原创 2010-06-06 12:40:00 · 1058 阅读 · 1 评论 -
linux c编程2
<br /><br />1. shell里的函数返回值........................................................................................... 1<br />2. Test语句中的文件判定:................................................................................... 2<br />3. Shell中的冒号:.原创 2010-06-06 12:39:00 · 342 阅读 · 0 评论 -
cavium函数
<br /><br />1. cavium函数........................................................................................................... 1<br />2. 多线程函数........................................................................................................原创 2010-06-06 12:33:00 · 1079 阅读 · 0 评论 -
关于sizeof()和strlen()
<br /><br />1. 关于sizeof()和strlen()..................................................................................... 1<br />2. 产生随机数.......................................................................................................... 1<br />原创 2010-06-06 12:33:00 · 264 阅读 · 0 评论 -
printf(“/110”);
<br /><br />1. printf(“/110”);......................................................................................................... 1<br />2. Sizeof测试数据类型所占空间大小.................................................................... 1<br />3. 变量申明原创 2010-06-06 12:34:00 · 440 阅读 · 0 评论 -
linux c编程1
<br /><br />1. 数据运算转换的问题.......................................................................................... 1<br />2. 查找文件.............................................................................................................. 1<br />3.原创 2010-06-06 12:37:00 · 321 阅读 · 0 评论 -
perl学习日记5输入与输出
<br />1. 输入与输出1.1 从标准输入设备输入<br />由于,行输入操作在到达文件的结尾时将返回undef,这对于从循环退出时非常方便的:<br />while (defined($line = <STDIN>)) {<br />print “I saw $line”;<br />}<br />可以这样简写:<br />while(<STDIN>){<br />print “I saw $_”;<br />}<br />下面这个东西和上面表面上没有区别,实际上它是先得到列表的所有元原创 2010-06-06 12:46:00 · 1192 阅读 · 0 评论 -
perl学习日记10更多控制语句
<br />1. 更多控制结构1.1 unless 控制结构<br />unless($fred =~ /^[A-Z_]/w*$/i){<br />print “The value of /$fred doesn’t look like a Perl identifier name./n”;<br />}<br />相当于<br />if($fred =~ /^[A-Z_]/w*$/i){<br />#什么也不做<br />}else{<br />print “The value of /$原创 2010-06-06 12:49:00 · 342 阅读 · 0 评论 -
总结操作系统进程管理部分知识
<br /><br />1 程序顺序执行时的特征: 1<br />2 程序段、数据段和PCB构成了进程的实体。 1<br />3 进程特征: 1<br />4 进程定义: 1<br />5 进程的基本状态: 1<br />6 PCB的作用: 1<br />7 PCB中的信息: 1<br />8 进程控制块的组织方式: 2<br />9 进程创建过程: 2<br />10 进程终止过程: 2<br />11 两种形式的制约关系: 2<br />12 临界区: 2<br />13 同步机制遵循的原则: 2<br原创 2010-06-06 12:29:00 · 398 阅读 · 0 评论 -
总结操作系统进程管理部分知识
<br /><br />1 程序顺序执行时的特征: 1<br />2 程序段、数据段和PCB构成了进程的实体。 1<br />3 进程特征: 1<br />4 进程定义: 1<br />5 进程的基本状态: 1<br />6 PCB的作用: 1<br />7 PCB中的信息: 1<br />8 进程控制块的组织方式: 2<br />9 进程创建过程: 2<br />10 进程终止过程: 2<br />11 两种形式的制约关系: 2<br />12 临界区: 2<br />13 同步机制遵循的原则: 2<br原创 2010-06-06 12:29:00 · 291 阅读 · 0 评论 -
信号量的应用
<br /><br />1. 信号量应用 1<br />2. 生产者消费者问题 1<br />3. 哲学家进餐问题 2<br />4. 读者写者问题 2<br />1. 信号量应用1.1 实现进程互斥<br />利用互斥信号量mutex实现,互斥信号量初始值为1.<br />在临界区前后分别加上wait(mutex)和signal(mutex)即可。但一定要注意必须成对出现,否则将造成混乱。<br />实际上也可以用Swait(mutex,1,1)和Ssignal(mutex,1,1)实现。1.2 实现前趋原创 2010-06-06 12:30:00 · 963 阅读 · 0 评论 -
进程管理续
<br /><br />1. 进程管理续.......................................................................................................... 1<br /> 1. 进程管理续1.1 进程描述符及任务结构:1.1.1.进程家族树:<br />所以进程都是PID为的init进程的后代<br />获得父进程:struct task_struct *my_parent=currnet原创 2010-06-06 12:31:00 · 276 阅读 · 0 评论 -
《linux内核设计与实现》4进程调度
<br /> <br />Linux是抢占式多任务系统,通过动态计算时间片的机制对任务进行强制切换。1.1 策略1.1.1.I/O消耗型和处理器消耗型的进程<br />前者大部分时间在提交和等待I/O请求,运行时间短,应该尽量缩短它们的响应时间,即优先调度它们。<br />后者大部分时间执行代码,应该尽量减小调度它们的频率,即优不优先无所谓,关键时延长它们的运行时间。<br />调度策略的两个矛盾点:进程响应速度和系统利用率1.1.2.进程优先级<br />Linux使用动态优先级的调度方法,原创 2010-06-11 14:00:00 · 464 阅读 · 0 评论