操作系统学习(二)|“朝闻道”知识分享大赛
1.什么是MBR?
MBR(Master Boot Record,主引导记录) 是传统计算机系统中用于管理磁盘分区和启动操作系统的关键数据结构,位于存储设备的第一个扇区(512 字节)。
一、MBR 的核心作用
-
启动计算机
-
BIOS 系统启动时,首先读取 MBR 中的 引导代码(446 字节),加载操作系统的引导程序(如 GRUB)。
-
启动流程:
BIOS → MBR 引导代码 → Boot Loader → 操作系统内核。
-
-
定义磁盘分区
-
通过 分区表(64 字节)记录磁盘的分区信息,最多支持 4 个主分区(或 3 主分区 + 1 扩展分区)。
-
-
兼容性
-
支持传统 BIOS 系统和旧版操作系统(如 Windows XP、早期 Linux)。
-
MBR vs GPT(现代分区方案)
| 特性 | MBR | GPT |
|---|---|---|
| 最大磁盘容量 | ≤2TB | 最高 9.4ZB(1ZB=10²¹字节) |
| 分区数量 | 4 主分区 | 理论上无限(系统通常限制为 128) |
| 冗余备份 | 无 | 分区表头和分区数据均有备份 |
| 启动兼容性 | 仅 BIOS | 支持 UEFI 和 BIOS(需 CSM 模式) |
| 适用场景 | 旧系统、小容量磁盘 | 新硬件(Win10+/Linux)、大容量磁盘 |
-
MBR 是传统磁盘管理的基石,但受限于分区数量和容量,逐渐被 GPT 替代。
-
适用场景:旧系统维护、小容量磁盘或兼容性需求。
-
关键问题:单点故障风险、无法支持大硬盘。
理解 MBR 有助于解决启动故障、管理旧设备分区,并深入掌握计算机启动流程(BIOS → MBR → OS)。
2、什么是网卡?
网卡(Network Interface Card,简称NIC)是计算机中用于连接计算机与网络的硬件设备。它通过网络协议与其他设备(如服务器、路由器、其他计算机等)进行通信。网卡的主要功能是实现计算机与网络之间的数据传输与接收,起到网络接口的作用。
网卡是计算机网络通信的“桥梁”,负责实现计算机与其他设备之间的数据交换。它通过物理层和数据链路层与网络进行交互,确保数据能在网络中正确地传输与接收。
三、“init”的作用?
在操作系统中,init 是系统启动过程中的关键组件,以下是其核心要点:
1. 定义与作用
- 第一个用户进程:
init是内核初始化后启动的第一个用户空间进程,其进程ID(PID)始终为 1。 - 系统初始化:负责启动和管理系统中的其他进程和服务,确保系统正确进入可用状态。
2. 主要功能
- 启动系统服务:根据配置启动守护进程(如网络服务、日志服务等)和基本系统组件。
- 运行级别(Runlevels)管理:在传统 SysV init 系统中,通过不同运行级别(如 0-6)控制系统模式(如单用户模式、图形界面等)。
- 孤儿进程收养:作为所有孤儿进程的父进程,防止僵尸进程积累。
- 关机与重启:优雅地停止服务并安全关闭或重启系统。
init 是操作系统启动和管理的基石,其核心任务是初始化环境、协调服务生命周期,并确保系统稳定运行。尽管实现方式从 SysV 到 systemd 发生了演变,但其作为 PID 1 进程的核心职责始终不变。理解不同实现的差异(如并行启动、依赖管理)有助于深入掌握系统初始化机制。
四、8080端口是干嘛用的?
8080 端口是计算机网络中常用的替代 HTTP 端口,以下是其核心作用与典型场景:
1. 主要用途
-
HTTP 服务的替代端口:
- 默认 HTTP 端口是 80,但若 80 端口被占用或程序无权限使用特权端口(1024 以下),常改用 8080。
- 例如:开发测试中的 Web 服务器(如 Tomcat、Node.js)、本地调试工具(如
webpack-dev-server)。
-
代理或缓存服务器:
- 某些代理工具(如 Squid、Nginx)可能用 8080 作为反向代理端口,将外部请求转发到内部服务的 80 端口。
-
避免端口冲突:
- 在服务器上运行多个 Web 应用时,8080 可作为第二个 Web 服务的监听端口(例如:主站用 80,管理后台用 8080)。
2. 常见应用场景
-
开发环境:
- Tomcat:默认使用 8080 端口部署 Java Web 应用。
- 本地调试:开发者在本地运行
http://localhost:8080测试前端或后端服务。 - Docker 容器:容器内应用可能映射 8080 到宿主机端口(如
docker run -p 8080:80)。
-
企业内网服务:
- 内部管理系统、监控工具(如 Jenkins、Kibana)可能通过 8080 对外提供服务。
-
规避防火墙限制:
- 某些网络环境会封锁 80 端口,使用 8080 可绕过限制(需配合域名或路径访问)。
3. 与其他端口对比
| 端口 | 典型用途 | 权限要求 |
|---|---|---|
| 80 | 标准 HTTP 服务(生产环境) | 需 root 或管理员权限 |
| 443 | HTTPS 加密通信 | 需 root 或管理员权限 |
| 8080 | 开发/测试环境、备用 HTTP 服务 | 普通用户权限即可使用 |
| 8888 | 其他替代端口(如 Jupyter Notebook) | 普通用户权限 |
8080 是一个非特权、高灵活性的端口,广泛用于开发测试、代理转发和备用 Web 服务。其核心价值在于规避权限限制和端口冲突,但需注意安全配置,避免成为攻击入口。
四、介绍一下DOS系统
DOS(Disk Operating System)是早期个人计算机(PC)的核心操作系统,由微软(MS-DOS)和其他公司(如IBM的PC-DOS)开发,主导了1980-1990年代的PC市场。
核心架构
-
模块化设计:
- BIOS模块(IO.SYS):直接与硬件交互,处理磁盘读写、屏幕输出等。
- 内核模块(MSDOS.SYS):管理文件系统(FAT)、内存分配和进程加载。
- Shell(COMMAND.COM):命令行解释器,执行用户输入的命令(如
DIR、COPY)。
-
单任务与实模式:
- 仅支持单任务运行,程序直接访问物理内存(实模式),无内存保护,易导致系统崩溃。
- 依赖 TSR程序(Terminate and Stay Resident)实现后台功能(如鼠标驱动)。
文件系统(FAT)
-
FAT12/FAT16:
- 引导扇区:存储磁盘参数和引导代码。
- FAT表:记录文件簇的分配状态(链式结构)。
- 根目录项:固定位置存储文件元数据(文件名、大小、起始簇)。
- 8.3文件名限制:文件名最多8字符,扩展名3字符(如
DOCUMENT.TXT)。
-
磁盘管理工具:
FORMAT:初始化磁盘并创建FAT结构。CHKDSK:检查磁盘错误。DEFRAG:整理文件碎片(后期版本引入)。
DOS是个人计算机革命的奠基者,其简单性与硬件直接访问能力推动了早期PC生态发展,但也因技术局限被现代操作系统取代。理解DOS有助于掌握:
- 操作系统从实模式到保护模式的演进;
- 文件系统设计的基本原理(如FAT);
- 命令行环境的底层逻辑。
尽管已退出主流,DOS在计算机历史上仍占有不可替代的地位。
五、什么是CGI?
CGI(通用网关接口,Common Gateway Interface) 是早期 Web 服务器生成动态内容的核心技术,其核心逻辑是允许服务器通过外部程序处理用户请求。
- 接口而非语言:CGI 是一种标准协议,定义了 Web 服务器(如 Apache、Nginx)与外部程序(脚本或可执行文件)之间的通信方式。
- 动态内容生成:用于处理表单提交、数据库查询等需要实时计算的请求,生成非静态的 HTML 响应。
CGI 是 Web 动态内容的基石,尽管其原生形态已逐渐被高性能方案取代,但理解 CGI 有助于掌握以下核心概念:
- 客户端-服务器交互模型:请求/响应周期、数据传输方式。
- 进程隔离与资源管理:为何现代方案(如 FastCGI)优化进程复用。
- 安全编程基础:输入处理、输出转义的重要性。
在调试遗留系统或编写轻量级脚本时,CGI 仍具实用价值,但其设计思想已融入现代 Web 开发的底层架构中。


