摘要: 1.内核态和用户态 对于一台计算机来说,有些硬件的控制直接影响到计算机是否可以稳定的运行。操作系统为了维持计算机的可持续的工作,要对这些可能影响到系统稳定的因素进行严格控制,不能让用户随意进行操作。这就是操作系统区分内核态和用户态的思想。对于一些可能影响系统稳定的函数,操作系统将它们放到内核态当中, 阅读全文
posted @ 2015-03-27 16:58 qtalker 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 1 实验刚学了下利用进行Junit的单元测试,现在来记录下。JUnit是一个开源的Java编程语言的单元测试框架,应用Junit可以快速高效的对代码进行测试。现在主要利用JUnit测试如下代码,代码比较简单就不注释了,可以看出代码主要分为两个类BankAccount 和BankAccountGold... 阅读全文
posted @ 2015-03-25 16:34 qtalker 阅读(835) 评论(0) 推荐(0) 编辑
摘要: 1.实验结果 这周主要是搭建linux内核测试的环境,以及简单分析linux内核的相关函数和执行步骤。 首先是将一个内存镜像装入内核中运行的实验,这里是使用menu程序。实验结果如下。 第二个实验主要是搭建gdb的测试平台,利用gdb设置断点,将断点设置在start_kernel处。以下是实验结果 阅读全文
posted @ 2015-03-19 21:54 qtalker 阅读(170) 评论(0) 推荐(0) 编辑
摘要: checkstyle findbugs以及sourcemonitor是三个自动化测试的工具,这里介绍下它们的安装以及使用 使用步骤: CheckStyle首先要安装,选择help->Install new software进行安装点击OK接着就是点击下一步,下一步。然后在Windows prefe... 阅读全文
posted @ 2015-03-16 22:59 qtalker 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 1.介绍 操作系统为了实现支持多任务处理的需要,一般都会支持多进程的机制,所以进程的的切换是内核当中一个非常重要的功能模块,内核几个功能模块主要有 处理器管理 内存管理 磁盘管理 输入输出管理 进程管理 处理器管理 内存管理 磁盘管理 输入输出管理 进程管理 本次实验主要是模拟了内核中的进程切换机制 阅读全文
posted @ 2015-03-15 17:33 qtalker 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 博客已经大半年没有打理了,现在想重新打理下。当初写博客的理由很简单,就是想找个地方记录下自己平常所学到的东西。但是后来我发现写一篇好的博客本身就是一件很费精力的事情,很多你想总结的东西其实已经有很多人已经总结的很好了。你所做的可能只是把他们所做的重新摘抄下。而我这人又不太喜欢这么做,那种仅仅贴一道l... 阅读全文
posted @ 2015-01-20 17:37 qtalker 阅读(132) 评论(0) 推荐(0) 编辑
摘要: ASCII:利用一个字节表示的编码,编码的范围是0-127这种编码方式主要问题在于无法表示除英文字母以外的其它字符。而且为了充分利用单字节的表示字符的范围(利用单字节编码一些常用字符可以有效的减少文件的存储空间),许多厂商制定了ASCII的扩展码,比较常见的是IBM制定的已及Latin1Unicode/UCS:这两种编码其实是一种编码,主要为了解决世界各国语言文字和专业领域符号表达统一的问题。其编码长度是31位,其中低16位相同的字符称为位于同一平面的字符,其中BMP/Plane0(0x0000~0xFFFF)中包含大多数日常使用的字符。在计算机中对于Unicode/Ucs产生以下的三种表示U 阅读全文
posted @ 2014-04-02 21:36 qtalker 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 1big endian little endian 低地址保存的是整数的地位称为little endian,反之称之为big endian。(x86平台为小端)2 cpu操作的基本步骤为eip取指令译码操作3 访问内存和访问芯片的不同往一个地址写数据只是给设备发一个命令,数据不一定要保存,而从一个地址读数据也不一定是读先前保存在这个地址的数据内存只是保存数据而不会产生新的数据,但是设备不同,往往会产生新的数据。4 ARM与x86的访问外部地址的不同,其中ARM的cpu外部接总线的设备还是在cpu内部接总线的设备都有各自的地址范围,都可以像访问内存一样访问。这种方式称为内存映射I/O(Memor 阅读全文
posted @ 2013-04-05 19:37 qtalker 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 15.1位运算符1.位运算符都是要做Usual Arithmetic Conversion(其中有一步是Integer Promotion),所以在c语言中并不存在8为整数的位运算,操作数在进行运算前都至少被提升为int型了ex1:unsigned char c = 0xfc;unsigned int i = ~c;因为在~c前已经先将c转换为16位,所以为0x00fc.取反,如果理解为8位,则为0xfc取反,此时错误的结果为3.2.在一定的取值范围内,将一个整数左移1位相当于乘以2.此时一定的范围主要是指,左移不能改变最高位(符号位)3右移的规则如果是正数,最高位移入0如果为负数,最高位移入 阅读全文
posted @ 2013-04-03 20:45 qtalker 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 主要记录一些我分不太清的linux的知识,无逻辑!1ctrl+c 与 ctrl +d• [Ctrl]-c 按键如果你在Linux底下输入了错误的指令或参数,有的时候这个指令或程序会在系统底下『跑不停』这个时候怎么办?别担心, 如果你想让当前的程序『停掉』的话,可以输入:[Ctrl]与c按键(先按着[Ctrl]不放,且再按下c按键,是组合按键), 那就是 中断目前程序的按键啦!举例来说,如果你输入了『find /』这个指令时,系统会开始跑一些东西(先不要理会这个指令串的意义),此时你给他按下 [Ctrl]-c 组合按键,嘿嘿!是否立刻发现这个指令串被终止了!就是这样的意思啦![vbird@www 阅读全文
posted @ 2013-04-02 20:58 qtalker 阅读(136) 评论(0) 推荐(0) 编辑