##MyOS
TASM汇编语言与TURBO C语言汇合编程
##1.虚拟机配置方法:
MyOS: 内存4MB,处理器1,硬盘204MB,软盘使用软盘镜像文件144test.flp
##2.软件工具:
- Nasm:汇编编译器
- Tasm:汇编编译器
- TCC:c语言编译器
- Tlink:连接器
- Bochs:调试器
- VMware Player:虚拟机
- WinHex:磁盘绝对扇区读写工具
##3.一些功能及说明:
-
原型操作系统分离为引导程序(boot/load.asm)和MYOS内核(kernel),由引导程序加载内核;
-
内核由汇编语言aOS.asm和c语言cOS.c两个模块生成;
-
使用C语言实现作业控制;
-
在原型操作系统上建立一个初步C语言开发环境,理解操作系统与高级语言之间的关系:实现输入输出等系统调用,设计一个C程序库,封装getch(),gets(),putch(),puts(),scanf()和printf()等利用系统调用实现的细节,并开发一个用户程序,测试这些函数功能;
-
内核实现简单进程模型,进程具有就绪、运行两种基本状态,在c程序中定义进程表;
-
内核可以一次性加载最多4个用户程序。用户进程采用时间片轮转调度进程。用户程序的输出各占1/4屏幕区域,信息输出有动感,以便观察程序是否在执行;
-
内核实现三种原语fork()、wait()和exit(),并在c库中封装相关的系统调用;
-
编写c语言程序,实现多进程合作的应用程序(由父进程生成一个字符串,交给子进程统计其中字母的个数,然后在父进程中输出这一统计结果);
-
在内核实现信号量机制,定义100个可用信号量,并以系统调用的方式实现初始化init()、p()和v()三个基本操作;
-
内核实现信号量机制后,在c库中封装相关的系统调用;
-
编写一个c语言程序,实现有限缓冲的生产者-消费者模型的应用程序。