由于GrapeOS目前只支持x86,所以本讲我们简单的介绍一下x86。

百度百科上是这样介绍的:x86泛指一系列基于Intel 8086且向后兼容的中央处理器指令集架构。

中央处理器就是我们平时说的CPU,英文全称是Central Processing Unit。

有人可能对指令集不是很清楚。计算机的运行过程主要就是CPU执行各种指令的过程,某种CPU能执行的所有指令的集合就叫该种CPU的指令集。但光这么说感觉有点泛泛而谈。其实指令集就是CPU的语言,就像人类的语言,我们可以从横向和纵向分别对比一下。从横向来说,人类的语言有很多种,不同的人群说着不同的语言,但可以用不同的语言来描述同一件事情。同样指令集也不止一种,不同架构的CPU用着不同的指令集。比如x86架构的CPU都用x86的指令集,ARM架构的CPU都用ARM的指令集。但一种指令集架构的CPU能做的事,理论上其它指令集架构的CPU也能做。从纵向来说,人类的语言是在不断发展的,同一种语言会随着社会的发展会不断增加新的词汇或新的用法,但不会丢弃之前的词汇或用法,就算部分旧的词汇和用法不常用了,但仍然可以理解其含义。指令集也是类似的,每一种指令集随着社会的发展,面对新的需求,需要增加一些新的指令或用法,同样一般会兼容旧有的指令或用法,否则很多旧软件就不能用了。

x86之所以叫x86是因为早期的x86系列CPU是用数字命名的,比如8086、80186、80286、80386以及80486,这些名字都是以86结尾,所以统称x86。虽然后来不用数字命名了,改叫奔腾、酷睿等,但仍然继续叫x86系列。

关于x86我们需要简单的了解一下它的历史,这里主要了解下面这三款CPU就够了:

  1. 英特尔于1978年推出型号为8086的CPU,是x86的开山鼻祖。8086是16位CPU,运行模式只有实模式,共1M内存地址空间。
  2. 英特尔于1982年推出型号为80286的CPU。80286是16位CPU,运行模式首次有了保护模式,共16M内存地址空间。
  3. 英特尔于1985年推出型号为80386的CPU。80386是32位CPU,可以运行在32位保护模式下,共4G内存地址空间。

以上3款CPU大家先有个印象就行,详细信息我们后面会介绍。我们这里需要明白的主要有两点:

  1. x86系列CPU中,每一代都兼容前面的所有CPU,直到现在最新的x86CPU仍然兼容四十多年前的8086。
  2. 虽然x86是英特尔首先发明的,但做x86CPU的企业不止英特尔一家,市场上常见的还有AMD。所以如果你的电脑用的是AMD的CPU,学习本套教程完全没有问题。

本讲对应的视频版地址:https://www.bilibili.com/video/BV1MM4y1Q7A1/

GrapeOS操作系统交流QQ群:643474045

