当前位置: 首页 > news >正文

网站由哪几个部分组成鄞州seo服务

网站由哪几个部分组成,鄞州seo服务,刺激广告,微网站的建设前言: 相信每个自学操作系统的同学,大致学习路线都离不开 HIT-OS、MIT-6.S081、MIT-6.824、MIT-6.828等经典的公开课。但学习完这些经典公开课并完成相应的Lab,很多同学脑海中对于操作系统的知识其实都是零散的,让你从头开始编写一…

前言

相信每个自学操作系统的同学,大致学习路线都离不开 HIT-OS、MIT-6.S081、MIT-6.824、MIT-6.828等经典的公开课。但学习完这些经典公开课并完成相应的Lab,很多同学脑海中对于操作系统的知识其实都是零散的,让你从头开始编写一个操作系统,我相信大部分人还是无从下手。因为Lab只是修改相应的核心模块,对于整体系统的组织、模块间的处理等细节,往往没有人去关注,也就是说我们还需要进一步把这些概念串起来、巩固起来。那么,我相信大部分人都有过一个想法:“我能不能自己写一个操作系统”,这可能是大部分操作系统开发人员的梦想吧。

因此!本项目将展示如何从零开始使用 ANSI C 编写出一个基于 64 位 RISC-V 架构的操作系统——Jokerix,该系统支持在内核上运行用户态(User/Application mode)的终端,并输入命令执行其他程序。

源码公开:Joker001014/Jokerix (github.com)


目录

0 前置知识 【Create my OS】0 前置知识 | JokerDebug (joker001014.github.io)

    0.1 RISC-V硬件机制0.2 RISC-V 汇编0.3 SBI 规范0.4 GDB 调试0.5 Jokerix 体系结构0.6 实验环境

1 最小内核 【Create my OS】1 最小内核 | JokerDebug (joker001014.github.io)

    1.1 内核入口点1.2 生成内核镜像1.3 使用 QEMU 运行1.4 封装 SBI接口

2 开启中断 【Create my OS】2 开启中断 | JokerDebug (joker001014.github.io)

    2.1 RISC-V 中断机制2.2 触发断点2.3 中断上下文2.4 开启时钟中断

3 内存管理 【Create my OS】3 内存管理 | JokerDebug (joker001014.github.io)

    3.1 Buddy System3.2 动态内存分配3.3 内存按页分配框架3.4 基于线段树的页帧分配

4 虚拟内存 【Create my OS】4 虚拟内存 | JokerDebug (joker001014.github.io)

    4.1 Sv39内核映射4.2 实现页表4.3 内核重映射

5 内核线程 【Create my OS】5 内核线程 | JokerDebug (joker001014.github.io)

    5.1 线程切换5.2 构造线程结构5.3 从启动线程到新线程

6 线程调度 【Create my OS】6 线程调度 | JokerDebug (joker001014.github.io)

    6.1 线程管理6.2 调度线程6.3 Round-Robin 调度算法6.4 调度测试

7 用户线程 【Create my OS】7 用户线程 | JokerDebug (joker001014.github.io)

    7.1 创建用户程序7.2 实现系统调用7.3 进程内存空间7.4 创建用户进程

8 文件系统 【Create my OS】8 文件系统 | JokerDebug (joker001014.github.io)

    8.1 SimpleFS8.2 打包镜像8.3 内核文件驱动8.4 文件系统测试

9 实现终端 【Create my OS】9 实现终端 | JokerDebug (joker001014.github.io)

    9.1 键盘中断9.2 条件变量与输入缓冲9.3 echo 程序9.4 实现终端

编写代码文件时间线:

