首页 > 其他分享 >四千行代码写的桌面操作系统GrapeOS完整代码开源了

四千行代码写的桌面操作系统GrapeOS完整代码开源了

时间:2023-09-20 12:22:42浏览次数:43  
标签:www 操作系统 代码 GrapeOS 桌面操作系统 https com

https://www.cnblogs.com/chengyujia/p/17715204.html

 

简介

学习操作系统原理最好的方法是自己写一个简单的操作系统。
GrapeOS是一个非常简单的x86多任务桌面操作系统,源代码只有四千行,非常适合用来学习操作系统原理。
源码地址:https://gitee.com/jackchengyujia/grapeos
视频教程地址:https://www.bilibili.com/video/BV1nv4y1b7Nj/
课程讲义地址:https://www.cnblogs.com/chengyujia/category/2279524.html
GrapeOS操作系统QQ1群:643474045(已满)QQ2群:123758575

截图

GrapeOS桌面:

GrapeOS桌面
GrapeOS桌面

GrapeOS资源管理器:

GrapeOS资源管理器
GrapeOS资源管理器

GrapeOS记事本:

GrapeOS记事本
GrapeOS记事本

主要知识点

实模式
保护模式
大分辨率画面模式
磁盘及文件系统
内存分页
内存管理
中断管理
定时控制
键盘控制
鼠标控制
消息机制
图形绘制
图层和窗口管理
多任务管理
内核任务
用户任务
进程与线程
系统调用

标签:www,操作系统,代码,GrapeOS,桌面操作系统,https,com
From: https://www.cnblogs.com/chinasoft/p/17717011.html

相关文章

  • [代码随想录]Day49-动态规划part17
    题目:647.回文子串思路:整体上是两种,就是s[i]与s[j]相等,s[i]与s[j]不相等这两种。当s[i]与s[j]不相等,那没啥好说的了,dp[i][j]一定是false。当s[i]与s[j]相等时,这就复杂一些了,有如下三种情况情况一:下标i与j相同,同一个字符例如a,当然是回文子串情况二:下标i与j相差为1,例如aa......
  • java代码访问网页
    importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.net.URL;importjava.net.HttpURLConnection;publicclassWebPageAccess{publicstaticvoidmain(String[]args){Stringurl="http://example.com";//输入要访......
  • 【HNU软件设计与实现】个人项目代码分析
    引言项目背景和目的:本项目为软件设计与实现课程的个人编程项目。在课程设置方面,这个项目旨在提高我们独立编程、规范编码的能力。个人项目:中小学数学卷子自动生成程序用户:小学、初中和高中数学老师。功能:1、命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高......
  • 2023年研究生数学建模竞赛思路及代码预定
    第二十届“华为杯”中国研究生数学建模竞赛报名时间:9月17日17:00前完成报名竞赛时间:2023年9月22日8:00至2023年9月26日12:00(参考往年)报名费:每队300元报名网址:https://cpipc.acge.org.cn/   建议尽快抽出一两个小时整合一下常用的网站、工具资料等,尽快熟悉一些上手比较快的软......
  • 用于异构无线传感器网络的多聚合器多链路由协议(Matlab代码实现)
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • java在try-catch-finally代码块中return或者throw Exception时需注意的问题
    在Java的try-catch-finally代码块中使用return或者throwException时,需要注意以下几个问题:1.Return语句的执行:当在try或catch中使用return语句时,程序会立即退出当前方法并返回指定的值。但是在执行return之前,finally代码块将被执行。如果finally中也包含retur......
  • JAVA-基本程序设计结构(类变量、main语法、代码块、final关键字、抽象类)
    1.类变量和类方法1.类变量1.类变量的定义和语法1.类变量(静态变量/静态属性/静态字段)是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量2.定义语法:访问修饰符static数据类型变量名;[推......
  • 1、算法中涉及的数据公式(Markdown和代码中)
    一、基本公式1.上下标1$$2A_1^23\\4B_{12}5\\62^{x^2+y}7$$ViewCode 2.分数$$\frac{x}{1+x^2}\\\frac{\frac{1}{2}+x}{y}\\\tfrac{a}{b}\frac{a}{b}$$ViewCode 3.开根号$$\sqrt{x}\sqrt[3]{x}$$ViewCode 4.组合数$$......
  • group by 用java代码实现
    importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Map.Entry;publicclassListGroup{publicstaticvoidmain(String[]args){List<JavaBean>list=newArrayList<JavaB......
  • R语言风险价值:ARIMA,GARCH模型,Delta-normal法滚动估计,预测VaR(Value at Risk)和回测分析
    原文链接:http://tecdat.cn/?p=24492原文出处:拓端数据部落公众号介绍此分析的目的是帮助客户构建一个过程,以在给定时变波动性的情况下正确估计风险价值。风险价值被广泛用于衡量金融机构的市场风险。我们的时间序列数据包括1258天的股票收益。为了解释每日收益率方差的一小部......