Giter VIP home page Giter VIP logo

ost's Introduction

OST

项目介绍

该项目为本人为熟悉操作系统所创建,总共分为两个部分

准备阶段

在准备阶段中,主要的内容和目标如下:

  • 进入保护模式
  • 进入和退出保护模式
  • 熟悉段机制
  • 调用门的使用
  • 特权级的切换
  • ldt的使用
  • 熟悉分页机制
  • 对等映射
  • 非对等映射
  • 在实模式下获得可用内存的信息
  • 了解中断以及对8259a进行编程
  • 设计一个用户自定义中断
  • 设计时钟中断
  • 了解fat12文件系统
  • 创建引导镜像
  • 从软盘加载loader
  • 学习make的使用
  • 使用make进行自动化编译
  • 学习内联汇编
  • 内联汇编基本格式
  • 使用intel格式的内联汇编

开发阶段

在开发阶段中,主要使用C语言,涉及到汇编代码的部分尽量使用内联汇编完成,主要的内容和目标如下:

  • 完成loader部分
  • 加载内核
  • 进入保护模式
  • 开启页机制
  • 设置8259a
  • 时钟中断,进程调度模块

说明

文档

在操作系统的编写中,所有值得记载的部分都会在文档目录下创建相应的文件以记录.

关于进程

操作系统为多进程,抢占式的。初始时只有用户进程(没有系统进程),进程没有优先级的区别

  • 多进程的实现方式 所有进程共用同一个TSS, 每一个进程都有自己的ldt(因为短期内不打算使用分页机制,所以要想实现每个进程都有自己的 地址空间只能让每个进程都有自己的ldt,并设置其段基址不同)
关于图形化

操作系统在完成字符模式的显示后才会考虑是否进行图形化

关于文件系统

在可预见的一段时期内,操作系统二进制文件不会太大,因此操作系统内核及相关二进制文件的储存介质均使用软盘.软盘为可引导软盘,引导扇区加载loader,loader加载内核...当内核的编写进行到了文件系统时,或许会编写一个应用于fat12(fat16或fat32?)格式的文件系统以管理文件。整个操作系统可能完全不会用到硬盘等储存介质.

联系方式

  • tel: 18360866878
  • qq: 1965972530

ost's People

Contributors

hellotuitu avatar

Watchers

James Cloos avatar  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.