操作系统基础——Windows和Linux
中等0操作系统这个大管家,到底管些什么?
操作系统就像学校里的大管家——它要管教室(CPU)、储物柜(内存)、作业本(硬盘)、还有同学们(各种程序)。没有它,电脑里的硬件和软件会乱成一团,谁都想用资源,结果谁都别想好好工作。
Windows 和 Linux 是两种最常见的“管家”。Windows 像一位耐心细致、处处给你提示的班主任,桌面上有图标,鼠标点一点就能打开软件。Linux 更像一位高冷的图书馆管理员,说话全靠键盘敲命令——但这套命令系统非常强大,许多服务器、编程工具都离不开它。
在深入学习之前,我们先来理解操作系统的几个核心职责。
1. 操作系统的四大核心工作
| 职责 | 干什么用的 | 生活中的比喻 |
|---|---|---|
| 进程管理 | 让多个程序同时运行,互不干扰 | 班主任同时安排全班同学做不同科目的作业,谁都不能占着课桌不放 |
| 内存管理 | 给每个程序分配一块“记忆空间” | 每位同学分到一个储物柜,你的书不能放到别人柜子里 |
| 文件系统 | 组织硬盘里的所有文件和文件夹 | 学校档案室按年级、班级、科目分类摆放 |
| 设备管理 | 管理鼠标、键盘、打印机、屏幕 | 值日生负责开关投影仪、发粉笔,保证每节课设备正常 |
生活中的例子:
你同时打开浏览器查资料、用画图软件做海报、后台还在播放音乐。操作系统必须让这三个程序轮流使用 CPU(比如每0.01秒切换一次),让它们看起来在“同时运行”,而且不会因为争抢内存而崩溃。
2. Windows vs Linux:两位管家的不同风格
| 对比项 | Windows | Linux |
|---|---|---|
| 界面 | 图形界面为主,点击图标 | 命令行为主,也可装图形界面 |
| 操作难度 | 容易上手,一眼就懂 | 初期要记住命令,但熟练后效率很高 |
| 常见用途 | 办公、游戏、家用电脑 | 服务器、编程、大数据、嵌入式设备 |
| 文件路径 | 用反斜杠 \ 如 C:\用户\小明 | 用斜杠 / 如 /home/xiaoming |
| 权限管理 | 管理员账户默认拥有全部权限 | 普通用户不能随便动系统文件,安全更严格 |
小提示: 在 Python 里写路径时,推荐用正斜杠 / 或者双反斜杠 \\,这样 Windows 和 Linux 通用,不会因分隔符出错。
3. 用 Python 模拟操作系统的更多功能
我们已经在原代码中通过 os 模块模拟了文件管理。现在再扩展几个常用操作,让你更清楚“管家”是怎么工作的:
import os # 调用操作系统模块
import time # 用于模拟任务调度
# 1. 查看当前工作目录(就像看一下教室门牌号)
current_dir = os.getcwd()
print("当前文件夹位置:", current_dir)
# 2. 列出所有文件(类似 Linux 的 ls 或 Windows 的 dir)
all_items = os.listdir(".") # "." 代表当前文件夹
print("该文件夹里的内容:")
for item in all_items:
print(" ?", item)
# 3. 创建一个新文件夹(就像在储物柜里多放一个盒子)
new_folder = "我的作业"
if not os.path.exists(new_folder): # 先检查是否已存在
os.mkdir(new_folder)
print("✅ 成功创建文件夹:", new_folder)
else:
print("⚠️ 文件夹已存在:", new_folder)
# 4. 在新建文件夹里创建一个文本文件(写入个人信息)
file_path = os.path.join(new_folder, "自我介绍.txt") # 跨平台拼接路径
with open(file_path, "w", encoding="utf-8") as f:
f.write("姓名:小明\n班级:CSP-J\n爱好:编程、打篮球")
print("✅ 已写入文件:", file_path)
# 5. 模拟“进程调度”——让两个任务轮流执行(计时运行)
def task_a():
print("? 任务A:背单词")
time.sleep(1) # 模拟耗时1秒
print(" A完成")
def task_b():
print("? 任务B:做数学题")
time.sleep(0.5) # 模拟耗时0.5秒
print(" B完成")
print("\n⏰ 开始模拟进程调度:")
task_a()
task_b()
print("调度结束——操作系统同时管住了两个任务!")
这段代码用 time.sleep 模拟了程序运行的耗时,实际上操作系统会在更短的时间内(毫秒级)切换任务,让你感觉不到等待。
4. 新手常犯的错误
-
路径分隔符写错
- 错误:
C:\Users\小明\作业(Python 中反斜杠\是转义符,会导致错误) - 正确:
C:/Users/小明/作业或C:\\Users\\小明\\作业 - 最佳实践:用
os.path.join()自动适配当前系统。
- 错误:
-
忘记检查文件夹是否存在
- 直接
os.mkdir()创建已存在的文件夹会报错。 - 一定要先判断
if not os.path.exists(...):
- 直接
-
权限不足
- 在 Linux 下,普通用户试图在
/root里写文件会失败。 - 如果在 Windows 的
C:\Program Files里尝试新建文件,也可能需要管理员权限。 - 解决方案:操作在用户自己的目录(如桌面、我的文档)里进行。
- 在 Linux 下,普通用户试图在
-
混淆命令行和图形界面的概念
- 有的同学以为 Linux 不能用鼠标,其实 Linux 也可以装桌面环境。
- 以为 Windows 没有命令行,其实 Windows 也有 PowerShell 或 cmd。
5. 完整可运行的代码汇总
把上面几段拼在一起,就是一份模拟操作系统的完整代码。复制到你的 Python 环境里运行,观察效果。
"""
模拟操作系统:文件管理与进程调度
"""
import os
import time
# ----- 文件系统部分 -----
print("===== 文件管理模拟 =====")
current = os.getcwd()
print("当前位置:", current)
items = os.listdir(".")
print("当前目录内容:")
for f in items:
print(" - ", f)
folder = "学习资料"
if not os.path.exists(folder):
os.mkdir(folder)
print("创建文件夹:", folder)
file_path = os.path.join(folder, "python笔记.txt")
with open(file_path, "w", encoding="utf-8") as f:
f.write("今天学习了 os 模块的用法。\n")
print("写入文件:", file_path)
# ----- 进程调度模拟 -----
print("\n===== 进程调度模拟 =====")
def homework(name, time_cost):
print(f"{name} 开始运行...")
time.sleep(time_cost)
print(f"{name} 运行完毕!")
homework("写数学作业", 0.5)
homework("背英语单词", 0.8)
print("两个任务都完成了,说明操作系统调度成功!")
6. 接下来可以学什么?
- 更多
os模块功能:os.remove()删除文件、os.rmdir()删除空文件夹、os.rename()重命名。 - 文件路径的优雅处理:
pathlib模块(Python 3.4 以上)比os.path更现代。 - Linux 基础命令:
cd、mkdir、rm、cp——这些操作和os模块功能一一对应。 - 任务调度与多进程:用
subprocess模块启动其他程序,用multiprocessing实现真正的并行。
如果把操作系统比作一位管家,那么学编程就是学习怎么给这位管家下达指令。用 Python 的 os 模块,你就能直接用代码指挥文件、管理进程——就像拥有了一把控制电脑的遥控器。试试自己写一段代码,创建一个“考试复习资料”文件夹,再把不同科目的笔记分类放进去吧!
例题精讲
操作系统在计算机中的作用是什么?
在Linux系统中,使用命令行可以完成大部分操作,而Windows主要依赖图形界面,但两者都支持命令行操作。
在Python中,要列出当前目录下的所有文件和文件夹,可以使用os模块的___函数。在Linux系统中,超级用户(系统管理员)的默认用户名是什么?
Windows和Linux操作系统的文件路径分隔符不同,Windows使用反斜杠(\),而Linux使用正斜杠(/)。