- Dalvik虚拟机 Dalvik虚拟机是Google区Android平台开发的虚拟机,它是Adnroid4.4以前的应用的解释执行器。Dalvik虚拟机并不是Java虚拟机(JVM)的替代器。 Dalvik虚拟机与Java虚拟机最大的不同就是Dalvik是基于寄存器,而Java虚拟机是基于栈的。为什么为这样呢?首先,Java高级程序语言是为了跨平台而被设计出来的,在... Dalvik虚拟机 Dalvik虚拟机是Google区Android平台开发的虚拟机,它是Adnroid4.4以前的应用的解释执行器。Dalvik虚拟机并不是Java虚拟机(JVM)的替代器。 Dalvik虚拟机与Java虚拟机最大的不同就是Dalvik是基于寄存器,而Java虚拟机是基于栈的。为什么为这样呢?首先,Java高级程序语言是为了跨平台而被设计出来的,在...
- 上两篇文章,【从头开始写操作系统系列】实现一个-GDT(1)、【从头开始写操作系统系列】实现一个-GDT(2),主要介绍了段描述符结构以及实现和选择子结构。这篇文章,我们结合之前所述,对 GDT 做一个总结。 全局描述符表(GDT) 全局描述符表是在保护模式下才用到的结构。在整个系统中,全局描述符表只有一张,可以放在内存的任何位置,但是CPU必须知道它的入... 上两篇文章,【从头开始写操作系统系列】实现一个-GDT(1)、【从头开始写操作系统系列】实现一个-GDT(2),主要介绍了段描述符结构以及实现和选择子结构。这篇文章,我们结合之前所述,对 GDT 做一个总结。 全局描述符表(GDT) 全局描述符表是在保护模式下才用到的结构。在整个系统中,全局描述符表只有一张,可以放在内存的任何位置,但是CPU必须知道它的入...
- Arduino初探:让 Arduino 闪起来 准备: 一台电脑(笔者使用的是 Mac)Arduino(笔者使用的是 Arduino UNO) 安装 Arduino IDE 在官网(www.arduino.cc)下载相应的 IDE,解压并安装。 打开IDE。 将 Arduino 连接至计算机 在 Mac 上会自动安装好驱动。 在 工具 -> 板 中... Arduino初探:让 Arduino 闪起来 准备: 一台电脑(笔者使用的是 Mac)Arduino(笔者使用的是 Arduino UNO) 安装 Arduino IDE 在官网(www.arduino.cc)下载相应的 IDE,解压并安装。 打开IDE。 将 Arduino 连接至计算机 在 Mac 上会自动安装好驱动。 在 工具 -> 板 中...
- 在这篇文章我们将要做: 介绍选择子实现一个选择子结构 选择子是什么? 在上篇文章中我们介绍了段描述符以及段描述符表,这篇文章我们复习一下段、段描述符、段描述符表的功能,并且介绍一下段选择子以及段描述符表。 段(Segment):在80X86中,我们知道分段机制将内存空间分为了多个线性区域,我们把这些线性区域称为段。由于我们要将这些段区分开来,于是我们对段赋予3个... 在这篇文章我们将要做: 介绍选择子实现一个选择子结构 选择子是什么? 在上篇文章中我们介绍了段描述符以及段描述符表,这篇文章我们复习一下段、段描述符、段描述符表的功能,并且介绍一下段选择子以及段描述符表。 段(Segment):在80X86中,我们知道分段机制将内存空间分为了多个线性区域,我们把这些线性区域称为段。由于我们要将这些段区分开来,于是我们对段赋予3个...
- 在这篇文章中我们完成了以下内容: 介绍 GDT介绍段描述符实现一个段描述符 介绍 GDT GDT 是什么? GDT(Global Descriptor Table)是一种数据结构,用来提供段式存储机制,这种机制是通过段寄存器和 GDT 中的描述符共同提供的。 在保护模式下,虽然现在的寄存器已经有32位的,但是我们依旧采用『段:偏移』的形式来寻址,只不过『段』的... 在这篇文章中我们完成了以下内容: 介绍 GDT介绍段描述符实现一个段描述符 介绍 GDT GDT 是什么? GDT(Global Descriptor Table)是一种数据结构,用来提供段式存储机制,这种机制是通过段寄存器和 GDT 中的描述符共同提供的。 在保护模式下,虽然现在的寄存器已经有32位的,但是我们依旧采用『段:偏移』的形式来寻址,只不过『段』的...
- 写在最前 笔者在动手写此操作系统时是一名大学本科大二的学生,可能文章中会有好多地方我没有解释清楚,可能也会有许多地方出现错误,我恳请各位读者能提出质疑和纠正我的错误,谢谢! 参考书籍: 《30天自制操作系统》川合秀实《ORANGE’S:一个操作系统的实现》 开发环境 笔者采用以下开发环境 Apple Macbook AirUbuntu 12.04 ... 写在最前 笔者在动手写此操作系统时是一名大学本科大二的学生,可能文章中会有好多地方我没有解释清楚,可能也会有许多地方出现错误,我恳请各位读者能提出质疑和纠正我的错误,谢谢! 参考书籍: 《30天自制操作系统》川合秀实《ORANGE’S:一个操作系统的实现》 开发环境 笔者采用以下开发环境 Apple Macbook AirUbuntu 12.04 ...
- 分页机制 *它是80X86内存管理机制的第二部分,它在分段的基础上完成虚拟(逻辑)地址到物理地址转换的过程 *通过设置控制寄存器CR0的PG位启用分页机制 (PG=0,禁用;PG=1,启用) ... 分页机制 *它是80X86内存管理机制的第二部分,它在分段的基础上完成虚拟(逻辑)地址到物理地址转换的过程 *通过设置控制寄存器CR0的PG位启用分页机制 (PG=0,禁用;PG=1,启用) ...
- 上几篇文章,我们一直在讨论的都是 GDT 相关的一些问题,现在我们知道在系统在从实模式向保护模式跳转时,GDT 是必须要准备的结构。在介绍这一跳转之前,这篇文章我们来介绍两个概念:一致代码段和非一致代码段。 首先,我们先来看几个问题: 一致代码段和非一致代码段是什么?为什么要有一致代码段和非一致代码段?系统提供怎样的机制来使用户程序访问内核数据?程序如何在... 上几篇文章,我们一直在讨论的都是 GDT 相关的一些问题,现在我们知道在系统在从实模式向保护模式跳转时,GDT 是必须要准备的结构。在介绍这一跳转之前,这篇文章我们来介绍两个概念:一致代码段和非一致代码段。 首先,我们先来看几个问题: 一致代码段和非一致代码段是什么?为什么要有一致代码段和非一致代码段?系统提供怎样的机制来使用户程序访问内核数据?程序如何在...
- 本节书摘来自华章计算机《系统与芯片ESD防护的协同设计》一书中第2章,第2.1.3节,作者是[美]弗拉迪斯拉夫·瓦什琴科(Vladislav Vashchenko) [比]米尔科·肖尔茨(Mirko Scholz),韩雁 丁扣宝 张世峰 译。 本节书摘来自华章计算机《系统与芯片ESD防护的协同设计》一书中第2章,第2.1.3节,作者是[美]弗拉迪斯拉夫·瓦什琴科(Vladislav Vashchenko) [比]米尔科·肖尔茨(Mirko Scholz),韩雁 丁扣宝 张世峰 译。
- 本节书摘来自华章计算机《计算机组成与体系结构(原书第4版)》一书中第3章,本章小结,作者是[美] 琳达·纳尔(Linda Null)朱莉娅·洛博(Julia Lobur)宾夕法尼亚州立大学,张 钢 魏继增 李雪威天津大学 李春阁 何 颖天津大学仁爱学院 译。 本节书摘来自华章计算机《计算机组成与体系结构(原书第4版)》一书中第3章,本章小结,作者是[美] 琳达·纳尔(Linda Null)朱莉娅·洛博(Julia Lobur)宾夕法尼亚州立大学,张 钢 魏继增 李雪威天津大学 李春阁 何 颖天津大学仁爱学院 译。
- 本节书摘来自华章计算机《计算机组成与体系结构(原书第4版)》一书中第3章,第3.6.5节,作者是[美] 琳达·纳尔(Linda Null)朱莉娅·洛博(Julia Lobur)宾夕法尼亚州立大学,张 钢 魏继增 李雪威天津大学 李春阁 何 颖天津大学仁爱学院 译。 本节书摘来自华章计算机《计算机组成与体系结构(原书第4版)》一书中第3章,第3.6.5节,作者是[美] 琳达·纳尔(Linda Null)朱莉娅·洛博(Julia Lobur)宾夕法尼亚州立大学,张 钢 魏继增 李雪威天津大学 李春阁 何 颖天津大学仁爱学院 译。
- 一个月前,我想在阿里云 ECS 上部署一个 PHP 接口,发现服务器没有配置 PHP-FPM,所以立刻捣鼓了下,没想到是最后花了一小时才搞定,事后分析了下,就是太急躁了,没有使用正确的方法解决问题。 一个教训:不管遇到任何事情,切记不能着急,仔细查阅文档才是正道。 一个月前,我想在阿里云 ECS 上部署一个 PHP 接口,发现服务器没有配置 PHP-FPM,所以立刻捣鼓了下,没想到是最后花了一小时才搞定,事后分析了下,就是太急躁了,没有使用正确的方法解决问题。 一个教训:不管遇到任何事情,切记不能着急,仔细查阅文档才是正道。
- 模组的波特率默认为9600,从 B656SP2 版本开始,主串口波特率可以通过 AT+NATSPEED 指令修改 设置波特率例如将9600改为115200指令:AT+NATSPEED=115200,30,1,2,1指令解释:115200为波特率,30表示发送完这条指令后30秒内要用115200这个波特率发送任意指令,这样设置才能生效回复:+NATSPEED:DISABLE_DEEP_SLE... 模组的波特率默认为9600,从 B656SP2 版本开始,主串口波特率可以通过 AT+NATSPEED 指令修改 设置波特率例如将9600改为115200指令:AT+NATSPEED=115200,30,1,2,1指令解释:115200为波特率,30表示发送完这条指令后30秒内要用115200这个波特率发送任意指令,这样设置才能生效回复:+NATSPEED:DISABLE_DEEP_SLE...
- 本书摘自《KVM实战:原理、进阶与性能调优》一书中第2章,第2.1.2节,作者是任永杰 程舟 本书摘自《KVM实战:原理、进阶与性能调优》一书中第2章,第2.1.2节,作者是任永杰 程舟
- 前言 在学习深入学习Go语言的过程中,需要大量阅读Go语言的汇编代码来查看Go运行的运行原理,那么本文将简单介绍Go语言的汇编指令语法,让大家后续可以简单读懂Go的汇编指令。 简介 Go语言的汇编是基于Pan9汇编语言的风格(https://9p.io/sys/doc/asm.html) 大部分情况我们是不需要写汇编代码的,所以下面主要简单介绍一下Go的汇编语法 生成汇编 前言 在学习深入学习Go语言的过程中,需要大量阅读Go语言的汇编代码来查看Go运行的运行原理,那么本文将简单介绍Go语言的汇编指令语法,让大家后续可以简单读懂Go的汇编指令。 简介 Go语言的汇编是基于Pan9汇编语言的风格(https://9p.io/sys/doc/asm.html) 大部分情况我们是不需要写汇编代码的,所以下面主要简单介绍一下Go的汇编语法 生成汇编
上滑加载中
推荐直播
-
华为云开发者日·2024年度创享峰会
2024/12/23 周一 14:00-16:00
华为云讲师团
华为云开发者日HDC.Cloud Day是面向全球开发者的旗舰活动,汇聚来自千行百业、高校及科研院所的开发人员。致力于打造开发者专属的技术盛宴,全方位服务与赋能开发者围绕华为云生态“知、学、用、创、商”的成长路径。通过前沿的技术分享、场景化的动手体验、优秀的应用创新推介,为开发者提供沉浸式学习与交流平台。开放创新,与开发者共创、共享、共赢未来。
回顾中 -
GaussDB管理平台TPOPS,DBA高效运维的一站式解决方案
2024/12/24 周二 16:30-18:00
Leo 华为云数据库DTSE技术布道师
数据库的复杂运维,是否让你感到头疼不已?今天,华为云GaussDB管理平台将彻底来改观!本期直播,我们将深入探索GaussDB管理平台的TPOPS功能,带你感受一键式部署安装的便捷,和智能化运维管理的高效,让复杂的运维、管理变得简单,让简单变得可靠。
去报名 -
华为云软件开发生产线(CodeArts)11月新特性解读
2024/12/24 周二 19:00-20:00
苏柏亚培 华为云高级产品经理
不知道产品的最新特性?没法和产品团队建立直接的沟通?本期直播产品经理将为您解读华为云软件开发生产线10月发布的新特性,并在直播过程中为您答疑解惑。
即将直播
热门标签