jupyter环境下从零模拟开发简易操作系统: 搭建一个学习ucore_OS学习的环境(第二节)

简介: 上一节已经一万字了,只好再加一节如果想要直接 体验 实验效果 可以直接执行本章的命令生成的img文件可以在qemu中正常运行的话,那么在 真实硬件上基本 也是可以 正常安装操作系统

上一节已经一万字了,只好再加一节

如果想要直接 体验 实验效果 可以直接执行本章的命令

生成的img文件可以在qemu中正常运行的话,那么在 真实硬件上基本 也是可以 正常安装操作系统

上一节内容

截止到上一节我们已经成功地在 centos7中安装了 ctags ,qemu等插件

执行以下命令,在 windows中创建博主搭建好的环境

#创建一个 centos 开发环境,来体验开发ucoreos的过程
docker run -tdi   -p 21022:22  -p 21088:8888  --name   ucoreos   --privileged=true  registry.cn-hangzhou.aliyuncs.com/mkmk/conda:qemu   init  |  docker exec -d  ucoreos   /bin/bash -c "cd /home && source /etc/profile && nohup jlab &"

搭建环境以后,可以直接访问,开发界面

http://localhost:21088/lab

密码口令 lmklmk

以下的很多问题你们可能并不会遇到,因为博主在构建 开发环境的时候已经消除了 很多 bug,可以尝试直接运行 成功的命令


直接运行lab1

运行jupyter 环境后,打开终端,输入以下命令

一个完整的启动操作系统的命令

cd  /home/ucoreos/ucore_os_lab-master/labcodes_answer/lab1_result  &&  make  && cd bin &&  qemu-system-x86_64    -hda ucore.img -parallel stdio   -nographic

终止命令,需要新建终端

pkill  -9  qemu-system-x86


如果感到有趣,想要认真学习除了认真阅读上一节的材料,也需要认真阅读以下的实验参考教程

实验参考教程https://chyyuu.gitbooks.io/ucore_os_docs/content/

详细过程: 查看lab1效果

编译生成可以 用来加载的 img文件

cd  /home/ucoreos/ucore_os_lab-master/labcodes_answer/lab1_result

make生成img镜像文件,在labcodes_answer/lab1_result 目录下

make

到生成的 bin目录查看是否生成 镜像文件

cd  bin  &&  ls
输出  bootblock  kernel  sign  ucore.img

发现存在 ucore.img ,讲 ucore.img 挂载到 qemu 虚拟机中

开始模拟真机

qemu-system-x86_64    -hda ucore.img -parallel stdio

错误提示 缺少qemu: could not load PC BIOS ‘bios-256k.bin’

yum install seabios -y

模拟真机失败

qemu-system-x86_64    -hda ucore.img -parallel stdio
(process:1165): GLib-WARNING **: 06:42:36.693: gmem.c:489: custom memory allocation vtable not supported
(qemu-system-x86_64:1165): Gtk-WARNING **: 06:42:36.716: cannot open display:

不能连接图形设备,那我们就禁用掉图形显示设备,加上参数 -nographic

模拟真机成功

qemu-syst

说明操作系统已经可以在虚拟机中正常启动,每秒输出一次 110000 ttiicckkss

但是无法正常终止

查询pid 
ps -a


强行杀死虚拟机进程
kill 943 
也可以直接根据进程启动的名称来杀死  注意不要加  _64 否则命令无效
pkill  -9  qemu-system-x86


make clean 命令清除不必要文件。可以删除之前make 生成的文件
输出  rm -f -r obj bin


