操作系统
引论
-
定义与基本概念:操作系统是计算机硬件与用户之间的桥梁,类似于家中的管家,它管理硬件资源(如CPU、内存、硬盘),并为用户提供方便的服务(应用程序执行、文件管理等)。就好比一个家庭管家安排家务,使家庭成员可以专注于自己的活动。
-
发展历史:从最初的无操作系统(手动输入指令),到批处理系统(像工厂生产线,一批任务一起处理),再到分时系统(像自助餐厅,每个人轮流使用资源),最后到现代的多任务、图形界面操作系统(如智能家庭,各种设备协同工作,通过语音或触控简单控制)。
-
功能与目标:功能包括资源管理、进程控制、存储管理等,目标是提高效率、增强用户体验和确保安全性。如同一个高级酒店,既要保证房间(内存)的高效分配,也要确保顾客(进程)的需求得到及时响应,还要维护整个酒店的安全。
-
特性
- 并发性:多个人同时在图书馆查阅不同书籍,操作系统让多个进程看起来同时运行。
- 共享性:公园里的公共长椅,多个进程可以访问共享资源,但需适当管理避免冲突。
- 虚拟性:电影院的3D眼镜,让观众感受到虚拟世界,操作系统通过虚拟内存让程序认为拥有更多内存。
- 不确定性:在繁忙的超市结账,虽然有排队规则,但你不确定何时轮到自己,进程执行的顺序也是不确定的。
进程管理
-
进程概念与状态:进程是正在执行的程序实例,如同在厨房忙碌的厨师,状态包括就绪(等待原料)、运行(炒菜中)、阻塞(等待调料)和终止(菜已完成)。
-
进程控制:创建新进程如同开新炉灶炒新菜;终止进程是结束一道菜的制作;挂起是暂时把未完成的菜放一边;唤醒是重新开始炒那道菜。
-
进程通信:两个厨师通过传菜窗口传递材料(共享内存),或通过口头指示(消息传递)交流。
-
调度算法:如同餐厅经理决定下一道菜由哪个厨师做,先来先服务(按到达顺序)、短作业优先(先做快熟的菜)等。
-
死锁:几位客人互相等待对方的座位,导致谁也无法就餐,类似多个进程因等待对方资源而无法继续。
-
并发控制与同步机制:厨房里设置红绿灯,保证厨师们不会同时拿同一个锅(互斥锁),有序地完成各自任务。
存储管理
- 内存管理策略:餐厅如何高效安排座位(内存空间)给顾客(进程)。
- 分页与分段:分页是将大桌子分割成小桌,适应不同规模的团体;分段是按用途划分区域,如儿童区、成人区。
- 虚拟内存:餐厅外设立临时休息区,当店内满员时,让顾客先在外等待(硬盘上的交换空间)。
- 地址转换与重定位:顾客凭票(逻辑地址)换座位(物理地址),且座位可能随时间变动。
- 内存分配与回收:根据顾客流动情况灵活调整座位布局。
- 内存保护与扩充:确保不同顾客(进程)不会占用他人座位,同时通过扩展餐厅(增加内存)容纳更多顾客。
文件系统
-
文件与目录结构:想象一个图书馆,文件是书本,目录是书架上的标签,帮助我们分类和快速找到所需的书籍。每个文件都有一个唯一的名称和位置,就像每本书都有索引号。
-
文件存储组织:书架上的书可以按照字母顺序、主题或者作者排列,这对应于连续、链式或索引等不同的文件存储方式,以优化存取效率。
-
文件存取方法:图书馆提供借阅卡记录借还情况,类似操作系统记录文件的读写指针,确保每次打开文件时能从上次阅读的位置继续。
-
文件系统实现:如同图书馆管理系统,负责书籍的入库、出库、归档和检索,文件系统负责文件的创建、删除、读写和查找。
-
安全与权限管理:图书馆限制某些珍贵书籍的借阅,操作系统通过权限设置,确保用户只能访问他们有权限的文件,保护数据安全。
输入/输出(I/O)管理
-
I/O设备分类与控制方式:就像餐厅中的餐具和厨具各有用途,I/O设备如键盘、打印机也有不同类别,操作系统通过专用驱动程序控制这些设备,如同服务员专门负责餐具的摆放和清洁。
-
中断驱动I/O:当客人按下服务铃(I/O请求),服务员立即停止当前工作去响应,操作系统通过中断处理I/O事件,保证及时响应外部请求。
-
DMA与缓冲技术:为了不让厨师(CPU)一直等待原材料(数据)送上门,直接存储器访问(DMA)允许数据直接在内存和外设间传输,缓冲区则像临时堆放食材的台面,减少等待时间。
-
设备独立性与虚拟设备:无论餐厅更换哪种品牌的冰箱,厨师(应用程序)仍能正常取出食材,这是设备独立性的体现。虚拟设备则是将多个低速打印机模拟成高速打印机,让用户感觉打印速度更快。
-
I/O调度与死锁:合理安排服务员上菜顺序,防止厨房拥堵,I/O调度也是如此,避免设备争用引起系统效率下降。死锁就像几桌客人互相等待对方的椅子,解决办法是预防和检测机制。
网络与分布式操作系统
-
网络基础知识:理解计算机间的通讯协议和网络架构,就像城市间的交通规则和道路规划,确保信息有效传输。
-
分布式计算模型:多间分店协同工作,每家店处理一部分订单,汇总结果,体现了分布式系统分散处理和集中管理的优势。
-
远程过程调用(RPC):犹如电话订餐,客户不用亲自到店,就能让餐厅处理订单,RPC允许程序跨网络调用其他机器上的函数。
-
安全与网络文件系统:如同银行的保险箱,网络文件系统提供加密传输和权限控制,确保数据在传输和存储过程中的安全。
-
分布式资源管理:如同连锁酒店统一调配客房资源,分布式操作系统需协调多台计算机的资源,以达到最优使用。
实用操作系统
-
常见操作系统介绍:Windows、Linux、Unix等,各有特色,如Windows像全能的家庭娱乐中心,Linux则像可定制的工作室,Unix是稳定的企业服务器。
-
操作系统安装与配置:如同为新房装修,选择合适的家具(软件)布置,配置网络、安全等设置,让系统满足个性化需求。
-
系统性能监控与优化:定期检查系统健康状况,如同汽车保养,通过任务管理器查看CPU、内存使用情况,清理垃圾文件提升运行速度。
-
命令行工具与脚本:命令行是直接与系统对话的方式,如同用特定语言给机器人下指令,脚本则是自动化一系列指令,提高工作效率。
-
系统安全与管理实践:设置防火墙、安装杀毒软件,如同为房子装上防盗门和监控摄像头,保护系统免受攻击,定期更新补丁,加固系统安全。