《一个操作系统的实现》读书笔记--第二章--搭建工作环境

本文详细介绍如何利用Bochs虚拟机搭建并运行一个简单的操作系统Tinix,包括Bochs的安装配置、创建系统镜像及启动调试等步骤,并对比了Bochs与VMware在操作系统开发中的优劣。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 熟悉Bochs虚拟机

第一章我们使用虚拟机VMware运行了该最最简单的操作系统,由于VMware虚拟机不具备调试操作系统的功能,因此对于开发操作系统的程序员来说,VMware是不完备的,故本章介绍另一款虚拟机Bochs。

下面我们就介绍如何使用Bochs运行该最最简单的操作系统Tinix。(计算机系统是Windows操作系统)

1、安装Bochs

下载Bochs安装程序,在Window系统下安装。

该文件下载地址为:http://download.youkuaiyun.com/detail/zgh1988/6923033

在安装Bochs程序的这些步骤中,有一个步骤如下所示。


既可以选择DLX Linux Demo,也可以不选择DLX Linux Demo。这个问题留个有兴趣的同学自己探讨。

本章不选择DLX Linux Demo。

2、创建系统镜像

打开Bochs的安装文件,里面包含如下文件夹和文件。


使用bximage.exe创建一个硬盘和软盘,如《一个操作系统的实现》第10页。
硬盘名称为hd_c.img,软盘名称为floopy_a.img,具体过程自己动手实现。
使用本书光盘的OS/Tools/FloppyWriter工具将boot.bin写入到floppy_a.img。

3、更改配置文件

该Bochs的配置文件的样例就是bochsrc-sample.txt,复制该文件,命名为bochsrc.txt。

在bochsrc.txt文件中需要修改3个地方:
(1) 
将 floppya: 1_44=/dev/fd0, status=inserted 更改为 floppya: 1_44=floppy_a.img, status=inserted

(2) 将 ata0-master: type=disk, mode=flat, path="30M.sample" 更改为 ata0-master: type=disk, mode=flat, path="hd_c.img"

(3) 将 #boot: floppy       更改为      boot: floppy  
           boot: disk                              #boot: disk

4、启动该系统

点击bochs.exe,启动该系统。
点击bochsdbg.exe,以调试方式启动该系统。其调试方式与Linux环境下的gdb相类似,具体命令字自己查看。

二、谈谈Linux/Windows系统

这里附上两篇文章《完全用Linux工作》,《谈Linux,Windows,Mac》。这两篇文章的作者是 王垠。http://download.youkuaiyun.com/detail/zgh1988/6925553

我只是想表达一个观点,一个人在成长的路上,会对同一件事情产生不同的看法,甚至是截然不同。所以呢,不管你觉得Linux好,还是觉得Windows好,都不是错误,都很好。

现在我对这两个操作系统的认识是:Linux系统让使用者知其然知其所以然;Windows系统让使用者知其然而不知其所以然。


最近做了一个 Json 格式化,在线时间戳转换,Md5 编码,URL 编码,Base64 编解码,正则表达式,Linux 命令大全 等功能,欢迎大家使用和加入。

Json 格式化在线时间戳转换Md5 编码Url 编码Base64 编解码 正则表达式 Linux 命令大全



<think>好的,用户想要寻找关于Git的学习资料,特别是搭建相关的教程或指南。首先,我需要回顾用户提供的引用内容。 引用[1]提到了Git教程,推荐了Gitee和GitLab,适合国内用户使用,因为GitHub可能有访问速度问题。用户可能需要基础教程和替代平台的信息。引用[2]详细说明了如何在本地搭建Git服务器,包括初始化仓库和客户端上传步骤。用户对搭建自己的Git服务器感兴趣,比如公司内部使用GitLab的情况。 接下来,我需要整理这些信息,分步骤回答。首先,推荐基础学习资料,包括官方文档和中文教程。然后,介绍搭建私有仓库的教程,包括GitLab和Gitea。用户可能还需要了解自建服务器的步骤,比如使用git init --bare创建裸仓库,以及客户端如何连接。此外,可能还需要推荐书籍和视频教程,帮助用户深入学习。 用户的问题可能还涉及如何选择适合自己团队的解决方案,比如GitLab适合企业,而Gitea适合轻量级需求。需要解释不同工具的优缺点。另外,基础操作和进阶资源也需要覆盖,确保用户从入门到进阶都有资料参考。 检查是否有遗漏点,比如权限管理、分支策略等高级主题,是否需要提及?根据引用内容,用户主要关注搭建教程,但可能也需要一些进阶资源。因此,在推荐资料时,应包括基础和进阶内容,满足不同层次的需求。 最后,生成相关问题,帮助用户深入探索Git的搭建和使用。例如,如何选择自建Git服务,或者Git仓库的权限管理方法。这些问题能引导用户进一步学习,解决实际操作中可能遇到的问题。</think>以下是关于Git学习资料及搭建教程的整理和推荐,结合引用内容和实际需求: --- ### 一、Git基础学习资料 1. **官方文档** Git官方提供完整的英文文档,涵盖所有基础命令和原理:[Git Book](https://git-scm.com/book/en/v2) *适合系统性学习,但需要一定英语基础。* 2. **中文快速入门教程** - 廖雪峰Git教程:[Git教程](https://www.liaoxuefeng.com/wiki/896043488029600) *从安装到分支管理,内容通俗易懂,适合新手。* - 菜鸟教程Git篇:[Git简明指南](https://www.runoob.com/git/git-tutorial.html) *提供命令速查和基础操作演示。* --- ### 二、Git私有仓库搭建教程 #### 1. **自建Git服务器** - **引用[2]的方法**: 在服务器上执行 `sudo git init --bare sample.git` 创建裸仓库,客户端通过SSH或HTTP协议连接上传代码[^2]。 *适用于小型团队或个人项目,无需复杂配置。* - **详细步骤**: ```bash # 服务器端 mkdir /opt/git && cd /opt/git sudo git init --bare myproject.git chown -R git:git myproject.git # 设置权限 # 客户端 git remote add origin user@server:/opt/git/myproject.git git push origin master ``` #### 2. **企业级解决方案** - **GitLab搭建** - 官方文档:[GitLab Omnibus安装指南](https://docs.gitlab.com/ee/install/) *提供Docker、Linux等多种安装方式,适合企业级代码管理。* - 国内优化方案: *替换Gem源为阿里云镜像以加速安装,解决依赖问题。* - **轻量级替代:Gitea** - 官网教程:[Gitea快速部署](https://docs.gitea.io/en-us/) *单二进制文件部署,资源占用低,适合中小团队[^1]。* #### 3. **国内代码托管平台** - **Gitee(码云)** - 官方教程:[Gitee帮助中心](https://gitee.com/help) *提供Git基础操作、仓库管理及CI/CD集成,访问速度快。* --- ### 三、进阶学习资源 1. **分支策略与协作** - 《Pro Git》第5章:[分布式Git工作流](https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows) *深入讲解Git Flow、GitHub Flow等协作模型。* 2. **权限管理** - GitLab权限配置:[Project Members权限说明](https://docs.gitlab.com/ee/user/permissions.html) *细化开发者、维护者角色权限,保障代码安全。* 3. **书籍推荐** - 《Git权威指南》:全面覆盖Git底层原理和高级技巧。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值