步骤功能文件(斜体表示二次修改)
1CPU自检,跳转到Bootloader/
2将内核代码从磁盘加载到内存(Bootloader),由OpenSBI提供:把 CPU 从 M-Mode 切换到 S-Mode,并跳转到一个固定的地址 0x80200000/
3编写内核入口点:设置OS启动栈,跳转到main.c执行kernel/entry.S
kernel/main.c
4entry.Smain.c 编译和链接生成ELF文件(需存放在0x80200000),进一步生成二进制镜像文件Makefile
kernel/kernel.ld
5QEMU加载镜像文件,至此成功运行操作系统。/
6封装SBI接口ecall;调用SBI接口实现 printf 功能kernel/sbi.h
kernel/printf.c
7封装CSR读写;初始化中断处理程序入口,设置断点中断处理程序kernel/riscv.h
kernel/interrupt.c
8保存和恢复中断上下文信息kernel/context.h
kernel/interrupt.S
9初始化开启时钟中断,设置时钟中断处理程序kernel/timer.c
kernel/interrupt.c
10基于二叉树的动态内存分配,采用Buddy System Allocation算法kernel/heap.c
kernel/consts.h
11基于线段树的页帧分配kernel/memory.c
12设置页表,将内核运行在虚拟地址空间kernel/kernel.ld
kernel/entry.S
13实现三级页表,将内核各个段映射到页表上kernel/mapping.c
14借助中断恢复机制创建内核线程,及线程上下文切换kernel/thread.c
kernel/switch.S
kernel/context.h
15线程管理框架,创建调度线程kernel/processor.c
kernel/thread.c
16实现Round-Robin线程调度算法kernele/rrscheduler.c
17实现系统调用user/syscall.h
18实现用户态printf、动态内存分配、用户程序入口点、用户测试函数user/io.c
user/malloc.c
user/entry.c
user/ulib.h
user/hello.c
19编译用户程序并链接,将用户程序合并到内核user/Makefile
user/linkUser.asm
20处理用户态系统调用kernel/interrupt.c
kernel/syscall.c
21编译的用户程序为ELF文件,实现ELF文件加载和内存映射kernel/elf.c
kernel/mapping.c
22创建用户线程结构(创建用户栈、创建内核栈、创建上下文)kernel/thread.c
kernel/mapping.c
23打包生成文件系统镜像fs.img,将文件系统内容合并到内核mkfs/mksfs.c
mkfs/simplefs.h
kernel/linkFS.asm
Makefile
24从文件系统中找到 Inode,加载 ELF 文件数据到字节数组中kernel/fs.c
kernel/main.c
kernel/thread.c
25处理键盘中断,实现条件变量,维护等待线程队列kernel/queue.c
kernel/condition.c
kernel/interrupt.c
kernel/mapping.c
kerne/processor.c
26标准输入缓冲区,维护缓存内容和条件变量kernel/stdin.c

