操作系统是如何启动的

如何在屏幕上输出hello world?

1.CPU发送指令(将ASCII放在显示器上)(通过CPU-内存总线)给内存
2.内存->CPU-内存总线传输数据到总线控制器->再到图形控制器->输出到屏幕

什么是操作系统

我们的操作系统是从:
    应用软件->操作系统接口->操作系统->计算机硬件
  操作系统是在计算机硬件的“衣服”,方便人操作硬件,管理几乎所有的硬件

电脑是如何启动的(1.读入内存2.初始化)

       X86打开时,CS=0xFFFF,IP=0x0000
      寻址:CS:IP  0xFFFF0(开机时唯一有代码的地方ROM  BIOS)
        然后检查RAM,键盘,显示器,磁盘等硬件
        将磁盘的0磁道0扇区(引导扇区,第一个扇区,第一段代码  )读入0x7c00处(一个扇区512字节)
        设置CS=0x07C0,IP=0x0000
        然后就开始我们或者不同牌子的电脑厂家设置的开机启动流程了(开机界面)。
        setup读取硬件参数,第一段为head.s将汇编转为32位,最后跳到main函数,将system挪动到00地址处,然后使用mem_init函数将没有使用的位置初始化为0,同时初始化键盘,鼠标等硬件。
        接下来开始执行system模块,使用makefile参数系统镜像(Image)(依赖bootsect.s,setup.s,system,build),
      将镜像挪动到0磁道0扇区处,开始读入操作系统,初始化,产生桌面

什么是引导扇区呢?

引导扇区是一段汇编代码:bootsect.s

为什么不用其他语言做引导扇区呢?

汇编对地址和机器码可以进行强行控制,避免意外发生。
高级语言对地址以及机器码的把握会有很多意外
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,188评论 19赞 139
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 4,012评论 0赞 10
  • 文||刘刘叫我头头 冲着我们家谦谦去看了《谁是大歌神》。张靓颖那一期,她的闺蜜潘辰到现场助阵。 聊到自己在外面打拼...
    雨山西木酱阅读 1,107评论 0赞 1
  • 做产品离不开对需求的分析整理,当我们面对海量的需求该如何面对,如何处理,如何剔除伪需求,提炼出真需求来作为做产品的...
    读者爱之成就阅读 520评论 0赞 0
  • 大家好,欢迎收听《好郝说话》,我是郝十三郎。 今晚我愿意和大家共同继续探讨下《无问西东》这部电影,第5期,让我们重...
    好郝说话阅读 369评论 0赞 1

友情链接更多精彩内容