自己动手从零写桌面操作系统GrapeOS系列教程——8.x86介绍的更多相关文章

  1. 《一步一步写嵌入式操作系统》读书笔记1—Skyeye介绍、安装和HelloWorld

    2013-11-14 最近在看<一步一步写嵌入式操作系统>,感觉此书甚好,许多地方讲得很清楚.可操作性强,计划边读边实践边写笔记,希望能够逐步熟悉嵌入式操作系统底层的东西,最终剪裁出一套实 ...

  2. 别人写的一个Bootstrap系列教程

    http://www.cnblogs.com/lansy/category/659061.html

  3. 一个人写的操作系统 - Sparrow OS

    一个人写的操作系统 - Sparrow OS 自己写一个操作系统,这是在过去的几年里我一直为之努力的目标,现在终于完成了. 缘起 自己动手写操作系统的动机最初来自于学习Linux遇到的困难. 我是一个 ...

  4. 自制 os 极简教程1:写一个操作系统有多难

    为什么叫极简教程呢?听我慢慢说 不知道正在阅读本文的你,是否是因为想自己动手写一个操作系统.我觉得可能每个程序员都有个操作系统梦,或许是想亲自动手写出来一个,或许是想彻底吃透操作系统的知识.不论是为了 ...

  5. 【操作系统】关于Linux桌面操作系统

    以前是Win+Ubuntu+黑苹果,周末想体验一下deepin,于是简单安装了一下,安装过程很简单,这里不再描述.安装之后,第一次打开系统,确实很惊艳,赏心悦目的操作系统. 之前用Ubuntu时候,C ...

  6. 盘点|2021年最受欢迎Linux桌面操作系统前十名

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 阿里云开源镜像站利用云服务上的优势,提供快速.稳定的镜像分发服务.和免费的CDN加速服务.更新频率高,基本上一天一更新,对于Centos/Ubun ...

  7. 手把手教你从零写一个简单的 VUE

    本系列是一个教程,下面贴下目录~1.手把手教你从零写一个简单的 VUE2.手把手教你从零写一个简单的 VUE--模板篇 今天给大家带来的是实现一个简单的类似 VUE 一样的前端框架,VUE 框架现在应 ...

  8. Python之美[从菜鸟到高手]--一步一步动手给Python写扩展(异常处理和引用计数)

    我们将继续一步一步动手给Python写扩展,通过上一篇我们学习了如何写扩展,本篇将介绍一些高级话题,如异常,引用计数问题等.强烈建议先看上一篇,Python之美[从菜鸟到高手]--一步一步动手给Pyt ...

  9. Zedboard学习(一):移植Ubuntu桌面操作系统 标签: ubuntu移植zedboardFPGA 2017-07-04 21:53 26人阅读

    环境准备: 首先,需要的肯定是Ubuntu操作系统.可以在自己的电脑上安装物理机,也可以是虚拟机下运行的.我的是在Vmware下运行的Ubuntu14.04 32位操作系统. 由于zedboard上的 ...

  10. 27、从零写UVC驱动之分析数据传输(设置ubuntu通过串口打印,指定打印到文件,ubuntu切换root用户)

    A. 设置ubuntu让它从串口0输出printk信息a. 设置vmware添加serial port, 使用文件作为串口(在vmware中设置,文件是保存在windows中)b. 启动ubuntu, ...

随机推荐

  1. 论文翻译:2022_DNS_1th:Multi-scale temporal frequency convolutional network with axial attention for speech enhancement

    论文地址:带轴向注意的多尺度时域频率卷积网络语音增强 论文代码:https://github.com/echocatzh/MTFAA-Net 引用:Zhang G, Yu L, Wang C, et ...

  2. 深度学习GPU加速配置方法

    深度学习GPU加速配置方法 一.英伟达官方驱动及工具安装 首先检查自己的电脑驱动版本,未更新至最新建议先将驱动更新至最新,然后点击Nvidia控制面板 2.在如下界面中点击系统信息,点击显示可以看见当 ...

  3. 详解Python当中的pip常用命令

    原文链接:https://mp.weixin.qq.com/s/GyUKj_7mOL_5bxUAJ5psBw 安装 在Python 3.4版本之后以及Python 2.7.9版本之后,官网的安装包当中 ...

  4. js实现n秒内只能点击一次操作

    <button @click="submit">5秒内只能点一次</button>

  5. vue项目封装 axios 和 api

    一,utils文件夹下新建一个request.js文件 import axios from 'axios'; import QS from 'qs'; import { Toast } from 'v ...

  6. JavaScript:操作符:比较运算符及其隐式转换数据类型

    不等关系 即大于>:大于等于>=:小于<:小于等于<= 当比较的两个变量,有非数字时,会隐式转换为数字再比较,转换情况同算术运算符: 当两个变量均为字符串时,不会进行转换,而是 ...

  7. js 禁用刷新快捷键

    // 上代码 /** * 按键监听 * Ctrl-17,F5-116,R-82 */ var oldKeyCode = -1; document.onkeydown = function (e) { ...

  8. 算法学习笔记(8.1): 网络最大流算法 EK, Dinic, ISAP

    网络最大流 目录 网络最大流 EK 增广路算法 Dinic ISAP 作者有话说 前置知识以及更多芝士参考下述链接 网络流合集链接:网络流 最大流,值得是在不超过管道(边)容量的情况下从源点到汇点最多 ...

  9. 【Allwinner】---全志GPIO号 计算

    全志的GPIO号在 sunxi-gpio.h 中定义 sunxi-gpio.h1二.GPIO号定义#define SUNXI_PA_BASE 0#define SUNXI_PB_BASE 32#def ...

  10. 【Django drf】视图类APIView之五层封装 ApiView的类属性 drf配置文件

    目录 ApiView的类属性 drf 配置文件之查找顺序 drf之请求 APIView之请求相关配置 drf之响应 APIView之响应相关配置 Response对象属性 视图类 序列化类 路由 基于 ...