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

网站建设工作室赚钱吗广告设计总结

网站建设工作室赚钱吗,广告设计总结,企业咨询顾问的工作内容,直播平台搭建0x0 背景 在我参加的面试和我面试别人、或者参加别人对别人的面试的事后经常遇到的一个问题就是#xff1a;请从计算机加电开始描述一下计算机启动到操作系统正式启动起来的全过程。这是一个考验对计算机体系结构和基本知识了解程度的问题。今天也就特别针对这个问题做一个回答…0x0 背景 在我参加的面试和我面试别人、或者参加别人对别人的面试的事后经常遇到的一个问题就是请从计算机加电开始描述一下计算机启动到操作系统正式启动起来的全过程。这是一个考验对计算机体系结构和基本知识了解程度的问题。今天也就特别针对这个问题做一个回答答案是基于80x86结构Linux 2.6及更高版本内核的为基准操作系统为例来回答的。 0x1 从加电到BIOS启动 STEP 1 加电引导寄存器置位 这一过程指的是计算机加电后一个特殊电路会在CPU对应的一阵针脚产生一个逻辑电平这个电平的值从针脚进入CPU后会引发将寄存器cs、eip等等设置成特定值。 STEP 2 引导BIOS启动 这一过程指的是系统从物理地址0xfffffff0处加载一段程序到只读内存ROM- Read Only Memory这个程序在80x86体系架构中一般称为BIOS。 相关知识学习 MS-DOS的很多系统调用依赖BIOSLinux进入保护模式后不再依赖BIOSBIOS只能以实模式运行。实模式的寻址是20位总线寻址支持的寻址空间为2^20也就是1MB保护模式目前在x86结构下支持4GB寻址; 实际区别主要是EIP中的虚地址到实地址转化的区别 实模式是seg(eip地址)*16offset(4为偏移量) 保护模式实EIP的16位地址代表页面位置一个页在操作系统中都学习过是4KB1M*4K 4G我相信很多人就此理解了为啥页的大小要设计成4K 0x2 BIOS引导操作系统镜像的加载 STEP 1 检查硬件 没啥可说的一般可认为是开机加电自检这个阶段会显示一些信息包括BIOS版本这一类的信息。 STEP 2 初始化硬件 主要是避免IRQ先与I/O冲突本阶段最后会显示所有PCI总线--内部硬件通信线路设备信息。 STEP 3 搜索操作系统 从软盘、网络、磁盘、CD-ROM的主引导扇区上搜索。找到后加载注意到扇区的内容到0x00007c00的位置RAM中跳转到这个地址开始执行这段代码这段程序叫做bootloader。 由于大小限制linux的启动程序GRUBGRand Unified BootLoader或者是LILOLInux LOader被分为两部分。 第一部分就是加载到0x00007c00的这一段他会把自己移动到0x00096a00的位置建立实模式栈0x00098000~0x000969ff 第一部分吧第二部分加载到0x00096c00开始的位置中。 以上的位置都是在RAM中。 第二部分搜索磁盘上的OS景象把对应的扇区拷贝到RAM中执行 1、首先把内核景象的第一个512B的部分从0x00090000处装入RAM中 2、把setup()函数代码段装入0x00090200位置(RAM); 3、加载其他内核部分从高0x00100000或低0x00010000两个位置任选其一加载到RAM中分别称为大映像内核和小映像内核 4、跳转到setup函数执行 0x3 setup函数引导内核 这个过程主要是检查和初始化硬件、虽然BIOS完成了相似的大部分工作但是因为不依赖与BIOS所以还是重新初始化了硬件方面的事情重要的过程有 1、移动低装载小映像内核的位置到0x00001000去如果是高装载则不移动 2、建立IDT临时中断描述符表和GDT临时全局描述符表 3、如果需要重置浮点单元FPU 4、重新编写可编程终端控制器PIC屏蔽除IRQ2外的所有终端 5、设置cr0寄存器到PE位设置PG位为0切换到保护模式暂未启用分页 6、跳转到startup_32()函数 0x4 内核建立阶段 STEP 1 startup_32()函数 主要做的事情如下 1、初始化段寄存器和一个临时堆栈并清零eflags寄存器所有为 2、用0填充_edata 和_end符号标识的内核未初始化数据区 3、调用decompress_kernel函数解压内核映像 【低装载的情况解压内容放在0x00100000位置开始的RAM中高装载的放在这后面的一个临时缓冲区内解压后的内核就被移动到0x00100000位置】 4、跳转到0x00100000位置开始执行,新的执行点事arch/i386/kernerlhead.s中的另一个startup_32函数。 STEP 2 再战startup_32()函数 这个函数就是init进程也是pid0的0号进程主要做了一下工作 1、段寄存器初始化为最终值内核的bss段填写为0 2、初始化临时内核页表初始化pg0使得线性地址一律映射到统一的物理地址上 3、cr3寄存器保存了页全局目录并设置cr0的pg位启用分页 4、清零eflags使用setup_idt函数用空的终端处理程序填充IDT 5、从bios获取的数据系统参数和传递给os的参数放入页框1 6、识别处理器、用GDT和IDT填充gdtr和idtr寄存器 7、跳转到start_kernel函数 0x5 内核完善阶段start_kernel函数 这一阶段最终完善了内核的初始化的后续工作启动了程序调度、内存管理等操作系统的功能其中就涉及到了著名的函数sched_init函数至此系统完全启动成功。 转载于:https://www.cnblogs.com/KevinGeorge/p/10166647.html
http://www.yutouwan.com/news/389463/

相关文章:

  • 网站后台维护月薪多少如何使用网站模板
  • 审计实务网站建设论文网站图片展示源代码
  • 网站建设书籍论文30g月流量网站
  • 电商购物网站模板下载自己公司内网网站和外网怎么做同步
  • 网页网站模板乱起封神是那个网站开发的?
  • 编程开源网站电商建设网站
  • 网站横幅图片wordpress 插件 2014
  • 婚纱摄影网站源码苏州博客关键词优化
  • 建站公司新闻资讯wordpress调用最近更新文章
  • 深圳地铁网站开发wordpress上一篇下一篇
  • 做网站的知名品牌公司一个购物网站开发语言
  • 乐营销网站沧浪企业建设网站电话
  • 松江网站建设多少钱建筑网片自动清洗机
  • 北京制作网站公司哪家好网站建设 网站开发 区别
  • 网站被k换域名WordPress首行缩进段落
  • 施工建设集团网站标书制作员这工作好吗
  • 网站怎么做响应式布局职业生涯规划大赛心得体会
  • 深圳最好的营销网站建设公司排名太和县建设银行网站
  • 网站建设的教学视频百度广告代理
  • eclipse网站开发教程抚州做网站公司
  • 网站制作完成之后如何登陆公司网站后台
  • wordpress开启全站ssl郴州网站建设公司哪家好
  • 有没有做网页的网站杭州网站建设的公司
  • 天津市住房和城乡建设厅官方网站凡客是什么意思
  • 北京好的做网站的公司哪家好主流建站公司
  • net域名大网站公司简介模板100字范文
  • 网站建设进展报告怎么做钓鱼网站生成
  • 广告行业包括网站建设吗首页优化公司
  • 腾讯云服务器做网站可以吗网站建设的主要缺陷
  • 我的网站百度找不到网站的可用性