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


相关文章
|
3天前
|
前端开发 测试技术 调度
移动应用与系统:探索开发与操作系统的奥秘####
【10月更文挑战第22天】 本文深入剖析了移动应用的开发流程与移动操作系统的核心原理,揭示了两者如何相互依存、共同推动移动互联网的发展。从应用架构设计到操作系统性能优化,全方位解读移动生态的技术细节,为开发者和用户提供有价值的参考。 ####
12 5
|
1天前
|
搜索推荐 前端开发 测试技术
移动应用与系统:探索开发之道与操作系统的演进#### 一、
【10月更文挑战第24天】 本文将带你深入探索移动应用开发的全过程,从构思到上架的每一个细节。同时,我们还将回顾移动操作系统的发展历程,分析当前主流系统的技术特点和未来趋势。无论你是开发者还是普通用户,都能在这里找到感兴趣的内容。 #### 二、
9 1
|
6天前
|
安全 Android开发 数据安全/隐私保护
移动应用与系统:探索开发趋势与操作系统革新#### 一、
【10月更文挑战第20天】 本文旨在剖析当前移动应用开发的热门趋势,并探讨移动操作系统的最新进展与未来展望。通过梳理从原生应用到跨平台开发的转变,以及主流操作系统如iOS和Android的技术创新,本文为开发者提供了一份详尽的行业指南,助力他们在快速迭代的移动科技领域保持领先。 #### 二、
19 2
|
10天前
|
监控 Linux 云计算
Linux操作系统在云计算环境中的实践与优化###
【10月更文挑战第16天】 本文探讨了Linux操作系统在云计算环境中的应用实践,重点分析了其在稳定性、安全性和高效性方面的优势。通过具体案例,阐述了Linux如何支持虚拟化技术、实现资源高效分配以及与其他开源技术的无缝集成。文章还提供了针对Linux系统在云计算中的优化建议,包括内核参数调整、文件系统选择和性能监控工具的应用,旨在帮助读者更好地理解和应用Linux于云计算场景。 ###
13 3
|
19天前
|
存储 人工智能 自然语言处理
“OS Copilot”的操作系统辅助软件
【10月更文挑战第7天】随着AI技术的发展,"OS Copilot"作为一款操作系统辅助软件,通过智能命令建议、代码片段生成、文件管理助手及任务自动化等功能,极大提升了用户的工作效率,无论是日常办公还是专业开发都提供了强有力的支持。其简洁的安装流程、友好的用户界面和强大的搜索能力,使得这款软件成为提升生产力的得力助手。
36 2
|
18天前
|
Ubuntu
Ubuntu学习笔记(七):ubuntu下jupyter指定虚拟环境
本文介绍了如何在Ubuntu系统下使用Anaconda和Jupyter Notebook指定并切换不同的虚拟环境。
50 0
Ubuntu学习笔记(七):ubuntu下jupyter指定虚拟环境
|
27天前
|
存储 C语言 iOS开发
MacOS环境-手写操作系统-48-让内核从错误中恢复
MacOS环境-手写操作系统-48-让内核从错误中恢复
33 0
|
27天前
|
存储 API C语言
MacOS环境-手写操作系统-46,47-C语言开发应用程序
MacOS环境-手写操作系统-46,47-C语言开发应用程序
32 0
|
27天前
|
编译器 API C语言
MacOS环境-手写操作系统-45-C语言开发应用程序
MacOS环境-手写操作系统-45-C语言开发应用程序
39 0
|
19天前
|
Unix 物联网 大数据
操作系统的演化与比较:从Unix到Linux
本文将探讨操作系统的历史发展,重点关注Unix和Linux两个主要的操作系统分支。通过分析它们的起源、设计哲学、技术特点以及在现代计算中的影响,我们可以更好地理解操作系统在计算机科学中的核心地位及其未来发展趋势。