Lab1:bootloader操作系统的启动】的更多相关文章

前言 最近接了一个外包项目再加上填一些之前立的flag,发现好像很久没有发博客了.现在编译原理操作系统算法方面都还有大坑没有填,加上离实习越来越近,应用层方面的学习也要加强了,但反倒是压力越大越想摸鱼 之前暑假的时候跟着书上写过一个玩具操作系统,然后之后还翻了一下Linux0.11一起写了一个系列的博客,但是还是觉得认识的太浅薄,然后最近发现清华大学的一个操作系统课程,就跟着了.准备用博客来记录一下,虽然会和之前的那个系列有些重复,但是也算是加强巩固了 BIOS 对于所有寄存器开机时都有各自的初…
前言 今天本来的任务看书和把之前写的FragileOS整理一下,但是到现在还在摸鱼,书也只看一点.后来整理了一下写这个系列的思路,原本的目的是对操作系统原理性的学习和对之前写的一个玩具型操作系统的回顾,就是想对操作系统的知识的轮廓能有一个了解,现在想来想减少对之前写的系统的回顾,毕竟也只有2000多行,但是还是要有对整个思路的展现.然后增加对Linux 0.12源码的一些学习.所以离标题可能比较远了一点,但是就这样吧 什么是操作系统 原本这一节是写计算机系统和操作系统概述的,但是写到一半觉得太水…
通过从代码层面分析Linux内核启动来探知操作系统的启动过程 前言说明 本篇为网易云课堂Linux内核分析课程的第三周作业,我将围绕Linux 3.18的内核中的start_kernel到init进程启动过程来深入探知操作系统的启动,文中的代码来自Linux Kernel Organization的3.18.9内核源码 本篇关键词:init进程,idle进程,Linux内核启动 分析 分析说明 分析过程将把主要精力放在关键代码的分析上,代码分析的方式我是采用注释说明的方法,这样比较简洁直观,对于…
---恢复内容开始--- 开机流程回忆 以Intel 80386为例,计算机加电后,CPU从物理地址0xFFFFFFF0(由初始化的CS:EIP确定,此时CS和IP的值分别是0xF000和0xFFF0))开始执行.在0xFFFFFFF0这里只是存放了一条跳转指令,通过跳转指令跳到BIOS例行程序起始点.BIOS做完计算机硬件自检和初始化后,会选择一个启动设备(例如软盘.硬盘.光盘等),并且读取该设备的第一扇区(即主引导扇区或启动扇区)到内存一个特定的地址0x7c00处,然后CPU控制权会转移到那…
关于ISO.WIM.GHO三者的正确理解. ISO(Isolation)文件一般以ISO为扩展名,是复制光盘上全部信息而形成的镜像文件. WIM是英文Microsoft Windows Imaging Format(WIM)的简称,它是Windows基于文件的映像格式.WIM 映像格式并非现在相当常见的基于扇区的映像格式,它是基于文件的.WIM 文件存储一个或多个操作系统的副本(称为映像).可以在未启动操作系统的情况下,离线添加和删除驱动程序.更新内容以及 Windows 组件. GHO是Gho…
一.总体功能 1.从通电到BIOS跳转 1.1 CPU在通电后,先进入实模式,设置CS=0XFFFF,IP = 0X0000(指向BIOS) 1.2 BIOS进行执行系统监测,并且在地址=0处初始化中断向量 1.3 将启动设备的第一个扇区(引导扇区,512B)读入0x7c00处 1.4 设置CS=0X07C0,IP=0X0000,跳转到该地址 2.BootSect.S 2.1 跳转到0x7c00时,该部分存放的是BootSect.S的程序,操作系统的所有故事从这开始 2.2 开始执行后,把自身移…
作者:吴乐  山东师范大学 <Linux内核分析> 孟宁 MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.程序设计与分析 mymain.c编写如下,参考了孟宁老师的设计. /* * linux/mykernel/mymain.c * * Kernel internal my_start_kernel * * Copyright (C) 2013 Mengning * */ #include <linux/types.h&g…
1. 首先启动内部ROM固化的BOOT,然后这个ROM启动需要使用内存空间0X2000 0000 --- 0X2000 4000共16K的空间.一级BOOT的作用是串口升级和驱动库. 2. 然后是二级BOOT,主要用途是OTA升级.二级BOOT有2个工程application_bootloader,relocator(在application_bootloader工程的里面),首先启动relocator工程,然后在relocator工程里面修改程序PC指针,启动application_bootl…
安装系统前,我们需要制作系统安装启动U盘(或者DVD,但已经很少使用DVD,所以不再介绍),通过启动U盘来帮助我们安装下载好的Linux系统. 接下来我们来介绍在Windows.Linux和MacOS三种系统下的制作启动U盘方法. 准备条件: 已经下载到本地的Linux系统安装镜像ISO文件. 一个4GB以上的U盘. 接下来我们来介绍在Windows.Linux和MacOS三种系统下的制作启动U盘方法. 在Windows上制作启动U盘 下载 Universal USB Installer (GP…
Centos6: # 1.加电自检(BIOS)# 2.MBR引导(512k)dd </dev/zero >/dev/sda bs=1k count=400 # 3.GRUB菜单(选择系统)# 4.运行init - 检查/etc/inittab(id:3:initdefault)    - 找到/etc/rc3.d/目录下,所有以S开头的服务,并启动    # 5.建立终端# 6.用户登录## 运行级别:- 0:关机- 1:单用户模式- 2:多用户模式(没有文件系统,没有网络)    - 3:多…