首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 操作系统开发:编写开机引导

    操作系统是用来管理与协调硬件工作的,开发一款操作系统有利于理解底层的运转逻辑,本篇内容主要用来理解操作系统是如何启动的,又是如何加载磁盘中的内核的,该系列文章参考各类底层书籍,通过自己的理解并加以叙述, 简单的引导MBR的代码如下,首先我们需要先初始化每个段寄存器DS,ES,SS,FS,SP然后通过调用两次int 0x10中断对命令行进行置空操作,最后通过mov ax,01301h也就是13号中断,打印出字符串 让MBR直接驱动显卡 如上代码,我们通过调用BIOS提供的int 0x10中断来实现打印字符操作,但我们在后期必须要借助显卡来输出图像,而显卡是外部设备,必须通过总线来操作。 这个地址转换过程是由操作系统与处理器共同协作完成的,处理器在硬件上提供地址转换部件,操作系统提供转换过程中所需要的页表。 如果A20Gate被打开,当访问到0x100000-0x10FFEF之间的地址时,CPU将真正访问这块物理内存。

    1K30编辑于 2023-02-25
  • 【鸿蒙操作系统开发指南】

    鸿蒙操作系统开发指南 系统概述 HarmonyOS是华为推出的全场景分布式操作系统,采用微内核架构设计,具备以下核心特性: 分布式能力:支持跨设备无缝协同 统一生态:适配多种终端形态 安全可靠:通过多项国际安全认证 线程模型 UI线程(主线程)禁止执行耗时操作,需使用TaskDispatcher分发任务到后台线程。推荐使用GlobalTaskDispatcher管理全局任务。 this.outerRef = ref; } } } 安全机制:AccessToken权限管理与双因素验证 采用基于角色的访问控制(RBAC)模型管理AccessToken,为不同操作划分权限等级 敏感操作需绑定动态令牌或生物特征验证,通过@RequirePermission注解强制校验。 securityManager.enableMFA({ tokenType: 'TOTP', // 时间型动态令牌 fallback: 'biometric' // 备选生物识别 }); // 敏感操作权限检查

    42410编辑于 2025-12-17
  • 操作系统开发:启用内存分页机制

    二级页表地址转换原理是将 32 位虚拟地址拆分成高 10 位、中间 10 位、低 12 位三部分, 高 10 位作为页表的索引,用于在页目录表(PT)中定位一个页目录项(PDE),页目录项中有页表物理地址 具体寻址流程如下所示: 1.用虚拟地址的高 10 位乘以 4,作为页目录表内的偏移地址,加上页目录表的物理地址(CR3内的基地址),所得的和,便是页目录项的物理地址。 3.虚拟地址的高 10 位和中间 10 位分别是 PDE 和 PTE 的索引值,所以它们需要乘以 4,而低 12 位作为页内偏移直接与第2步物理页地址相加,即可得到实际内存物理地址。 ,而操作系统只有一个,所以必须将操作系统中的API资源共享给所有用户进程使用。 TLB 并不自动更新,处理器也不负责 TLB 的有效性,它把 TLB 的维护工作交给操作系统开发人员,由开发人员手动控制 尽管 TLB 对开发人员不可见,但依然有两种方法可以间接更新 TLB 一个是针对

    1.2K10编辑于 2023-02-25
  • 操作系统开发:BIOSMBR基础与调试

    **注释:**该系列笔记是在学习《操作系统真相还原》时通过阅读后简化并适当描述整理的学习笔记,首先,致敬作者郑刚博士,在读本书时能深刻的感觉到作者写书时一丝不苟的态度,书很厚写的,讲解细致幽默,很能让人愿意继续读下去 ; 10h中断,用来显示字符 ret Message: db "hello lyshark !" log:bochsout.txt mouse:enabled=0 keyboard: keymap=$BXSHARE/keymaps/x11-pc-de.map 上方屏幕会比较混乱,这里我们先来进行清屏操作 ; 调用10h号中断,用来显示字符 ret Message: db "hello lyshark !" 上面我们通过调用BIOS提供的int 0x10中断来实现打印字符操作,但我们在后期必须要借助显卡来输出图像,而显卡是外部设备,必须通过总线来操作

    81520编辑于 2023-10-11
  • 操作系统开发:BIOSMBR 编写开机引导

    注释:该系列笔记是在学习《操作系统真相还原》时通过阅读后简化并适当描述整理的学习笔记,首先,致敬作者郑刚博士,在读本书时能深刻的感觉到作者写书时一丝不苟的态度,书很厚写的,讲解细致幽默,很能让人愿意继续读下去 ; 10h中断,用来显示字符 ret Message: db "hello lyshark !" log:bochsout.txt mouse:enabled=0 keyboard: keymap=$BXSHARE/keymaps/x11-pc-de.map 上方屏幕会比较混乱,这里我们先来进行清屏操作 ; 调用10h号中断,用来显示字符 ret Message: db "hello lyshark !" 上面我们通过调用BIOS提供的int 0x10中断来实现打印字符操作,但我们在后期必须要借助显卡来输出图像,而显卡是外部设备,必须通过总线来操作

    1.8K20编辑于 2023-02-25
  • 来自专栏技术杂记

    Solr基础操作10

    多关键字匹配(且) + (%2B) 前缀代表必须包含 [root@h102 solr-5.3.0]# curl "http://localhost:8983/solr/gettingstarted/s

    29210编辑于 2022-06-29
  • VUE3JAVA操作系统开发日志

    内置工具,处理开发中的常见问题,如图片压缩,文件上传,文件管理等等功能预览数据【后端】自带用户管理,角色管理,权限分配,菜单管理,系统监控,代码生成,部门管理,岗位管理,参数设置,通知公告,操作日志,登录日志

    20210编辑于 2024-05-18
  • 来自专栏数字藏品系统

    2023 年 NFT 市场前 10 名 NFT系统开发

    2023 年面向新手的 10 个 NFT 市场——找到您的完美平台! NFT,即不可替代的代币,独特的数字资产已成为收藏家的热门商品。 这就是为什么我们汇总了 10 大 NFT 市场的列表,以帮助您发现满足您需求的最佳平台。从数字艺术到虚拟房地产,这些市场提供种类繁多的 NFT 以满足任何口味。 我们强调的前 10 个 NFT 市场提供了各种各样的 NFT。无论您是经验丰富的收藏家还是 NFT 世界的新手,这些市场都是发现和享受独特数字资产的好地方。一定要检查一下!

    73830编辑于 2023-02-18
  • 来自专栏玄魂工作室

    实时操作系统开发调试环境 Tornado 安装篇

    WRS 公司 组建于1981年,是一个专门从事实时操作系统开发与生产的软件公司,该公司在实时操作系统领域被世界公认为是最具有领导作用的公司。 VxWorks 是一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统。 从1995年以后, WRS 公司推出了一套实时操作系统开发环境-- Tornado。 Tornado 组件 Tornado是嵌入式实时领域里最新一代的开发调试环境,Tornado给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境。 10、一路Next下图界面点击YES ? 11、默认即可 ? 12、到达此页面把 Source选上 ?

    3K10发布于 2019-12-10
  • 来自专栏今天有没有多懂一点工业安全

    实时操作系统开发调试环境 Tornado 安装篇

    WRS 公司 组建于1981年,是一个专门从事实时操作系统开发与生产的软件公司,该公司在实时操作系统领域被世界公认为是最具有领导作用的公司。 VxWorks 是一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统。 从1995年以后, WRS 公司推出了一套实时操作系统开发环境-- Tornado。 Tornado 组件 Tornado是嵌入式实时领域里最新一代的开发调试环境,Tornado给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境。 图标将其打开,然后Next 6、以管理员身份运行点击“SETUP.EXE” 7、运行安装 8、这里需要输入秘钥:cAQ8i-qP2I&-g$vT6-3&gjw-bEk9g 9、一路Next下图界面 10

    2.2K20编辑于 2022-05-10
  • 来自专栏计算机核心基础知识

    在学习操作系统开发中选bochs还是qemu

    支持平台 Bochs可以运行在多种操作系统平台上,包括Windows、Linux、macOS等,可以模拟各种不同的操作系统。但是在有些平台上,可能需要重新编译源码才能获得可执行的程序。 QEMU也支持多种操作系统平台,包括Windows、Linux、macOS等。QEMU的特点在于它能够在多种不同的CPU架构之间进行模拟,例如在x86主机上模拟ARM架构的操作系统。 调试手段 当谈到操作系统开发时,调试是至关重要的。Bochs和QEMU都提供了各种调试手段,以帮助用户诊断和调试操作系统。 不过,从我的使用经验来说,使用qemu进行操作系统开发时,可以提供相比bochs更为丰富的调试手段。 总结 综合考虑以上因素,我最终选择的是QEMU,因为其在操作系统开发中更加适合初学者。这个软件提供了更好的易用性和灵活性,以及对于调试手段的支持。

    2K30编辑于 2023-04-07
  • 来自专栏zjblog

    从零开始做网站10-后台管理系统开发

    后台主要是发文章的功能了,各个模块加在一块代码还挺多就不上代码了,需要代码我可以在发下,简单说下哪些模块吧。

    85930编辑于 2022-06-21
  • 来自专栏侯哥的Python分享

    python基础-文件操作(10)

    打开word软件,新建一个word文件 写入个人简历信息 保存文件 关闭word软件 同样,在操作文件的整体过程与使用word编写一份简历的过程是很相似的 打开文件,或者新建立一个文件 读/写数据 关闭文件 position = f.tell() print("当前文件的位置%s"%position) f.close() 运行结果为: 读取的数据是Hel 当前文件的位置3 读取的数据是lo I am 当前文件的位置10 2、定位到某个位置 如果在读写文件的过程中,需要从另外一个位置进行操作的话,可以使用seek() seek(offset, from)有2个参数 offset:偏移量 from:方向 0:表示文件开头 position) f.close() 运行结果为: 读取的数据是Hello I am Se7eN_HOU 当前文件的位置20 当前文件的位置5 六、文件的重命名 有些时候,需要对文件进行重命名、删除等一些操作 实际开发中,有时需要用程序的方式对文件夹进行一定的操作,比如创建、删除等 就像对文件操作需要os模块一样,如果要操作文件夹,同样需要os模块 1、创建文件夹 import os #在C盘下创建一个Se7eN_HOU

    52830发布于 2019-09-11
  • 来自专栏大数据成长之路

    HDFS的javaAPI操作(10)

    在之前的博客《HDFS的shell常用命令大全》中,小菌为大家分享的是在linux系统的命令行上通过shell命令操作HDFS。 而本篇博客,小菌为大家带来的则是在java的环境下,用JavaAPI操作HDFS! 接下来小菌将分享自己的代码,其中包含一些利用api对于HDFS的常规操作!

    70820发布于 2021-01-22
  • 来自专栏鸿蒙开发笔记

    OpenHarmony轻量系统开发10】编写自己的软件包

    打开鸿蒙系统的源码,可以看到有这么一个文件夹:third_party。里面存放的是第三方的代码。

    54520编辑于 2024-09-06
  • 来自专栏菲宇

    odoo10源码win系统开发环境安装图文教程

    前言 odoo10的源码安装教程不太完整或对新手不够友好,本新手再次整合出一份友好的新手教程(老鸟慎入) 准备工作 一个干净的window系统(事先没有其他python环境的系统)如果怕系统污染可以先用虚拟机安装熟悉了再正式安装 亲测window7window10这两个系统可用。 下载地址复制粘贴至浏览器回车即可 下载安装篇 Odoo10.0源码 地址https://github.com/odoo/odoo ? 同时下载安装pywin32(window7多少位的下载相应的 window10下载32位) https://sourceforge.net/projects/pywin32/files/pywin32/ 进入odoo10源码目录,有个requirements.txt文档,里面表明了所用到的第三方lib 第三方lib安装IDE会在联网的情况下自动识别安装,有错误的回到requirements.txt用#注释即可

    1.5K30发布于 2019-06-13
  • 来自专栏技术杂记

    Mycat 运行与基础操作10

    想想就蛋疼,当然也可以修改mycat配置,让rename后的表名也成为逻辑表,但是生产环境下N多应用正连接着的情况下,不是能够那么随便就启停mycat的,要协调停机窗口,可见在这里rename是一个极其危险的操作 ,我认为Mycat在执行此类操作时,至少应该给个提醒,而不是简单的路由请求 ---- 命令汇总 iptables -L -nv | grep 3306 ll mycat.log ll wrapper.log

    28920编辑于 2021-12-03
  • 来自专栏bdcn

    win10中利用WSL搭建Linux子系统开发环境 顶

    在win10中使用Linux环境,不用安装虚拟机就,不用安装双系统,不用切换系统,直接在win10中使用Linux系统。 我们是怎么做到的呢?就是利用win10中的WSL子系统机制。 然后我们还可以将cmder的目录加到win10的环境变量Path中,然后在PowerShell中执行:Cmder.exe /REGISTER ALL 这样就将cmder加入到的win10的右键菜单中。

    2.3K20发布于 2019-03-12
  • 来自专栏技术汇总专栏

    嵌入式操作系统开发实战:不同操作系统下的嵌入式开发

    嵌入式操作系统的比较与选择嵌入式系统在现代科技中发挥着越来越重要的作用,从智能家居到工业自动化,嵌入式设备已经无处不在。在开发嵌入式系统时,选择合适的操作系统是至关重要的一步。 本文将深入探讨几种常见的嵌入式操作系统,并通过代码示例来比较它们的特性,以帮助开发者选择适合其项目的操作系统。常见的嵌入式操作系统1. 在实际应用中,任务可以执行更复杂的操作,如传感器读取、通信等。选择合适的操作系统并根据项目需求设计任务是嵌入式系统开发中的关键步骤。 开发者在选择操作系统时需要考虑到其熟悉程度以及项目的具体要求。选择适合项目的操作系统在实际项目中,根据项目的需求和约束来选择嵌入式操作系统至关重要。 对于大型项目,需要全面考虑系统的功能、性能和可维护性,选择合适的操作系统架构。结论选择嵌入式操作系统时,需要根据项目的具体要求权衡内存占用、功能性和开发难度。

    1.4K10编辑于 2023-12-12
  • 来自专栏萌海无涯

    Django学习数据库操作10

    我们学习 HTML 文件的数据返回,替换其中的内容我们是固定的格式,现在我们学习从数据库的操作,从而能让我们的页面展现更多的内容。 数据库操作的文件是 blog/models.py Django 只需要只需要定义数据模型,然后其它的杂七杂八代码你都不用关心,它们会自动从模型生成。 这个命令所执行的每个迁移操作都会在终端中显示出来。

    75920发布于 2019-09-09
领券