目录
操作系统(operating system,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,其主要作用是管理硬件设备,提高它们的利用率和系统吞吐量,并为用户和应用程序提供一个简单的接口,以便于用户和应用程序使用硬件设备。
操作系统的发展过程
1. 无操作系统阶段(1940s-1950s)
特点:早期的计算机没有操作系统,程序员直接通过硬件操作计算机,使用机器语言或汇编语言编写程序。
优点:直接控制硬件,执行效率高。
缺点:编程复杂,容易出错;资源利用率低,计算机只能一次运行一个程序,无法多任务处理。
2. 单道批处理系统(1950s-1960s)
特点:用户将作业提交给操作员,操作员将一批作业按顺序输入计算机执行。操作系统负责作业的调度和资源管理。
优点:减少了人工干预,提高了计算机的利用率。
缺点:用户无法与计算机交互,作业一旦提交就无法修改;响应时间长,无法处理实时任务。
3. 多道批处理程序系统(1960s)
特点:多个程序同时驻留在内存中,操作系统通过调度算法在程序之间切换,提高CPU利用率。
优点:提高了资源利用率,CPU可以在等待I/O操作时执行其他程序。
缺点:内存管理复杂,容易出现资源竞争和死锁问题;缺乏用户交互性。
4. 分时系统(1960s-1970s)
特点:多个用户通过终端同时使用计算机,操作系统通过时间片轮转的方式为每个用户分配CPU时间。
优点:用户可以与计算机实时交互,提高了用户体验;支持多用户、多任务。
缺点:系统开销较大,响应时间受用户数量影响;资源竞争问题依然存在。
5. 实时操作系统(1960s-至今)
特点:用于需要严格时间响应的系统,如工业控制、航空航天等。分为硬实时和软实时系统。
优点:能够保证任务在规定时间内完成,适合对时间敏感的应用。
缺点:资源调度严格,灵活性较低;开发复杂度高。
6. 个人计算机操作系统(1970s-1980s)
特点:随着个人计算机的普及,操作系统开始面向个人用户,如DOS、早期的Mac OS等。
优点:简单易用,适合个人用户;支持图形用户界面(GUI),提升了用户体验。
缺点:功能相对简单,多任务处理能力较弱;安全性较低。
7.嵌入式操作系统(1980s-至今)
特点:专为嵌入式设备设计,如智能手机、物联网设备等,典型代表有Android、iOS、嵌入式Linux等。
优点:资源占用少,适合资源受限的设备;支持多种硬件平台。
缺点:功能相对简化,扩展性有限;部分系统可能存在安全性问题。
8. 分布式操作系统(1980s-至今)
特点:管理多台计算机的资源,使其作为一个整体协同工作,如云计算平台。
优点:资源利用率高,支持大规模计算和存储;具备高可用性和容错性。
缺点:系统设计和实现复杂;网络延迟和通信开销可能影响性能。
9. 现代操作系统(1990s-至今)
特点:支持多任务、多用户、网络功能,具备强大的资源管理能力和安全性。典型代表有Windows、Linux、macOS等。
优点:功能强大,支持复杂的应用场景;具备良好的用户界面和网络支持;安全性较高。
缺点:系统复杂度高,资源占用大;部分系统可能存在兼容性问题。
10. 云计算与虚拟化操作系统(2000s-至今)
特点:支持虚拟化技术,能够在物理硬件上运行多个虚拟机,如VMware、Kubernetes等。
优点:资源利用率高,支持弹性扩展;具备高可用性和容错性。
缺点:系统复杂度高,管理难度大;可能存在性能开销。
操作系统的发展从最初的简单批处理系统,逐步演变为支持多任务、多用户、网络化和分布式计算的复杂系统。每个阶段都解决了前一阶段的某些问题,但也带来了新的挑战。随着技术的进步,操作系统在功能、性能和用户体验上不断提升,同时也面临着更高的复杂性和安全性要求。
操作系统的四大基本特性
1. 并发(Concurrency)
并发是指在同一时间间隔内,两个或多个事件都在发生。在宏观上,这些事件看似同时发生,但在微观上,它们是交替进行的。在单核CPU中,虽然一次只能执行一个程序,但多个程序可以并发执行,即它们会交替使用CPU。在多核CPU中,多个程序可以并行执行,即同时运行。
·并行:多个事件同时发生
2. 共享(Sharing)
共享,也称为资源共享,指系统中的资源可以被多个并发执行的进程共同使用。共享有两种形式:互斥共享和同时共享。互斥共享意味着一个资源一次只能被一个进程使用,而同时共享则允许多个进程在同一时间段内访问同一资源。
3. 虚拟(Virtualization)
虚拟是将一个物理实体转换为多个逻辑实体的技术。例如,虚拟存储器技术可以使得用户感觉到的内存容量大于实际的物理内存。虚拟技术包括时分复用技术,它通过在处理器的空闲时间运行其他程序来提高处理器的利用率,以及空分复用技术,它利用存储器的空闲空间来提高内存的利用率。
4. 异步(Asynchrony)
在多道程序环境下,由于资源限制,进程的执行不会一直连续进行,而是有间断地向前推进,这就是进程的异步性。异步性意味着进程以不可预知的速度前进,这通常是由系统资源的并发使用引起的。
操作系统的主要功能
引入OS的主要目的是,为多道程序的运行提供良好的运行环境,以保证多道程序能有条不 紊地、高效地运行,并能最大限度地提高系统中各种资源的利用率和方便用户的使用。为此,传统OS中应具有处理机管理、存储器管理、设备管理和文件管理等基本功能。此外,为了方便 用户使用OS,还须向用户提供方便的用户接口。
1. 处理机管理功能
在传统的多道程序系统中,处理机的分配和运行都以进程为基本单位,因而对处理机的管 理可归结为对进程的管理。处理机管理的主要功能有:创建和撤销进程,对各进程的运行进行协调,实现进程之间的信息交换,以及按照一定的算法把处理机分配给进程。
2. 存储器管理功能
存储器管理的主要任务是,为多道程序的运行提供良好的环境、提高存储器的利用率、方便用户使用,并能从逻辑上扩大内存。为此,存储器管理应实现内存分配和回收、内存保护、地址映射和内存扩充等功能。
3. 设备管理功能
设备管理的主要任务是:①完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作;②提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。 为完成上述任务,设备管理应实现缓冲管理、设备分配和设备处理等功能。
4. 文件管理功能
文件管理的主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。为此,文件管理应实现文件存储空间管理、目录管理、文件的读/写管理和保护等功能。
5. 接口管理功能
为了方便用户对OS的使用,OS向用户提供了“用户与O