北航内核操作系统-lab1】的更多相关文章

1.实验目的. 2.实验内容. 2.1Exercise 1.1  请修改 include.mk 文件,使交叉编译器的路径正确.之后执行 make指令,如果配置一切正确,则会在gxemul 目录下生成vmlinux 的内核文件. 修改路径为 /OSLAB/compiler/usr/bin/mips_4KC- 查看gxemul文件夹 实验一完成. 2.2Exercise1.2  阅读./readelf文件夹中kerelf.h  readelf.c以及 main.c三个文件中的代码,并完成readel…
1.lab0环境介绍. 2.进入实验界面. 3.进入实战测试. 任务要求: 3.1编写斐波那契数列. 3.2编写Makefile脚本. Makefile介绍: make命令执行时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序. 3.3执行make命令. 3.4编写hello_os.sh. 概述 sed命令是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作.sed是按行来处理文本内容的.在shell中,使用sed来批量修改文本内容是非常方…
本篇文章个人在青岛游玩的时候突然想到的...今天就有想写几篇关于内核操作系统的博客,所以回家到以后就奋笔疾书的写出来发表了 Jack:什么是操作系统? 我:你买了一台笔记本,然后把整块硬盘彻底格式化,然后再自己编译出一块代码,这块代码能让这台笔记本具有任务(task)管理或者文件管理功能.或者两者兼而有之——这段代码就是操作系统了. Jack:这类解释比拟妖孽啊. 我:你可以以为我的说法比拟妖孽,不过这是我自己的说法,是我的.这比只会背书.没有自己的想法要好.你可以出错,每个人都市出错,但是不能…
中断很久,一看发现又多了一些内容. 打算完成了 Lab1 challenge 1 中断像量表设置的时候我们需要设置一个用于系统调用的 trap门 也就是 利用中断切换特权级 To kernel 调用 Tokernel 的时候由于由特权及的转换,所以这里会在 Tss 中取出当前函数的内核栈 并且做相应的切换 依次压栈 eflags cs eip err trapno ds es sf gs tregs 等 将这个 调用栈压入 栈中 最后执行 push esp 这样是把 栈顶的指针放在栈顶作为tar…
练习1 1 ucore.img 是如何生成的 使用 make V= 查看详细的步骤 cc kern/init/init.c 使用cc工具进行预处理 gcc -Idir 将dir 作为查找目录(头文件) -ggdb 符加信息到允许gdb进行debug的程度 -gstabs 将符加信息以 stabs format 格式输出 这一个是主要被dbx 在大多数bsd 系统上使用 -m32 -Wall 输出所有的警告信息 -fno-buildin 不允许不易build__in__开头的buildin 函数…
总体 : boot kern libs tools boot asm.h bootmain.c bootasm.S asm.h 汇编头文件 SEG_NULLASM 定义一个空段描述符 SEG_ASM 使用参数type base lim 生成一个断描述符的宏 定义了 Appllication segment type bits type 字段的相应定义 bootasm.S 控制前初始化,具体过程 参考 前初始化 bootmain.c 包括了 等待硬盘响应 读取扇区 加载到内存段(一个一个的读取扇区…
一.ucore操作系统介绍 操作系统作为一个基础系统软件,对下控制硬件(cpu.内存.磁盘网卡等外设),屏蔽了底层复杂多样的硬件差异:对上则提供封装良好的应用程序接口,简化应用程序开发者的使用难度.站在应用程序开发人员的角度来看,日常开发中常见的各种关于并发.I/O.程序通信的问题等都和操作系统相关,因此一定程度上了解底层的操作系统工作原理是有必要的. 另一方面,由于操作系统自身功能的复杂性,整体设计一般会有一个好的模块化架构:操作系统作为基础服务,对性能效率的要求也很高,底层会用到许多关于数据…
Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 C 语言重写了 Unix 系统后,大量的Unix衍生版本开始出现,许多公司把 unix 移植到新的机型上,开发者们都按照自己的方式不断增强系统的功能.Unix 系统设计简洁并在发布时提供源代码,所以许多团体都对其进行了进一步的开发.加州大学伯克利分校便是其中影响最大的一个.在BSD基础上,很多厂商也…
Linux内核分析课程总结 By 20135203齐岳 知识梳理 (思维导图地址http://mindmap.4ye.me/mkxM0cFh/1) 从start _ kernel构造一个新的Linux内核开始,0号进程rest _ init创建了1号进程kernel _ init从而启动Linux内核,这个过程的中心思想其实一直贯穿在Linux内核操作系统之中.1号进程通过复制PCB创建出更多的进程:当进程无法满足功能时就编写自定义的可执行程序,装载这些可执行程序的过程其实就是进程创建的一个变形…
<Linux内核设计与实现>CHAPTER1,2阅读梳理 [学习时间:2.5hours] [学习内容:Linux内核简介——历史与现今版本:Linux内核源代码以及编译] CHAPTER1 Linux内核简介 1.Unix内核特点 十分简洁:仅提供几百个系统调用并且有明确的目的: 在Unix中,大部分东西都被(或者正致力于)被当做文件对待: Unix内核即相关系统工具软件都是用C语言编写的,这使得系统有着强大的可移植性: Unix进程创建非常迅速,目标在于一次执行保质保量地完成一个任务 2.L…