OS
yiitz
码出精彩
展开
-
bochs调试指令
一:配置bochs.exe是执行模式,不能调试的。Bochs的调试工具是Bochsdbg.exe。同样,调试的时候你仍然需要进行配置。此时如果我们还使用双击.bxrc配置文件的方法显然是不行的(因为此时会运行Bochs.exe而不是Bochsdbg.exe)。所以我copy了《自己动手写操作系统》作者于渊的方法——使用bat批处理文件。新建一个批处理文件然后进行编辑。以下内容为我的bat文转载 2012-09-29 12:21:33 · 629 阅读 · 0 评论 -
AT&T语法
0.3.1 Overview 开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的Size。另外,对于某些需要被经常调用的代码,使用汇编来写可以提高性能。所以我们必须了解汇编语言,即使你有可能并不喜欢它。 如果你是计算机专业的话,在大学里你应该学习过In转载 2012-09-23 13:04:08 · 731 阅读 · 0 评论 -
AT&T汇编语言中提供的基本数据类型:
1.AT&T汇编语言中提供的基本数据类型:.ascii 非空字符'\0'(即:二进制0)结束的字符串.asciz 以空字符'\0'(即:二进制0)结束的字符串.string 以空字符'\0'(即:二进制0)结束的字符串.byte 定长1字节整型,8位.short 定长2字节整型,16位.word 定长2字节整型,16位.hword 定长2字转载 2012-09-23 22:47:48 · 1099 阅读 · 0 评论 -
vim常用插件
以下是滇狐收集和整理的一些有用的 VIM 插件,大部分插件都有自己详细的说明书,因此这里就不详细介绍每个插件的安装和使用方法了。通过这些插件,VIM 能够变成一个非常强大的平台,Happy VIMming!如果想详细了解默认的插件插件安装路径,请看这里。1 程序设计1.1 Tag List下载地址:VIM 官方站点官方描述:The “Tag List” plugin转载 2012-09-23 20:10:32 · 832 阅读 · 0 评论 -
Linux 汇编器:对比 GAS 和 NASM
Ram Narayam, 软件工程师, IBM简介: 本文解释两种最流行的 Linux® 汇编器 —— GNU Assembler(GAS)和 Netwide Assembler(NASM) —— 之间一些比较重要的语法差异和语义差异,包括基本语法、变量和内存访问、宏处理、函数和外部例程、堆栈处理以及重复执行代码块的技术方面的差异。本文的标签: linux转载 2012-09-23 23:27:17 · 647 阅读 · 0 评论 -
linux 下制作可启动 img/iso 文件
linux 下制作可启动 img/iso 文件总的来说,制作镜像文件有三种方法,cp, cat, dd 和其它专用工具。cp ,cat 和 dd都可以从设备复制文件来创建镜像。而 dd 命令更为强大,可以通过指定块大小,块多少来直接创建镜像。IMG 文件:因为cp, cat 只能从设备来制作镜像,但又没有专用工具来做 IMG 文件,故这里用 dd 命令来制作 IMG 文件。转载 2012-09-24 20:00:39 · 1021 阅读 · 0 评论 -
实模式内存分布
1M内存映射: 00000 003FF IVT Interrupt Vector Table (中断向量表) 00400 004FF BDA BIOS Data Area (BIOS数据区) 00500 00501 PRTSCR 1st byte is Print Screen Status Byte (第一字节是打印屏幕状态字节) 00501 9xxx转载 2012-09-24 18:26:36 · 1052 阅读 · 0 评论 -
epoll_wait Interrupted system call
我们在利用 gdb 调试带有 epoll_wait select sem_wat 的多线程代码的时候可能会出现非正常返回 -1 的情况,错误原因是:Interrupted system call。这是由于gdb调试的时候会在断点处插入一条中断指令,当程序执行到该断点处的时候会发送一个SIGTRAP信号,程序转去执行中断相应,进而gdb让程序停下来进行调试. 对于sem_wait\wait\转载 2012-12-09 12:37:20 · 5653 阅读 · 1 评论 -
为什么python第二次执行比第一次快?
今天写了一个python脚本,脚本大部分操作都是读取文件,第一次运行运行很慢,足足花了十几秒,而第二次几秒钟不到,让我很好奇,这是为什么呢?是python类似java的设计,第二次执行的时候代码已经编译、缓存,所以执行快了吗?于是上网看了下资料,终于在这篇文章点击打开链接知道原因:原因不在python,而在操作系统的磁盘缓存!原创 2013-09-05 22:47:58 · 2824 阅读 · 1 评论