本文配合极客时间《操作系统实战45讲》,因而学习《汇编第四版》使用Win2k系统。
参考前一篇 汇编:8086CPU寻址模式、Debug程序用法。
Win2k无法安装vm-tools
- 下载补丁:
补丁链接 提取码:5640
- 无法安装vm-tools的错误提示:
本文配合极客时间《操作系统实战45讲》,因而学习《汇编第四版》使用Win2k系统。
参考前一篇 汇编:8086CPU寻址模式、Debug程序用法。
补丁链接 提取码:5640
本系列文章是《操作系统实战45讲》课程学习过程中的心得体会与问题汇总。
系列文章放入「操作系统实战」分类里。如果对你有帮助,欢迎关注我。
如果你也想一起写一个属于自己的操作系统,直接翻到文末查看。
话不多说,现在进入正题。本文分为两个部分:一、实验环境搭建。二、前4节课遇到的问题与解答。
1、一台电脑。电脑上装有Windows或MacOS系统。我用的是MacOS系统。
2、虚拟机。我选择的是VMware Fusion 12(若是Windows,装个最新版VMware即可)。
3、Ubuntu/CentOS系统。我选择的是Ubuntu,作为虚拟机系统,用来实现自己的操作系统。
安装好虚拟机软件VMware,基本都是点下一步,下一步,直到安装完成。
从 这里[1] 下载Ubuntu 20.04系统安装文件,是一个iso文件。
在VMware里创建一个新的虚拟机,用来安装Ubuntu 20.04系统:
选择新建,后面的步骤比较简单,跟着提示做就可以了。
SSH 通常有密码登录和密钥登录两种方式。密钥登录时使用的是 SSH 的密钥,由 ssh-agent 来处理。这里介绍使用 GnuPG 生成的 PGP 密钥来登录 SSH。此时使用 gpg-agent 来处理登录过程。
使用 GPG 密钥登录的好处是便于管理服务器。只要把 GPG 密钥的公钥放到服务器上面,用同一个密钥可以登录所有这些服务器。还有,GnuPG 可以使用智能卡来保存密钥,使 SSH 密钥更加安全。
注意:
这篇文章使用 Ubuntu 18.04,并使用 GnuPG v2.2.X 来演示,小于 v2.2.X 的版本下文某些命令可能是无效的。运行如下命令查看版本:
1 | gpg --version |
快速生成 GnuPG 密钥的方法详见 这里
分步生成 GnuPG 密钥的方法详见:
生成属于自己的一对密钥后,再向这个密钥中添加一个认证密钥[A]。
1)从 NVIDIA 官网下载对应显卡的驱动备用
https://www.nvidia.cn/Download/index.aspx?lang=cn
我下载的驱动是:NVIDIA-Linux-x86_64-410.93.run
安装环境:华硕笔记本 Ubuntu 18.04
注意:
主板 BIOS 必须关闭安全启动 (Secure Boot),不然安装的 NVIDIA 驱动无法加载。
但此时,还是能正常进 Ubuntu 桌面,可能是此时使用的是 Intel 核显有关。
2)首次运行 NVIDIA 驱动
1 | chmod +x NVIDIA-Linux-x86_64-410.93.run |
首次运行驱动程序,不会安装,因为系统中有 nouveau 驱动存在。
但是 NVIDIA-Linux-x86_64-410.93.run 会生成 /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
文件。用于禁用系统自带的 nouveau 驱动。该文件内容如下:
1 | $ cat /etc/modprobe.d/nvidia-installer-disable-nouveau.conf |
3)使禁用生效
只有 blacklist 并不能真的禁用 nouveau 驱动。执行如下命令更新 initramfs:
1 | sudo update-initramfs -u |
然后,重启系统,禁用就成功了。执行如下命令验证:
1 | # 输出结果为空说明已经禁用 nouveau 驱动 |
你的公钥的作用:别人用来给你发加密的信息(公钥加密)&别人验证你的签名(公钥解密),即加密&验证(别人来做)
你的私钥的作用:你用来创建签名(私钥加密)&解密别人发给你的信息的(私钥解密),即解密&签名(你来做)
具体而言,Alice要想发送加密信息到Bob,则:
Alice有Alice的签名私钥和Bob的加密公匙
Bob有Alice的签名公匙和Bob的解密私钥
1 | gpg (GnuPG) 2.1.11 |
Linux 中每个进程维护了一个文件描述符表,如 shell 终端,默认有三个文件已打开,他们的文件描述符和文件对应关系为:
1 | fd 0: /dev/stdin -> /proc/self/fd/0(前者是指向后者的软链接,下同) |
所以在该 shell 中创建新的的文件的描述符就从3开始。
用于输入输出重定向使用的文件描述符大于9,所以安全可用的自定义文件描述符范围就是:3-9
因为 Bash 文档 里有这样一句话:
Redirections using file descriptors greater than 9 should be used with care, as they may conflict with file descriptors the shell uses internally.
1)输入输出重定向
2)复制输入输出文件描述符
3)移动输入输出文件描述符
4)关闭文件描述符和同时读写文件
5)将已重定向的输入/输出恢复到标准输入/标准输出
原文:https://www.cnblogs.com/mahocon/p/5691348.html
本文翻译自:https://www.happyassassin.net/2014/01/25/uefi-boot-how-does-that-actually-work-then/
首先,我们了解一些术语。BIOS 和 UEFI 都是计算机的 固件
类型。BIOS 固件(主要)用于 IBM PC 兼容计算机。UEFI 的通用性更强,可用在非“IBM PC 兼容”系列的计算机上。
不存在“UEFI BIOS”。没有任何一台计算机会有“UEFI BIOS”。BIOS 不是所有 PC 固件的通用术语,它只是 PC 固件的一种特定类型。计算机中包含固件。如果你有一台 IBM PC 兼容计算机,那么固件几乎肯定就是 BIOS 或 UEFI。如果你运行的是 Coreboot
,那么恭喜,你是个例外,引以为傲吧。
安全启动 (Secure Boot) 与 UEFI 不是同一个概念。请不要将这些术语混淆使用。安全启动 (Secure Boot) 实际上是 UEFI 规范的一项可选功能,于 UEFI 规范版本 2.2 引入。我们稍后会详细讨论安全启动 (Secure Boot) 到底是什么,但是目前而言,只需要记住它和 UEFI 不同即可。
UEFI 不是由微软开发的,也从来不受微软控制。它的前身和基础——EFI,是由 Intel 开发和发布的。UEFI 由 UEFI 论坛 进行管理。微软是 UEFI 论坛的成员之一。