资源简介
哈工大 操作系统 实验 李治军 八个实验 还有从网上其他地方下载的
代码片段和文件信息
/*
* linux/tools/build.c
*
* (C) 1991 Linus Torvalds
*/
/*
* This file builds a disk-image from three different files:
*
* - bootsect: max 510 bytes of 8086 machine code loads the rest
* - setup: max 4 sectors of 8086 machine code sets up system parm
* - system: 80386 code for actual system
*
* It does some checking that all files are of the correct type and
* just writes the result to stdout removing headers and padding to
* the right amount. It also writes some system data to stderr.
*/
/*
* Changes by tytso to allow root device specification
*/
#include /* fprintf */
#include
#include /* contains exit */
#include /* unistd.h needs this */
#include
#include
#include /* contains read/write */
#include
/*
* Changes by falcon to define MAJOR and MINOR for they
* are not defined in current linux header file linux/fs.hI copy it from
* include/linux/fs.h directly.
*/
#ifndef MAJOR
#define MAJOR(a) (((unsigned)(a))>>8)
#endif
#ifndef MINOR
#define MINOR(a) ((a)&0xff)
#endif
#define MINIX_HEADER 32
#define GCC_HEADER 1024
#define SYS_SIZE 0x3000
/*
* Changes by falcon to let this kernel Image file boot
* with a root image file on the first hardware device /dev/hd1 hence you
* should prepare a root image file and configure the bochs with
* the following lines(please set the ... as suitable info):
* ...
* floppya: 1_44=“Image“ status=inserted
* ata0-master: type=disk path=“/path/to/rootimage.img“ mode=flat ...
* ...
*/
#define DEFAULT_MAJOR_ROOT 3
#define DEFAULT_MINOR_ROOT 1
/* max nr of sectors of setup: don‘t change unless you also change
* bootsect etc */
#define SETUP_SECTS 4
#define STRINGIFY(x) #x
void die(char * str)
{
fprintf(stderr“%s\n“str);
exit(1);
}
void usage(void)
{
die(“Usage: build bootsect setup system [rootdev] [> image]“);
}
int main(int argc char ** argv)
{
int icid;
char buf[1024];
char major_root minor_root;
struct stat sb;
if ((argc != 4) && (argc != 5))
usage();
if (argc == 5) {
if (strcmp(argv[4] “FLOPPY“)) {
if (stat(argv[4] &sb)) {
perror(argv[4]);
die(“Couldn‘t stat root device.“);
}
major_root = MAJOR(sb.st_rdev);
minor_root = MINOR(sb.st_rdev);
} else {
major_root = 0;
minor_root = 0;
}
} else {
major_root = DEFAULT_MAJOR_ROOT;
minor_root = DEFAULT_MINOR_ROOT;
}
fprintf(stderr “Root device is (%d %d)\n“ major_root minor_root);
if ((major_root != 2) && (major_root != 3) &&
(major_root != 0)) {
fprintf(stderr “Illegal root device (major = %d)\n“
major_root);
die(“Bad root device --- major #“);
}
for (i=0;i if ((id=open(argv[1]O_RDONLY0))<0)
die(“Unable to open ‘boot‘“);
if (read(idbufMINIX_HEADER) != MINIX_HEADER)
die(“Unable to read header of ‘boot‘“);
if (((long *) buf)[0]!=0x04100301)
die(“Non-Min
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-07-07 23:15 操作系统\
目录 0 2015-07-07 23:15 操作系统\lab1\
文件 5094 2014-10-11 16:16 操作系统\lab1\bootsect.s
文件 5298 2014-10-11 12:04 操作系统\lab1\build.c
文件 482 2014-10-12 16:11 操作系统\lab1\report.txt
文件 4479 2014-10-12 21:00 操作系统\lab1\setup.s
目录 0 2015-07-07 23:15 操作系统\lab2\
文件 432 2014-10-19 11:11 操作系统\lab2\iam.c
文件 915 2014-10-19 11:55 操作系统\lab2\report.txt
文件 2657 2014-10-18 23:02 操作系统\lab2\sys.h
文件 5229 2014-10-18 23:02 操作系统\lab2\system_call.s
文件 6462 2014-10-18 23:34 操作系统\lab2\unistd.h
文件 719 2014-10-19 11:29 操作系统\lab2\who.c
文件 407 2014-10-19 11:35 操作系统\lab2\whoami.c
目录 0 2015-07-07 23:15 操作系统\lab3\
文件 4312 2014-10-22 17:06 操作系统\lab3\exit.c
文件 3846 2014-10-22 17:03 操作系统\lab3\fork.c
文件 5596 2014-10-22 16:58 操作系统\lab3\main.c
文件 1994 2014-10-22 17:48 操作系统\lab3\printk.c
文件 2774 2014-10-26 10:19 操作系统\lab3\process.c
文件 1436 2014-10-26 11:00 操作系统\lab3\report.txt.txt
文件 9240 2014-10-22 17:46 操作系统\lab3\sched.c
目录 0 2015-07-07 23:15 操作系统\lab4\
文件 327 2014-11-09 23:09 操作系统\lab4\report.txt
目录 0 2015-07-07 23:15 操作系统\lab4\unti
文件 2292 2014-11-09 22:29 操作系统\lab4\unti
文件 309 2014-11-09 23:03 操作系统\lab4\unti
文件 478 2014-11-09 23:14 操作系统\lab4\unti
文件 2762 2014-11-09 19:22 操作系统\lab4\unti
文件 5229 2014-11-09 19:20 操作系统\lab4\unti
文件 6546 2014-11-09 23:01 操作系统\lab4\unti
............此处省略244个文件信息
相关资源
- 身边的电子学__36个有趣的电子小实验
- 操作系统精髓与设计原理 第九版 英文
- E-prime实验设计技术曾祥炎
- 实验79个.zip
- 神舟3号STM32 DH11温度湿度实验
- TM4C123G LaunchPad Workshop实验练习步骤指
- 编译原理实验LR分析表构造LR分析器
- 数电研学——四人抢答器Multisim——北
- 计算机操作系统教程-徐甲同-西安电子
- 应用统计学视频教程 40讲 哈工大.ra
- 广州大学计算机组成原理课程设计实
- 广工-计算机网络-计网实验+课设-广东
- 《嵌入式实时操作系统及应用开发》
- 人工智能实验课实验及实验报告
- 计算机网络哈工大中国大学mooc—ppt
- 湖南大学CSAPP课程实验LAB1
- 现代操作系统第三版中文版
- 哈工大王义和近世代数全套资源
- 基于Basys3与Vivado的数字逻辑Verilog 实验
- 广工-EDA实验报告 -总+Libero源代码.zi
- modbus通用读取电表数据源码,使用的
- 嵌入式实时操作系统μC/OS-III中文版
- HCNP路由交换实验
- 深入解析Windows操作系统 第6版 上册(
- 杭电 13个计网实验 详细报告+截图
- 微机原理与接口技术含汇编习题解析
- 《深入解析MacOS X&iOS;操作系统 》PDF
- 华为HCNA培训教材及实验指导书入门
- 1991-2016HITCS考研初试真题及答案+部分
- CALCE马里兰大学实验电池数据
评论
共有 条评论