GithubHelp home page GithubHelp logo

lopzek / oslabs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from triumphalliu/oslabs

1.0 0.0 0.0 24 KB

OperatingSystemLabs_南京大学操作系统实验

C++ 0.63% Perl 2.40% C 83.66% Assembly 7.01% Makefile 6.29%

oslabs's Introduction

OSLabs

南京大学操作系统课程实验/OperatingSystemLabs_NJU

实验网站 Website:http://dislab.nju.edu.cn/taohuang/

实验内容 Content

  • Lab1实验要求
    • 1.1. 在实模式下实现一个Hello World程序
    • 1.2. 在保护模式下实现一个Hello World程序
    • 1.3. 在保护模式下加载磁盘中的Hello World程序运行
  • Lab2实验要求
    • 2.1. 实现系统调用库函数printf
    • 2.2. 完善printf的格式化输出
  • Lab3实验要求
    • 3.1. 实现进程切换机制
    • 3.2. 实现FORKSLEEPEXIT系统调用
  • Lab4实验要求
    • 4.1. 实现SEM_INITSEM_POSTSEM_WAITSEM_DESTROY系统调用

实验环境 Environment:Ubuntu + QEMU

实验框架 Frame

+lab1
|---+bootloader
|   |---boot.h                          #磁盘I/O接口
|   |---boot.c                          #加载磁盘上的用户程序
|   |---start.s                         #引导程序
|   |---Makefile
|---+utils
|   |---genboot.pl                      #生成MBR
|---+app
|   |---app.s                           #用户程序
|   |---Makefile
|---Makefile
+Lab2,3,4
|---+bootloader             #引导程序
|   |---...
|---+utils
|   |---genBoot.pl          #生成引导程序
|   |---genKernel.pl        #生成内核程序
|---+kernel
|   |---+include            #头文件
|   |---+kernel             #内核代码
|   |   |---doIrq.S         #中断处理
|   |   |---i8259.c         #重设主从8259A
|   |   |---idt.c           #初始化中断描述表
|   |   |---irqHandle.c     #中断处理函数
|   |   |---kvm.c           #初始化 GDT 和加载用户程序
|   |   |---serial.c        #初始化串口输出
|   |---+lib
|   |---main.c              #主函数
|   |---Makefile
|---+app                    #用户代码
|   |---main.c              #主函数
|   |---Makefile
|---+lib                    #库函数
|   |---lib.h
|   |---types.h
|   |---syscall.c           #系统调用入口
|---Makefile

oslabs's People

Contributors

triumphalliu avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.