操作系统内核编写记录

环境安装

在看了b站上的理论课后,决定跟上rcore实验教程做一个小内核。这个教程的环境是基于linux的,我按照教程上的指示决定按照windows环境下的linux子系统,也就是WSL2 .

文章内容:
一. windows系统更新
二.ubuntu安装及端口占用问题解决

附:rcore实验链接:   
 	https://rcore-os.github.io/rCore-Tutorial-deploy/

windows系统更新:
第一个问题就是:需要将你的windows10更新到 18917 或以后的内部版本。这个是必不可少的,否则之后要报错。

我检查了一下自己的系统,发现版本比较旧了,因此就使用电脑自带的更新系统进行更新。检查windows内核版本的快捷方式,是打开cmd,输入winver。

在更新系统之前,我按照教程中的说明:

「Windows 设置 > 更新和安全 > Windows 预览体验计划」处选择加入,Dev 开发者模式

之后按照电脑提示重启,并且进入“更新”页面,让windows进行更新。
在这里插入图片描述
更新之后,电脑右下方一直显示这些字样。
在这里插入图片描述

再次检查windows版本,已经是
在这里插入图片描述
版本符合要求,下一步开始安装Ubuntu,这就是windows下的linux子系统。当然也有其他版本,教程是选择这个的。

首先是按照教程,输入指令:

# 启用 Windows 功能:“适用于 Linux 的 Windows 子系统”
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用 Windows 功能:“已安装的虚拟机平台”
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# <Distro> 改为对应从微软应用商店安装的 Linux 版本名,比如:`wsl --set-version Ubuntu 2`
# 如果你没有提前从微软应用商店安装任何 Linux 版本,请跳过此步骤
wsl --set-version <Distro> 2

# 设置默认为 WSL 2,如果 Windows 版本不够,这条命令会出错
wsl --set-default-version 2

ubuntu安装:
我用Microsoft store下载免费版本的Ubuntu。然后打开Ubuntu,首次打开会进行配置。注意,如果出现了
WSL2: installation got Error: 0x800706ba :

请检查你的“服务”–>“dns client”服务是否启动。这个问题是一个网络通信问题,一般是由于你的某个vpn进程开启,导致dns被迫关闭而出现问题的。
如果你的dns client是“禁止”,并且按钮是灰色无法手动开启,你需要在cmd中输入以下指令:

REG add “HKLM\SYSTEM\CurrentControlSet\services\dnscache” /v Start /t REG_DWORD /d 2 /f

之后再次进入“服务”中,找到“dns
service”服务,这次就可以进行手动开启了。然后重启一下电脑。再次开机时,dns client服务就可以开启了。
在这里插入图片描述

参考链接:
https://github.com/microsoft/WSL/issues/5164

我们打开Microsoft store ,再次启动ubuntu,则在要求我们创建unix账户了,说明我们的问题已经解决了。
在这里插入图片描述
检查安装:
打开cmd,输入
wsl --list --verbose
在这里插入图片描述
显示我们已经安装的ubuntu版本,则说明WSL和ubuntu环节安装完毕。接下来便可以进行linux环境的安装。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mindows操作系统更新5.1~5.3节,将wanlix从ARM7内核移植到cortex内核,更多资料请登陆www.ifreecoding.com下载。 前面基础知识介绍完毕,本节开始真刀真枪的移植代码了。本节将Wanlix3.3节的代码从ARM7内核移植到TI和ST的cortex内核的芯片上,移植完成后通过串口打印可以看到移植的效果。 如果你有STM32的板子,现在就可以跑! /***************************************************************************/ Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料 /***************************************************************************/

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值