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

    操作系统是用来管理与协调硬件工作的,开发一款操作系统有利于理解底层的运转逻辑,本篇内容主要用来理解操作系统是如何启动的,又是如何加载磁盘中的内核的,该系列文章参考各类底层书籍,通过自己的理解并加以叙述, 让MBR直接驱动显卡 如上代码,我们通过调用BIOS提供的int 0x10中断来实现打印字符操作,但我们在后期必须要借助显卡来输出图像,而显卡是外部设备,必须通过总线来操作。 :0x8],'a' mov byte [gs:0x9],0xa6 mov byte[gs:0xa],'r' mov byte [gs:0xb],0xa5 5. 这个地址转换过程是由操作系统与处理器共同协作完成的,处理器在硬件上提供地址转换部件,操作系统提供转换过程中所需要的页表。

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

    鸿蒙操作系统开发指南 系统概述 HarmonyOS是华为推出的全场景分布式操作系统,采用微内核架构设计,具备以下核心特性: 分布式能力:支持跨设备无缝协同 统一生态:适配多种终端形态 安全可靠:通过多项国际安全认证 线程模型 UI线程(主线程)禁止执行耗时操作,需使用TaskDispatcher分发任务到后台线程。推荐使用GlobalTaskDispatcher管理全局任务。 敏感操作需绑定动态令牌或生物特征验证,通过@RequirePermission注解强制校验。 关键配置: // module.json5 { "module": { "name": "microService", "type": "entry", "installationFree ": true, "deliveryWithInstall": false } } 体积优化技巧: 使用Tree Shaking移除未引用代码 将非核心功能移至云端H5页面 采用QuickJS

    42310编辑于 2025-12-17
  • 来自专栏陶士涵的菜地

    H5客服系统开发实现

    系统概述 我们的H5客服系统主要包含两个入口: ​​直接访问入口​​:https://域名/h5(通常不建议直接使用) ​​微信公众号入口​​:通过模板消息通知进入(推荐方式) 为什么设计两种登录方式 直接访问方式 虽然提供了https://域名/h5的直接访问入口,但在实际应用中我们并不推荐这种方式。 H5端会话初始化 // H5端入口处理 func HandleH5Entry(c *gin.Context) { // 从微信跳转带有的code获取openid code := c.Query = nil { // 处理无会话情况 return } // 渲染H5页面 c.HTML(200, "h5_chat.html", gin.H "sessionID": session.ID, "staffInfo": session.StaffInfo, }) } 安全考虑 ​​CSRF防护​​:所有状态变更操作都要求验证微信

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

    为了计算机安全,用户进程必须运行在低特权级,当用户进程需要访问硬件相关的资源时,需要向操作系统申请,由操作系统去做,之后将结果返回给用户进程,通常申请资源需要调用系统提供给我们的API接口,进程可以有无限多个 ,而操作系统只有一个,所以必须将操作系统中的API资源共享给所有用户进程使用。 如何实现操作系统接口共享? 我们可以把4GB虚拟地址空间分成两部分,将4GB内存的高3GB-4GB以上的地址空间划分给操作系统,用户进程则在0GB-3GB低位地址空间内。 为了实现共享操作系统,让所有用户进程3GB-4GB的虚拟地址空间都指向同一个操作系统,也就是所有进程的虚拟地址3GB-4GB本质上都是指向的同一片物理页地址,这片物理页上是操作系统的实体代码。 TLB 并不自动更新,处理器也不负责 TLB 的有效性,它把 TLB 的维护工作交给操作系统开发人员,由开发人员手动控制 尽管 TLB 对开发人员不可见,但依然有两种方法可以间接更新 TLB 一个是针对

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

    **注释:**该系列笔记是在学习《操作系统真相还原》时通过阅读后简化并适当描述整理的学习笔记,首先,致敬作者郑刚博士,在读本书时能深刻的感觉到作者写书时一丝不苟的态度,书很厚写的,讲解细致幽默,很能让人愿意继续读下去 上面我们通过调用BIOS提供的int 0x10中断来实现打印字符操作,但我们在后期必须要借助显卡来输出图像,而显卡是外部设备,必须通过总线来操作。 mov byte [gs:0x01],0xa4 ; 显示A=绿色闪烁 4=红色 mov byte [gs:0x02],'B' mov byte [gs:0x03],0xa5 mov byte [gs:0x01],0xa4 ; 显示A=绿色闪烁 4=红色 mov byte [gs:0x02],'y' mov byte [gs:0x03],0xa5 mov byte[gs:0x8],'a' mov byte [gs:0x9],0xa6 mov byte[gs:0xa],'r' mov byte [gs:0xb],0xa5

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

    注释:该系列笔记是在学习《操作系统真相还原》时通过阅读后简化并适当描述整理的学习笔记,首先,致敬作者郑刚博士,在读本书时能深刻的感觉到作者写书时一丝不苟的态度,书很厚写的,讲解细致幽默,很能让人愿意继续读下去 上面我们通过调用BIOS提供的int 0x10中断来实现打印字符操作,但我们在后期必须要借助显卡来输出图像,而显卡是外部设备,必须通过总线来操作。 mov byte [gs:0x01],0xa4 ; 显示A=绿色闪烁 4=红色 mov byte [gs:0x02],'B' mov byte [gs:0x03],0xa5 mov byte [gs:0x01],0xa4 ; 显示A=绿色闪烁 4=红色 mov byte [gs:0x02],'y' mov byte [gs:0x03],0xa5 mov byte[gs:0x8],'a' mov byte [gs:0x9],0xa6 mov byte[gs:0xa],'r' mov byte [gs:0xb],0xa5

    1.8K20编辑于 2023-02-25
  • VUE3JAVA操作系统开发日志

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

    20210编辑于 2024-05-18
  • 来自专栏技术杂记

    Ruby 操作 MongoDB(5

    '5745b4aaf677048eff545bc4'), "name"=>"replaceTest"}, {"_id"=>BSON::ObjectId('5745b54ff677048eff545bc5'

    45330发布于 2021-10-19
  • 来自专栏鸿蒙开发笔记

    OpenHarmony轻量系统开发5】驱动之GPIO点灯

    5.1点灯例程源码先看最简单得LED灯闪烁操作源码结构如下:第一个BUILD.gn文件内容:static_library("led_demo") { sources = [ "led_demo.c

    49610编辑于 2024-09-04
  • 来自专栏技术杂记

    Solr基础操作5

    指定集合然后使用 Query 或通过 http://192.168.100.102:7574/solr/#/gettingstarted_shard2_replica1/query

    27110编辑于 2022-06-29
  • 来自专栏玄魂工作室

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

    WRS 公司 组建于1981年,是一个专门从事实时操作系统开发与生产的软件公司,该公司在实时操作系统领域被世界公认为是最具有领导作用的公司。 从1995年以后, WRS 公司推出了一套实时操作系统开发环境-- Tornado。 Tornado 组件 Tornado是嵌入式实时领域里最新一代的开发调试环境,Tornado给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境。 CD1.iso和CD2.iso只能用虚拟光驱安装,解压安装会出现错误. 2、安装setup时右键“以管理员身份运行” 3、注意环境变量的设置 4、安装程序到60%会卡注意杀掉Tornado.exe进程 55、进入我的电脑,双击风河驱动器(TDK-14621-ZC-01)图标将其打开,然后Next ? 6、以管理员身份运行点击“SETUP.EXE” ? 7、运行安装 ?

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

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

    WRS 公司 组建于1981年,是一个专门从事实时操作系统开发与生产的软件公司,该公司在实时操作系统领域被世界公认为是最具有领导作用的公司。 从1995年以后, WRS 公司推出了一套实时操作系统开发环境-- Tornado。 Tornado 组件 Tornado是嵌入式实时领域里最新一代的开发调试环境,Tornado给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境。 CD1.iso和CD2.iso只能用虚拟光驱安装,解压安装会出现错误. 2、安装setup时右键“以管理员身份运行” 3、注意环境变量的设置 4、安装程序到60%会卡注意杀掉Tornado.exe进程 5、 WINDRIVER.TORNADO.V2.2.FOR.PENTIUM.CD1(ED2000.COM).ISO” 5、进入我的电脑,双击风河驱动器(TDK-14621-ZC-01)图标将其打开,然后Next

    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
  • 来自专栏look Java

    5 java操作zookeeper

    5 java操作zookeeper 本文使用java操作zookeeper都是在集群环境下进行的 搭建集群文章 创建一个Maven工程 添加pom文件 <dependencies }); } } 出现绿色说明连接成功了 创建节点 一个ACL对象就是一个Id和permission对 表示哪个/哪些范围的Id(Who)在通过了怎样的鉴权(How)之后,就允许进行那些操作 (What):Who How What; permission(What)就是一个int表示的位码,每一位代表一个对应操作的允许状态。 类似linux的文件权限,不同的是共有5操作:CREATE、READ、WRITE、DELETE、 ADMIN(对应更改ACL的权限) OPEN_ACL_UNSAFE:创建开放节点,允许任意操作

    26210编辑于 2023-12-07
  • 来自专栏Owen's World

    tp5事务操作

    使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如: 自动控制事务处理 Db::transaction(function(){ Db::table('think_user 回滚数据 HotWordModel::getInstance()->rollback(); } HotWordModel::getInstance()->commit(); 复制代码 注意在事务操作的时候

    53220编辑于 2021-12-08
  • 来自专栏changxin7

    5.Python操作MySQL

    database='db', port=3306, charset='utf-8', ) cur = conn.cursor(cursor=pymysql.cursors.DictCursor) 创建表操作 INT, SEX CHAR(1), INCOME FLOAT )""" cursor.execute(sql) # 关闭数据库连接 db.close() 操作数据 插入操作 import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # db.commit() # 执行sql语句 except: db.rollback() # 发生错误时回滚 # 关闭数据库连接 db.close() 查询操作 lname, age, sex, income )) except: print ("Error: unable to fetch data") # 关闭数据库连接 db.close() 更新操作

    57820发布于 2019-09-10
  • 来自专栏悠扬前奏的博客

    Pandas-5.基本操作

    pd.Series(np.random.randn(4)) axes:返回行轴标签列表 print(s.axes) # [RangeIndex(start=0, stop=4, step=1)] # 这是[0, 5) Create a DataFrame df = pd.DataFrame(d) T:转置 print(df.T) # 0 1 2 3 4 5 Tom 25 4.23 1 James 26 3.24 ''' tail():最后前n行 print(df.tail(2)) ''' Name Age Rating 5

    45830发布于 2019-05-29
  • 来自专栏Springboot框架学习

    HTML5 操作视频

    》HTML5 在浏览器中播放视频 HTML5出现之前,我们想要在浏览器中进行视频的播放是很麻烦的,需要使用到浏览器中的插件,其中以flash插件为主,但是在HTML5中规定了浏览器可以播放视频的标准: 使用video标签可以控制播放给定格式的视频,因为HTML是标记语言,它所有的功能实现都是以标签为主,所以播放视频当然也使用了标签语法 HTML5 支持的视频格式   HTML5 规定了可以通过 video ogg 使用 Theora 视频编码 和 Vorbis 音频编码 的 Ogg 视频文件 WebM video/webm 使用 VP8 视频编码 和 Vorbis 音频编码的 WebM 视频文件 HTML5 视频播放实例     我们在学习任何新东西的时候,直接从实例入手,先亲自动手操作他的整个运作过程,这样对于我们对新事物的认识和理解是非常深刻的,对于HTML5 播放视频,我们先看他如何编写,如下代码: 》HTML5 video标签的属性 属性名 属性值 描述 autoplay autoplay 如果在video标签中使用该属性,则视频在加载完成后马上播放 controls controls 如果使用该属性

    2K10编辑于 2022-08-17
  • 来自专栏SDNLAB

    Facebook Sigcomm 2018 论文翻译 – 对白盒交换机操作系统开发运维的5年经验总结

    然后,我们描述相应的部署和管理目标和经验(第5节,第6节)。我们描述了三个操作挑战(第7节),然后讨论我们如何成功克服它们。 下面给一个功能用了多少代码行举个例子,在FBOSS中实现链路聚合需要5,932行新添加的代码。图4显示项目自成立以来的开源代码的增长情况。 图5说明了交换机中的FBOSS、其他软件进程和硬件组件。 FBOSS Thrift接口的完整开源规范可以可公开获取的[5]。鉴于可以修改接口以满足我们的需求,Thrift为我们提供了一种简单而灵活的方式来管理和操作网络,从而提高稳定性和高可用性。 5 测试和部署 交换机软件通常由交换机供应商开发和发布,并且是封闭的和专有的。因此,在冗长的开发和手动QA测试周期中,发布一个交换机软件的新版本可能需要数月时间。

    1.4K20发布于 2018-11-08
  • 来自专栏技术汇总专栏

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

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

    1.4K10编辑于 2023-12-12
领券