代码改变世界

随笔分类 -  Linux

GeekOS:Project1. Loading Executable Files

2009-06-14 14:14 by 无常, 5848 阅读, 收藏, 编辑
摘要: 一、项目设计目的 熟悉ELF文件格式,了解GeekOS系统如何将ELF格式的可执行程序装入到内存,建立内核进程并运行的实现技术。二、项目设计要求 1、修改/geekos/elf.c文件:在函数Parse_ELF_Executable( )中添加代码,分析ELF格式的可执行文件(包括分析得出ELF文件头、程序头,获取可执行文件长度,代码段、数据段等信息),并填充Exe_Format数据结构中的域值。... 阅读全文

GeekOS:二、Project0

2009-06-02 18:23 by 无常, 9321 阅读, 收藏, 编辑
摘要: 项目0的实现主要由以下步骤完成(在项目0的/src/geekos/main.c中完成): 1.编写一个C语言函数,函数功能是:接收键盘输入的按键,并将键值在显示器显示出来,当输入ctrl+d就退出; 2.在Main函数体内调用Start_Kernel_Thread函数,将步骤1编写的函数地址传递给参数startFunc,利用Setup_Kernel_Thread函数建立一个待运行的线程。 3.在Linux环境下编译系统得到GeekOS镜像文件。 4.编写一个相应的bochs配置文件。 5.在bochs中运行GeekOS系统显示结果。 阅读全文

GeekOS: 一、构建基于Ubuntu9.04的实验环境

2009-05-05 23:33 by 无常, 7195 阅读, 收藏, 编辑
摘要: 一、安装Ubuntu9(略) 二、下载Geekos 1.Ubuntu内置了Firefox3浏览器,打开网址 geekos.sourceforge.net,下载GeekOS 0.3到本地。 解压到 /home/[username]/geekos-0.3.0目录。 三、安装c/c++编译环境 1.修改使用国内镜像更新源,在这里(http://hi.baidu.com/xbourn/blog/item/... 阅读全文