文章 2024-10-09 来自:开发者社区

MacOS环境-手写操作系统-27-修改分辨率

修改分辨率 1.简介 当前 我们系统的分辨率是320*480 这种分辨率太小 绘制出来的系统界面看起来很大条 也很粗糙 跟我们现实使用的操作系统比起来 差别太大 因此 本节 我们就在分辨率上做一些改进 2.代码 2.1 分辨率的改进 设置显示分辨率是在内核的汇编部分实行的,代码如下(kerne...

MacOS环境-手写操作系统-27-修改分辨率
文章 2024-10-09 来自:开发者社区

MacOS环境-手写操作系统-26-利用时钟开发光标闪烁

利用时钟开发光标闪烁 1.简介 上一节,我们已经实现了时钟超时功能 但一个操作系统 肯定是能支持多个时钟的 本节 我们就看看如何从上一节的单时钟向多时钟转变 同时利用时钟超时机制实现光标的闪烁特效 2.代码 现在 我们要把有个时钟的信息抽取出来 这样的话 就使得一个控制器能对应管理很多个时钟对象 因此...

文章 2024-10-09 来自:开发者社区

MacOS环境-手写操作系统-25-实现定时器

实现定时器 1.简介 当指定的时间过去后 系统会触发你给定的回调函数 Timer功能实在是太重要了 如果没有定时器 操作系统很多任务都做不了 至少你编程画个时钟 搞个闹钟程序什么的 你就没法实现 从这节开始 我们看看timer功能是怎么实现的 2.代码 主控制器的IRQ0对应的就是时钟中断 ...

MacOS环境-手写操作系统-25-实现定时器
文章 2024-10-09 来自:开发者社区

MacOS环境-手写操作系统-24-消除鼠标闪烁

消除鼠标闪烁 1.简介 上一节 我们消除了因刷新而导致的严重闪烁 但问题并没有从根子上解决 因为当我们把鼠标挪动不断刷新自己的Message Box上面时 发现鼠标居然变得闪动起来 当窗体自身刷新时 它会把处于它上方的窗体也进行刷新 而这种操作其实是没有必要的 我们看下面这种情况 ...

MacOS环境-手写操作系统-24-消除鼠标闪烁
文章 2024-10-09 来自:开发者社区

MacOS环境-手写操作系统-23-消除刷新的闪烁

消除闪烁1 1.简介 就以前几节我们创造的Message box为例 我们修改一下代码 不断的修改Box窗体内的字符 进而导致图层不断刷新 (在上节我们已经出现了这样的问题 22-突破连续读取72个扇区) 运行后 就疯狂的闪烁 这个现象的产生 是因为我们在刷新Box窗体时 我们也同时在刷新底层桌面 ...

MacOS环境-手写操作系统-23-消除刷新的闪烁
文章 2024-10-09 来自:开发者社区

MacOS环境-手写操作系统-22-突破扇区读取限制

突破连续读取72个扇区 1.简介 因为一些特殊的原因 当我们读取超过72个扇区的时候 就会出现错误 但是我们后边的开发 肯定是要超过72个扇区的 2.代码 我们的操作系统加载器 秉承简单够用的原则 只要能把编译好的二进制内核送进内存就可以了 所以加载器的算法是 连续读取软盘扇区 将扇区的内容写入到从0...

MacOS环境-手写操作系统-22-突破扇区读取限制
文章 2024-10-09 来自:开发者社区

MacOS环境-手写操作系统-21-实现MessageBox

MessageBox 1.简介 早年学习win32 GUI编程 通过调用一个API 叫MessageBox 使得程序能快速弹出一个小窗口 当看到这个小窗口出现在屏幕上时 开心得不得了 觉得非常不可思议 它生动形象 跟原来在控制台上运行的 只能给出黑底白色结果的dos程序完全不同 从此 我从黑色单调的世界进入了...

文章 2024-10-09 来自:开发者社区

MacOS环境-手写操作系统-20-图层叠加优化

图层叠加优化 1.简介 在前几节 我们使用窗体图层叠加技术 解决了窗体鼠标移动时 破坏其他窗体界面的问题 但同时 也引入了新的问题 当鼠标移动时 内核会将所有窗口重新绘制 如果当前系统打开的窗口很多 假设有几十上百个 那么鼠标动一下 就重新绘制上百个窗口 这对cpu资源的消耗就会非常大 整个...

MacOS环境-手写操作系统-20-图层叠加优化
文章 2024-10-09 来自:开发者社区

MacOS环境-手写操作系统-19-编译自动化

编译自动化 1.简介 因为原文章的老师 编译环境是:mac + ubuntu 而我的环境是: mac (当前是MacOS BigSur) 2.makefile 因为我是本地的mac环境 所以对源代码进行了一些修改 makefile ...

MacOS环境-手写操作系统-19-编译自动化
文章 2024-10-09 来自:开发者社区

MacOS环境-手写操作系统-18-图片分层技术

图片分层技术 1.简介 在前面的章节中 我们完成了鼠标的绘制 但存在一个严重的问题是 当鼠标移动的时候 鼠标下方的窗口或图案会因为内核重绘鼠标而被擦除掉 解决这个问题的办法是 每当鼠标移动时 我们先把底下的图案绘制一遍 然后把鼠标在移动后的新坐标处再绘制一遍 由此 我们引出一个叫图层的概念 鼠标下面的背景是一...

MacOS环境-手写操作系统-18-图片分层技术

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

龙蜥操作系统

龙蜥社区(OpenAnolis)是面向国际的 Linux 服务器操作系统开源根社区及创新平台,秉承“平等、开放、协作、创新”的原则,理事会由阿里云、统信软件、龙芯、Arm 、Intel 等 24 家国内外头部企业共同组成,有超过 1000 家来自芯片厂商、软件厂商、整机厂商、操作系统厂商等覆盖操作系统全产业链的合作伙伴参与生态共建。

+关注
相关镜像