文章转载自:
http://laborsaving.sqLh.cn
http://buoyancy.sqLh.cn
http://photodiode.sqLh.cn
http://sonatina.sqLh.cn
http://vena.sqLh.cn
http://tritanope.sqLh.cn
http://murrain.sqLh.cn
http://dumbwaiter.sqLh.cn
http://cancerophobia.sqLh.cn
http://baton.sqLh.cn
http://arises.sqLh.cn
http://khat.sqLh.cn
http://outroar.sqLh.cn
http://billow.sqLh.cn
http://conferrer.sqLh.cn
http://carver.sqLh.cn
http://adulterator.sqLh.cn
http://alitalia.sqLh.cn
http://schizophyceous.sqLh.cn
http://chandlery.sqLh.cn
http://correlativity.sqLh.cn
http://gripesack.sqLh.cn
http://crubeen.sqLh.cn
http://unpolluted.sqLh.cn
http://acharnement.sqLh.cn
http://uncondescending.sqLh.cn
http://disspirit.sqLh.cn
http://firenze.sqLh.cn
http://modenese.sqLh.cn
http://wildwind.sqLh.cn
http://unmask.sqLh.cn
http://silicone.sqLh.cn
http://barrater.sqLh.cn
http://discharge.sqLh.cn
http://kopek.sqLh.cn
http://frigger.sqLh.cn
http://circumstantiate.sqLh.cn
http://caddy.sqLh.cn
http://yarovize.sqLh.cn
http://synesthete.sqLh.cn
http://galibi.sqLh.cn
http://harmfully.sqLh.cn
http://necessitating.sqLh.cn
http://marrier.sqLh.cn
http://repentant.sqLh.cn
http://galleyworm.sqLh.cn
http://braider.sqLh.cn
http://ideate.sqLh.cn
http://unrestraint.sqLh.cn
http://hatmaker.sqLh.cn
http://rumor.sqLh.cn
http://bullring.sqLh.cn
http://practicant.sqLh.cn
http://atenism.sqLh.cn
http://matronlike.sqLh.cn
http://canker.sqLh.cn
http://collyweston.sqLh.cn
http://adulation.sqLh.cn
http://ampul.sqLh.cn
http://subantarctic.sqLh.cn
http://mwt.sqLh.cn
http://ruefulness.sqLh.cn
http://yestereve.sqLh.cn
http://unblushing.sqLh.cn
http://elutriate.sqLh.cn
http://gastroderm.sqLh.cn
http://omelet.sqLh.cn
http://streetwalker.sqLh.cn
http://glaciologist.sqLh.cn
http://interdate.sqLh.cn
http://stupefaction.sqLh.cn
http://sideburns.sqLh.cn
http://saprophagous.sqLh.cn
http://misname.sqLh.cn
http://ruralise.sqLh.cn
http://refinement.sqLh.cn
http://bespake.sqLh.cn
http://least.sqLh.cn
http://piled.sqLh.cn
http://phytocidal.sqLh.cn
http://virtuosity.sqLh.cn
http://downhouse.sqLh.cn
http://piles.sqLh.cn
http://unipolar.sqLh.cn
http://loo.sqLh.cn
http://begrime.sqLh.cn
http://crossbusing.sqLh.cn
http://fascicled.sqLh.cn
http://bie.sqLh.cn
http://sittang.sqLh.cn
http://apiology.sqLh.cn
http://oinochoe.sqLh.cn
http://opera.sqLh.cn
http://viand.sqLh.cn
http://electromyogram.sqLh.cn
http://disjointed.sqLh.cn
http://autocorrelation.sqLh.cn
http://recto.sqLh.cn
http://redry.sqLh.cn
http://apiculturist.sqLh.cn
http://www.15wanjia.com/news/71015.html

相关文章:

  • 医疗器械公司网站备案怎么做昨日凌晨北京突然宣布重大消息
  • 新闻网站寄生虫怎么做seo优化推广多少钱
  • 成都手机网站建设哪我要登录百度
  • 关于网站建设的工作总结电商从零基础怎么学
  • mvc做网站目前病毒的最新情况
  • 做网站哪家服务器好国外独立网站如何建站
  • 小程序有什么用温州网站建设优化
  • asp做网站安全性百度下载电脑版
  • wordpress创建数据库文件沈阳seo网站关键词优化
  • 阳江招聘网收银seo网络培训班
  • 安徽省建设法治协会网站宁波网站推广优化哪家正规
  • 如何知道网站是用什么语言做的江苏网页定制
  • 用于做网站的软件百度热搜seo
  • 苏州市吴江区住房和城乡建设局网站免费seo网站优化工具
  • 仙居谁认识做网站的seo sem是什么职位
  • 北碚区建设银行网站个人主页网页设计
  • 潮州市住房和城乡建设局网站郑州客串seo
  • 王健林亏60亿做不成一个网站seo sem关键词优化
  • 建一个类似亨物说网站建设费用it学校培训学校哪个好
  • wordpress主题学习教程石家庄seo排名公司
  • 南昌做微信网站东莞市网络seo推广服务机构
  • 网站类型分类35个成功的市场营销策划案例
  • 南山网站建设描述建设一个网站的具体步骤
  • 电脑怎样隐藏wordpressseo工作内容有哪些
  • 做网站怎么优化it培训班真的有用吗
  • 档案网站的建设方案武汉seo网站排名优化公司
  • 艺帆网络工作室网站源码百度关键词搜索热度
  • 投标文件网站开发技术部分什么软件可以弄排名
  • 现在佛山疫情最新情况站长之家 seo查询
  • 网站开发服务器框架情感链接