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

企业资质证书查询官方网站外贸建站系统源码

企业资质证书查询官方网站,外贸建站系统源码,湖南有实力seo优化哪家好,襄阳网站建设八零后前言#xff1a; 相信每个自学操作系统的同学#xff0c;大致学习路线都离不开 HIT-OS、MIT-6.S081、MIT-6.824、MIT-6.828等经典的公开课。但学习完这些经典公开课并完成相应的Lab#xff0c;很多同学脑海中对于操作系统的知识其实都是零散的#xff0c;让你从头开始编写一…前言 相信每个自学操作系统的同学大致学习路线都离不开 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.Skernel/main.c4将entry.S和main.c 编译和链接生成ELF文件需存放在0x80200000进一步生成二进制镜像文件Makefilekernel/kernel.ld5QEMU加载镜像文件至此成功运行操作系统。/6封装SBI接口ecall调用SBI接口实现 printf 功能kernel/sbi.hkernel/printf.c7封装CSR读写初始化中断处理程序入口设置断点中断处理程序kernel/riscv.hkernel/interrupt.c8保存和恢复中断上下文信息kernel/context.hkernel/interrupt.S9初始化开启时钟中断设置时钟中断处理程序kernel/timer.ckernel/interrupt.c10基于二叉树的动态内存分配采用Buddy System Allocation算法kernel/heap.ckernel/consts.h11基于线段树的页帧分配kernel/memory.c12设置页表将内核运行在虚拟地址空间kernel/kernel.ldkernel/entry.S13实现三级页表将内核各个段映射到页表上kernel/mapping.c14借助中断恢复机制创建内核线程及线程上下文切换kernel/thread.ckernel/switch.Skernel/context.h15线程管理框架创建调度线程kernel/processor.ckernel/thread.c16实现Round-Robin线程调度算法kernele/rrscheduler.c17实现系统调用user/syscall.h18实现用户态printf、动态内存分配、用户程序入口点、用户测试函数user/io.cuser/malloc.cuser/entry.cuser/ulib.huser/hello.c19编译用户程序并链接将用户程序合并到内核user/Makefileuser/linkUser.asm20处理用户态系统调用kernel/interrupt.ckernel/syscall.c21编译的用户程序为ELF文件实现ELF文件加载和内存映射kernel/elf.ckernel/mapping.c22创建用户线程结构创建用户栈、创建内核栈、创建上下文kernel/thread.ckernel/mapping.c23打包生成文件系统镜像fs.img将文件系统内容合并到内核mkfs/mksfs.cmkfs/simplefs.hkernel/linkFS.asmMakefile24从文件系统中找到 Inode加载 ELF 文件数据到字节数组中kernel/fs.ckernel/main.ckernel/thread.c25处理键盘中断实现条件变量维护等待线程队列kernel/queue.ckernel/condition.ckernel/interrupt.ckernel/mapping.ckerne/processor.c26标准输入缓冲区维护缓存内容和条件变量kernel/stdin.c
http://www.hkea.cn/news/14328559/

相关文章:

  • 网站设计团队名称游戏网站建设成功案例
  • 英语培训建设网站方案做电影网站都需要什么工具
  • 平乡网站制作wordpress 还原备份数据库
  • 邙山郑州网站建设云南省安宁市建设厅官方网站
  • 农家乐网站建设营销方案企业网站建设的基本原则有哪些?
  • 苏州网站建设公司电话网站建设页面设计图片
  • wordpress建立移动站内江市建设培训中心网站
  • 手机数据线东莞网站建设技术支持外贸公司网站建设费用报销
  • 果酷网的网站建设简介做网站营销公司有哪些
  • 运城网站建设兼职wordpress cms下载地址
  • 网站开发是什么工作百度承德
  • 可以申请做cpa广告的网站网站链接结构
  • 建网站松滋哪家强?企业网站建设设计方案
  • 笑话网站模版验证码平台网站开发
  • 如何做网站排名第一如何看一个网站是否做推广
  • 有哪些网站可以做全景效果图智龙迷城 wordpress
  • 禅城区城乡建设局网站晋城推广型网站开发
  • 潍坊建网站wordpress游戏
  • 网站开发连接数据库的方法如何做网站的页面
  • 巧家县城乡建设局网站个人可以备案网站的内容
  • 怎么搞自己的网站做网站还 淘宝
  • 安徽观元建设有限公司网站wordpress游戏充值
  • 网站 为何要 备案招工信息发布平台
  • 做网站的流程视频教程免费学做网站
  • 开展建设文明网站活动方案wordpress 上下页导航
  • 广州网站制作开发公司哪家好现在用什么语言做网站
  • 桂林市工程建设项目招标网站页面做的比较炫酷的网站
  • 简答网站内容建设的时候内链重要性建站教程的优点
  • 搬家网站自适应做一手楼盘的网站
  • 网络推广网站河南大岭山做网站