相关文章
|
5天前
|
开发工具 Android开发 开发者
移动应用与系统:探索开发与操作系统的融合
【5月更文挑战第31天】随着科技的飞速发展,移动应用和操作系统已经成为我们日常生活中不可或缺的一部分。本文将深入探讨移动应用开发的最新趋势,以及移动操作系统如何影响这些趋势。我们将研究移动应用开发的关键技术,包括编程语言、开发工具和平台选择。同时,我们也将探讨移动操作系统的最新发展,包括Android和iOS的特性和优势。最后,我们将讨论移动应用和操作系统如何相互影响,以及这对开发者和企业意味着什么。
16 0
|
6天前
|
存储 算法 调度
移动应用与系统:开发与操作系统的融合
【5月更文挑战第30天】随着科技的发展,移动应用与系统已经成为我们日常生活中不可或缺的一部分。本文将深入探讨移动应用开发的过程,以及移动操作系统如何影响应用的开发和运行。我们将从移动应用的开发开始,然后探讨移动操作系统的角色,最后讨论这两者如何相互影响。
|
9天前
|
存储 人工智能 安全
移动应用与系统:探索开发与操作系统的融合安卓应用开发:打造高效用户界面的关键技术
【5月更文挑战第27天】 随着移动互联网的飞速发展,移动应用和操作系统已经成为了我们日常生活中不可或缺的一部分。本文将深入探讨移动应用开发的关键要素,以及移动操作系统的核心功能。我们将分析移动应用开发的挑战和机遇,并讨论移动操作系统如何适应不断变化的技术环境。通过深入研究这些主题,我们希望为读者提供对移动应用和系统领域的全面理解。
|
21天前
|
开发工具 Android开发 开发者
移动应用与系统:开发与操作系统的融合
【5月更文挑战第7天】在这篇文章中,我们将探讨移动应用开发的重要性和挑战,以及移动操作系统如何影响应用的性能和用户体验。我们还将讨论最新的技术趋势,如跨平台开发工具和人工智能集成,以及它们如何改变移动应用开发的未来。
20 3
|
21天前
|
Linux 开发工具 Android开发
移动应用与系统:开发与操作系统的深度解析
【5月更文挑战第6天】 在数字化时代,移动应用和操作系统是信息技术的核心组成部分。本文深入探讨了移动应用的开发过程、关键技术以及移动操作系统的架构和功能。通过对这些技术的详细分析,我们可以更好地理解移动应用和系统的工作原理,以及它们如何影响我们的生活和工作。
|
21天前
|
Java 调度 开发者
构建高效微服务架构:后端开发的新趋势深入理解操作系统之进程调度策略
【4月更文挑战第30天】 随着企业数字化转型的不断深入,传统的单体应用逐渐不能满足快速迭代和灵活部署的需求。微服务架构以其高度模块化、独立部署和易于扩展的特性,成为现代后端开发的重要趋势。本文将探讨如何构建一个高效的微服务架构,包括关键的设计原则、技术选型以及可能面临的挑战。
|
21天前
|
搜索推荐 vr&ar Android开发
移动应用与系统的融合未来:开发与操作系统的深度剖析移动应用与系统:技术演进与开发实践
【4月更文挑战第30天】 随着科技的飞速发展,移动应用与系统已经成为我们日常生活中不可或缺的一部分。从智能手机到平板电脑,从健康监测到娱乐休闲,移动应用与系统的结合为我们带来了前所未有的便利。本文将深入探讨移动应用开发的挑战与机遇,以及移动操作系统的核心功能和发展趋势。 【4月更文挑战第30天】 随着智能设备的普及,移动应用与操作系统成为了信息技术领域的热点。本文将深入探讨移动应用开发的最新趋势、挑战以及移动操作系统的关键技术,旨在为开发者和技术决策者提供全面的视角和实用的指导。
|
21天前
|
搜索推荐 安全 网络协议
移动应用与系统的融合未来:开发与操作系统的深度剖析
【4月更文挑战第30天】 随着科技的飞速发展,移动应用与系统已经成为我们日常生活中不可或缺的一部分。从智能手机到平板电脑,从健康监测到娱乐休闲,移动应用与系统的结合为我们带来了前所未有的便利。本文将深入探讨移动应用开发的挑战与机遇,以及移动操作系统的核心功能和发展趋势。
|
21天前
|
前端开发 Android开发 开发者
移动应用与系统:探索开发实践与操作系统融合
【4月更文挑战第23天】 在数字化时代的浪潮中,移动应用与系统的发展已成为技术创新和商业竞争的前沿阵地。本文将深入探讨移动应用的开发实践、移动操作系统的最新趋势以及二者之间的紧密融合。通过分析跨平台工具的效能、原生开发的优化策略以及操作系统的定制化功能,旨在为开发者提供一个全面而深入的视角,以适应不断变化的市场需求和技术挑战。
|
21天前
|
存储 算法 Shell
操作系统(1)——学习导论(Ⅲ)
操作系统(1)——学习导论(Ⅲ)