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月前
|
存储 安全 Unix
用提问的方式来学习:冯·诺伊曼体系结构与操作系统OS
用提问的方式来学习:冯·诺伊曼体系结构与操作系统OS
|
2月前
|
人工智能 安全 vr&ar
移动应用开发的未来:适应多变的移动操作系统环境
【2月更文挑战第29天】 随着智能手机和平板电脑成为全球消费者日常生活不可或缺的一部分,移动应用(App)的开发已经成为软件工程的一个关键领域。本文将探讨移动应用开发的现状与挑战,特别是开发者如何在不断变化的移动操作系统(如Android、iOS等)环境中保持竞争力。我们将分析跨平台工具的兴起、人工智能在优化用户体验中的作用以及安全性问题的重要性,并展望即将到来的技术趋势。
|
8天前
|
前端开发 Android开发 开发者
移动应用与系统:探索开发实践与操作系统融合
【4月更文挑战第23天】 在数字化时代的浪潮中,移动应用与系统的发展已成为技术创新和商业竞争的前沿阵地。本文将深入探讨移动应用的开发实践、移动操作系统的最新趋势以及二者之间的紧密融合。通过分析跨平台工具的效能、原生开发的优化策略以及操作系统的定制化功能,旨在为开发者提供一个全面而深入的视角,以适应不断变化的市场需求和技术挑战。
|
16天前
|
存储 算法 Shell
操作系统(1)——学习导论(Ⅲ)
操作系统(1)——学习导论(Ⅲ)
|
16天前
|
存储 缓存 编解码
操作系统(1)——学习导论(Ⅰ)
操作系统(1)——学习导论(Ⅰ)
|
21天前
|
监控 测试技术 Android开发
移动应用与系统:开发与操作系统的深度解析
【4月更文挑战第11天】在这篇文章中,我们将深入探讨移动应用的开发过程,以及移动操作系统如何影响这些应用的性能和功能。我们将详细分析移动应用开发的关键步骤,包括需求分析、设计、编码、测试和维护。同时,我们也将探讨移动操作系统,如Android和iOS,如何为应用开发提供支持,并影响其性能。
|
23天前
|
Java 物联网 Android开发
移动应用与系统:探索开发与操作系统的融合
【4月更文挑战第8天】 在数字化时代的浪潮中,移动应用与系统的发展已成为技术创新的前沿阵地。本文将深入探讨移动应用开发的关键技术、移动操作系统的架构演变以及两者之间的相互作用。通过对当前流行的开发工具、编程语言和操作系统特性的分析,我们旨在为开发者提供一套全面的指导,以优化移动应用的性能和用户体验。同时,文章还将展望移动技术的未来趋势,特别是在人工智能和物联网领域的潜在应用。
|
2月前
|
机器学习/深度学习 搜索推荐 vr&ar
移动应用与系统的未来:从开发到操作系统的全面解析
本文将探讨移动应用和系统的未来,包括移动应用开发的趋势,移动操作系统的进展,以及这两者如何相互影响。我们将深入探讨如何通过理解这些变化,来优化移动应用的性能和用户体验。
10 2
|
2月前
|
IDE 数据可视化 数据挖掘
Jupyter Notebook使用教程——从Anaconda环境构建到Markdown、LaTex语法介绍
Jupyter Notebook使用教程——从Anaconda环境构建到Markdown、LaTex语法介绍
63 2
|
3月前
|
机器人 Linux 数据安全/隐私保护
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)
69 0