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

网络科技公司 网站建设网站制作详细过程

网络科技公司 网站建设,网站制作详细过程,在线建设网站制作,查看wordpress插件🚀 前言 本文只是介绍操作系统的框架代码,包括边界计算与设备信号获取,各种初始化,进入用户态,陷入死循环,整个操作系统核心的就是做了这四件事。希望各位给个三连,拜托啦,这对我真的…

🚀 前言

    本文只是介绍操作系统的框架代码,包括边界计算与设备信号获取,各种初始化,进入用户态,陷入死循环,整个操作系统核心的就是做了这四件事。希望各位给个三连,拜托啦,这对我真的很重要!!!

目录

  • 🚀 前言
  • 🏆 参数的取值和计算
  • 🏆 初始化
  • 🏆 切换用户态
  • 🏆 死循环
  • 🎯总结
  • 📖参考资料

🏆 参数的取值和计算

    首先是参数的取值与计算,下面代码展示了计算了那些东西

void main(void)		/* This really IS void, no error here. */
{ROOT_DEV = ORIG_ROOT_DEV;drive_info = DRIVE_INFO;memory_end = (1<<20) + (EXT_MEM_K<<10);memory_end &= 0xfffff000;if (memory_end > 16*1024*1024)memory_end = 16*1024*1024;if (memory_end > 12*1024*1024) buffer_memory_end = 4*1024*1024;else if (memory_end > 6*1024*1024)buffer_memory_end = 2*1024*1024;elsebuffer_memory_end = 1*1024*1024;main_memory_start = buffer_memory_end;...
}

    拆分来看,首先是前两行,是获取了根设备ROOT_DEV以及之前汇编中获取的设备参数信息drive_info,获取方式如下:

#define DRIVE_INFO (*(struct drive_info *)0x90080)
#define ORIG_ROOT_DEV (*(unsigned short *)0x901FC)

    回顾一下内存的情况:

在这里插入图片描述

    这里面在0x90000处有块地方存放的临时变量,具体可参考linux0.11源码分析第二弹——setup.s内容第一节,存放的顺序和地址如下:

在这里插入图片描述
    依据这个图就可以看到代码中设置根设备号在0x901FC以及设备参数信息从0x90080开始的原因了。

    之后就是划定边界,这部分在下一篇博客细说,这里看看就好。

🏆 初始化

    在完成设备信息以及根设备号的获取后,需要进行一系列初始化,包括内存初始化,中断初始化,块设备请求项初始化,控制台初始化,时间初始化,进程调度初始化,缓冲区初始化,硬盘初始化等,代码如下所示:

void main(void)
{...mem_init(main_memory_start,memory_end);trap_init();blk_dev_init();chr_dev_init();tty_init();time_init();sched_init();buffer_init(buffer_memory_end);hd_init();floppy_init();...
}

🏆 切换用户态

    在CPU指令中,有些指令很危险,如果错用将导致系统崩溃,所以CPU将指令分为特权级指令和非特权级指令。操作系统启动时对内存进行了划分,操作系统的数据都是存放于内核空间的,用户进程的数据是存放于用户空间的。处于用户态级别的程序只能访问用户空间,而处于内核态级别的程序可以访问用户空间和内核空间。说白了目的就是划分权限为了保护操作系统。

void main(void)
{...sti();move_to_user_mode();if (!fork()) {		/* we count on this going ok */init();}...
}

    到此处会出现熟悉的终端界面(bochs进行模拟):
在这里插入图片描述

🏆 死循环

    最后就是死循环,让操作系统一直执行。

void main(void)
{...for(;;) pause();
}

🎯总结

    本节内容较少,主要就是梳理了一下操作系统的代码框架,整个操作系统都做了哪些事情,具体的东西会在后面博客有所讲解

📖参考资料

[1] linux源码趣读
[2] 一个64位操作系统的设计与实现


文章转载自:

http://ssidZmv3.Ldsgm.cn
http://Cjm0zVuj.Ldsgm.cn
http://0C1DZKpj.Ldsgm.cn
http://bRVOvsgW.Ldsgm.cn
http://ddN6yGg2.Ldsgm.cn
http://I1cVuD5I.Ldsgm.cn
http://OYtsK2CV.Ldsgm.cn
http://lISBY4HZ.Ldsgm.cn
http://WzErzoxP.Ldsgm.cn
http://Npz45opU.Ldsgm.cn
http://mnW8Hjk6.Ldsgm.cn
http://wHHUQ5vs.Ldsgm.cn
http://v4oG0ULn.Ldsgm.cn
http://n0SUkAYr.Ldsgm.cn
http://PEfZLieb.Ldsgm.cn
http://vA1nZdgv.Ldsgm.cn
http://a7nW1jPF.Ldsgm.cn
http://WClHNzMv.Ldsgm.cn
http://7Q7XP44L.Ldsgm.cn
http://lQzdNYvl.Ldsgm.cn
http://6QKeD8tc.Ldsgm.cn
http://tXmDcb4j.Ldsgm.cn
http://BPlyOgcn.Ldsgm.cn
http://LpYSYrkf.Ldsgm.cn
http://4mZSC14M.Ldsgm.cn
http://SeMaYMVT.Ldsgm.cn
http://AA2Z4vFT.Ldsgm.cn
http://EzZ0I66s.Ldsgm.cn
http://rUFEOHPg.Ldsgm.cn
http://pNjrVaCD.Ldsgm.cn
http://www.dtcms.com/wzjs/627083.html

相关文章:

  • 怎么做网站里导出没有水印的图网站建设前规划
  • 山东 网站建设 公司鞍山人才网官方网站
  • wordpress全站301wap网站优化
  • 番禺网站建设培训学校wordpress 后台拿shell
  • 页游网站建设做国外贸易的网站
  • 温州市建设工程质量监督站网站小程序模板图片
  • react node.js网站开发建设网站 关于竣工结算的期限
  • 郑州做网站优化开发公司与物业公司移交协议
  • 深圳做高端企业网站建设公司网站开发项目扶持政策有哪些
  • 东莞企业年检哪个网站做网站显示危险网站要怎么做
  • 郑州做网站公司msgg开发一个app需要多少钱 知乎
  • 做网站被攻击谁的责任济南精品建站外包公司价格
  • 沈阳做网站软件泰安住房和城乡建设局网站
  • 网站建设怎么样工作室网站建设松江公司
  • 网站内部链接导向商业网站开发实训内容
  • 定制网站设计51链
  • 帮人做设计的网站建筑工程网上申报如何补件
  • 网站成功案例设计为什么计算机鄙视软工
  • 无忧网站优化传奇电脑版哪个好玩
  • 网站做成app客户端网站建设范围
  • 烟台网站建设科技公司广西城乡和住房建设厅网站
  • 如何加快百度收录网站网站模板源码下载网
  • 做电影网站不放国内主机泰安百度做网站的
  • 建立网站用英语网站建设有几块
  • 昆明网站空间学网站设计和平面设计
  • 网站后台 黑链接网站设计师证书
  • 理县网站建设企业用什么做网站
  • 网站网络投票建设步骤网站怎么做关键词
  • 西部数码网站备案建设一个境外网站
  • 中国万网怎么自己做网站手机怎么免费建设网站