AIOps-ISET / AIOpsLab_tutorial

This is the docs for AIOps Lab in XiDian Universty
https://aiopsteam.gitbook.io/aiops-tutorial/
1 stars 5 forks source link

Enhancement 1: Update 操作系统与Linux内核 #11

Closed shejialuo closed 3 months ago

shejialuo commented 3 months ago

更新操作系统与Linux内核相关的知识。

https://aiopsteam.gitbook.io/aiops-tutorial/background_knowledge/linuxkernel

我认为操作系统与Linux内核相关的知识应该分为四类:

  1. 操作系统基础知识
  2. Linux基础知识
  3. Linux内核知识
  4. eBPF技术。

首先你们需要在 SUMMARY.md里面新增这四个文件,比如说:

* [操作系统与Linux内核](background_knowledge/LinuxKernel/README.md)
  * [操作系统基础知识](<path>)
  * [Linux基础知识](<path>)
  ...

然后纂写相关的内容。

雨馨负责1、2部分,柏林负责3、4部分。

shejialuo commented 3 months ago

第一部分是操作系统基础知识,请直接使用如下的markdown文件。

# 操作系统基础知识

我们认为你应该详细地掌握操作系统的基础知识,这不仅仅是项目组的工作需求,而是你作为一位计算机科学技术或者软件工程硕士生理应所具备的专业知识。

## 相关书籍推荐

学习操作系统的相关书籍很多,从简单到复杂的皆有,本教程所推荐的书籍旨在你对操作系统的知识并不牢固的前提下,进行巩固。如果你对操作系统的基础知识有充分的理解,你可以忽略此部分的内容。

* [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/): 本书从虚拟化、并发和持久性三个角度出发讲述了操作系统的基本原理。你可以在其[github](https://github.com/remzi-arpacidusseau)网站中下载其配套的作业和项目代码,通过真正的实战去理解操作系统的原理。
* [Operating Systems Principles & Practice](https://ospp.cs.washington.edu/):伯克利大学本科操作系统的学习书籍,详细地介绍了操作系统的原理。
* [操作系统真象还原](https://book.douban.com/subject/26745156/):带你实现一个在x86的环境下的操作系统,通过实战去理解。

## 相关课程推荐

国内外有优秀的公开课帮助你去理解操作系统,此处我们推荐两门课程。

* [MIT 6.S081](https://pdos.csail.mit.edu/6.828/2021/schedule.html)
* [NJU OS: Operating System Design and Implementation](https://jyywiki.cn/OS/2022/index.html)

## 进阶

操作系统的进阶更多地是去实战,有许多优秀的书籍涉及到了进阶,其往往与计算机的体系结构有很大的关系。我们的教程难以涵盖进阶方面的有关知识。不过我们可以为你提供一些方向。

* 并发:操作系统的一个核心知识就是需要支持并发,然而如何提高并发的效率是体系结构知识的一个很重要的方向。
* 虚拟化技术。
shejialuo commented 3 months ago

第二部分是Linux基础知识,请直接使用如下的markdown文件。

# Linux基础知识

Linux 的使用尤为关键,掌握其基本的命令以及在 Linux 系统中部署应用是必须要掌握的技能。

## 部署Linux环境

实验室已为大家配置好了物理集群,12台运行着Debian Linux的主机。你完全可以使用已经存在的Linux环境,然而我们仍然推荐你去部署一个实际的Linux环境。

首先,你需要部署一个 Linux 环境,有以下四种方式:

* 在 Windows 系统中使用虚拟机安装 Linux。
* 在 Win 10 的系统中使用 Windows Subsystem for Linux (WSL)。
* 安装双系统使用 Linux。
* 购买 vps 使用 Linux。

对于在 Windows 系统中使用虚拟机安装 Linux,这是一个比较容易的事情,你可以直接通过百度和谷歌搜索找到这个问题的答案。

对于在 Win10 的系统中使用 WSL,你可以参考[微软官方](https://docs.microsoft.com/zh-cn/windows/wsl/)的文档获取相关信息。此外,你可能需要安装 Windows Terminal 作为终端,同样你可以参考[微软官方](https://docs.microsoft.com/zh-cn/windows/terminal/)的文档。

{% embed url="https://docs.microsoft.com/zh-cn/windows/wsl/" %}

{% embed url="https://docs.microsoft.com/zh-cn/windows/terminal/" %}

对于安装双系统使用 Linux,你同样可以通过谷歌和百度寻找到答案。

对于购买 vps 使用 Linux,你可以使用阿里云、腾讯云以及其他云服务商提供的相关服务,每个月 10 元左右,更容易入门如何使用 Linux。

{% hint style="info" %}
实际上,我们最推荐第二种方法,因为你可以在使用 Win10 的同时,优雅且方便地使用 Linux。我们最不推荐第三种方法,折腾双系统的时间可能会比你学习 Linux 的时间更长。如果你的主机性能良好,我们则推荐第一种方式。
{% endhint %}

## Linux 基础书籍推荐

实际上,对于初次接触 Linux 或者只仅仅接触了一点 Linux 的人来说,学习 Linux 的过程是比较枯燥的,因为书一般来说都比较厚。

* Linux Command Line and Shell Scripting Bible
* Harley Hahn's Guide to Unix and Linux

{% embed url="https://book.douban.com/subject/26309537/" %}

{% embed url="https://book.douban.com/subject/4286737/" %}

{% hint style="info" %}
你可能听说过《鸟哥的 Linux 私房菜》,如果你喜欢他的风格,也可以学习这本书。
{% endhint %}

## Linux 进阶书籍推荐

实际上,掌握了基本的 Linux 命令以及脚本编程,对于你日常使用 Linux 已经足够了。如果你希望了解一下更加底层的 Linux 知识,或者想精进操作系统知识或者网络编程,有以下的书籍可以推荐:

* Advance Bash-Scripting Guide
* Advanced Programming in the UNIX Environment, 3rd Edition
* UNIX 网络编程

{% embed url="https://book.douban.com/subject/3010746/" %}

{% embed url="https://book.douban.com/subject/11937511/" %}

{% embed url="https://book.douban.com/subject/1500149/" %}
shejialuo commented 3 months ago

第三部分是Linux内核学习,请参考雨晴所写的notion资料(注意需要科学上网)。

https://urocissa.notion.site/Linux-ee06da616871437da117464581856ca2

请根据内容修改为上述的markdown格式。

shejialuo commented 3 months ago

第四部分是eBPF技术,请参考雨晴所写的notion资料(注意需要科学上网)。

https://urocissa.notion.site/eBPF-effca32d45a5435e9760344d967d1bb5

请根据内容修改为上述的markdown格式。