【愚公系列】软考高级-架构设计师 014-操作系统概述
🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏
🚀前言
操作系统(Operating System, OS)是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的核心与基石。操作系统的主要任务是提供一个在其中运行应用软件的方便环境,同时作为计算机硬件和用户之间的接口。
🔎1.核心功能
-
资源管理:
- 处理器管理(CPU调度):操作系统负责处理和分配CPU时间片,控制进程和线程的执行顺序。
- 内存管理:操作系统管理系统的物理和虚拟内存,包括内存分配与回收,以及虚拟内存的页面替换策略。
- 设备管理:操作系统通过设备驱动程序管理所有的硬件设备,如硬盘、打印机、声卡等。
- 文件管理:操作系统通过文件系统来控制对文件的访问,实现数据的存储、检索和更新。
-
用户接口:
- 命令行接口(CLI):用户通过文本命令与操作系统交互。
- 图形用户界面(GUI):提供图形界面操作,用户可以用鼠标点击图标来操作。
- 应用程序接口(API):允许开发者编写应用程序时调用一组预定义的接口,例如 Windows API 或 POSIX API。
-
系统安全:
- 用户账户管理:操作系统通过要求用户登录来限制访问权限,保护私人信息安全。
- 权限管理:文件和程序具有不同的访问权限,操作系统负责维护这些权限,防止未授权访问。
- 病毒防护:操作系统经常集成或与病毒防护软件协同工作,防止恶意软件造成的破坏。
-
任务管理:
- 多任务处理:同时支持多个任务执行,如多窗口、多进程、多线程等。
- 进程隔离:确保一个进程不会影响到其他进程的运行。
- 进程通信(IPC):提供进程间的通信机制,如管道、信号、套接字等。
🔎2.举例
- Windows:家庭和企业桌面普遍使用的操作系统,支持广泛的硬件和软件。
- MacOS:苹果公司的操作系统,仅在苹果的计算机上运行,以其图形界面用户为特点。
- Unix/Linux:强大的多用户、多任务操作系统,广泛应用于服务器、桌面和网络设备中。
- Android, iOS:分别为谷歌和苹果的移动操作系统,用于智能手机和平板电脑。
操作系统的设计和实现是计算机科学中的一个重要领域,涉及到底层硬件到高级应用程序的广泛知识。
🚀一、操作系统概述
🔎1.作用
操作系统的作用主要可以归纳为以下两个方面:
🦋1.1 通过资源管理提高计算机系统的效率
操作系统通过高效管理计算机的硬件和软件资源,优化系统的整体性能和效率。这包括:
- 处理器(CPU)管理:操作系统通过进程调度和线程调度策略,合理分配CPU时间,确保系统响应时间最小化,吞吐量最大化。
- 内存管理:操作系统管理所有的内存资源,通过分配和回收内存,实现内存的有效利用。它还负责虚拟内存的管理,扩展了物理内存的使用。
- 存储管理:操作系统管理所有的存储设备和存储空间,包括文件系统的设计和文件的存取,确保数据的持久存储和高效访问。
- 设备管理:操作系统通过设备驱动程序和I/O系统管理各种输入输出设备,提高设备使用效率,简化设备访问过程。
🦋1.2 改善人机界面,向用户提供友好的工作环境
操作系统通过提供直观、易用的用户界面,大大降低了用户与计算机交互的复杂性,提升了用户体验。这包括:
- 图形用户界面(GUI):通过窗口、图标、菜单和触摸操作等直观的交互元素,用户可以轻松地进行各种操作,而无需记忆复杂的命令或操作步骤。
- 命令行界面(CLI):为高级用户和系统管理员提供强大的控制能力,通过命令行可以执行复杂的任务序列和系统配置。
- 应用程序接口(API):为软件开发者提供丰富的编程接口,使他们能够开发各种应用程序,进一步丰富操作系统的
🔎2.特征
操作系统的四大特征——并发性、共享性、虚拟性、和不确定性,共同定义了操作系统的基本属性和功能实现的核心理念。下面是对这些特征的详细解释:
🦋2.1 并发性(Concurrency)
并发性是指两个或多个事件在同一时间间隔内发生。在操作系统中,尽管一个CPU核心在任一时刻只能执行一个任务,但通过时间分片技术,操作系统能够使多个进程或线程在宏观上看似同时执行,从而大大提高了计算机资源的利用率和系统的吞吐量。在多核心处理器上,这种并发性可以实现真正的同时执行多个任务。
🦋2.2 共享性(Sharing)
共享性,也称资源共享,是指系统中的资源可以被多个并发执行的进程共同使用。共享性可以进一步细分为两种形式:
- 互斥共享:资源一次只能由一个进程使用,如打印机。
- 同时访问:资源可以被多个进程同时访问,但需要操作系统管理以避免冲突,如文件系统。
🦋2.3 虚拟性(Virtuality)
虚拟性是通过某种技术将一个物理实体转换为若干个逻辑上的对应物的过程。在操作系统中,主要表现为虚拟内存和虚拟设备。虚拟内存允许程序认为自己拥有连续的、较大的内存空间,而实际上物理内存可能更小、碎片化,甚至部分内容存储在硬盘上。虚拟设备,如虚拟打印机,允许多个进程似乎都在直接控制同一硬件。
🦋2.4 不确定性(Indeterminacy)
不确定性是指在多道程序环境下,由于资源竞争,使得程序的执行不能预先确定下来。例如,多个进程可能竞争CPU或其他资源,具体哪个进程先执行是不确定的,这取决于操作系统的调度策略和当前的系统状态。操作系统需要具备处理这种不确定性的能力,确保系统的稳定运行和资源的公平分配。
🔎3.功能
操作系统的核心功能确实涵盖了进程管理、存储管理、文件管理、设备管理和作业管理。下面是对每个功能详细解释:
🦋3.1 进程管理
进程管理是操作系统最重要的功能之一。它涉及到进程的创建、调度、同步、通信和终止。进程是程序的执行实例,是系统进行资源分配和调度的基本单位。操作系统通过进程管理确保CPU资源得到合理分配,并实现并发执行,从而提高系统效率。
- 调度:选择哪个进程获得处理器时间(CPU时间)。
- 同步:协调进程执行的顺序,确保数据的一致性。
- 通信:进程间的信息交换。
- 死锁管理:防止进程间因资源竞争造成的永久阻塞。
🦋3.2 存储管理
存储管理负责内存和存储空间的分配与回收,确保每个程序和用户有足够的内存空间。它还涉及到虚拟内存技术的实现,通过这项技术,物理内存可以被抽象成更大的逻辑存储单元,使得程序员可以不用关心内存的物理限制。
- 内存分配:将内存分配给请求者并在不再使用时回收。
- 分页和分段:虚拟内存的实现技术之一,用于内存的有效管理。
- 页面替换算法:决定哪些内存页被换出到磁盘,以便为新页腾出空间。
🦋3.3 文件管理
文件管理系统负责文件的存储、检索、共享和保护。它提供了一个逻辑存储系统,用户和程序可以轻松地访问磁盘或其他存储设备上的数据。
- 文件系统组织:决定如何在存储设备上存储和组织文件。
- 文件访问控制:提供对文件的读/写/执行权限管理。
- 目录管理:维护文件和目录的结构。
🦋3.4 设备管理
设备管理负责管理计算机的所有硬件设备。操作系统通过设备驱动程序与硬件通信,控制设备的操作并提供必要的抽象,使得应用程序可以不用关心硬件的具体细节。
- 设备驱动程序:为系统提供与特定硬件设备通信的能力。
- I/O系统管理:负责所有输入和输出操作,包括用户输入、显示输出和文件访问等。
🦋3.5 作业管理
作业管理主要出现在批处理系统中,负责作业的接收、调度、执行以及完成后的输出管理。作业是用户提交给系统的一组作业或命令。
- 作业调度:决定作业执行的顺序。
- 作业跟踪与监控:监视作业的执行状态,记录系统资源的使用情况。
- 作业控制:提供用户或系统干预作业执行的机制。
🔎4.分类
操作系统的分类反映了它们设计和实现的多样性,以满足不同类型计算需求和应用场景。以下是操作系统的一些主要分类及其简要说明:
🦋4.1 批处理操作系统
批处理操作系统允许用户将作业(jobs)集中起来,然后一次性提交给计算机处理。用户不会直接与计算机交互,而是将作业交给操作系统,操作系统负责管理这些作业的执行,包括作业的调度、执行和输出的管理。这种类型的操作系统主要用于数据处理和批量计算任务。
🦋4.2 分时操作系统
分时操作系统允许多个用户通过各自的终端同时使用计算机系统。操作系统通过时间分片技术将CPU的时间分成很短的片段,轮流分配给每个用户/程序,从而使用户感觉像是独占了CPU。这种操作系统提高了计算机资源的利用率,允许多任务和交互式计算。
🦋4.3 实时操作系统(RTOS)
实时操作系统是为了快速响应外部事件而设计的,它们能够在严格的时间限制内完成特定的任务。实时操作系统分为硬实时和软实时系统,硬实时系统要求任务必须在指定的时间内完成,而软实时系统则允许偶尔的延迟。这类操作系统常用于嵌入式系统、工业控制系统等领域。
🦋4.4 网络操作系统
网络操作系统主要用于管理网络资源,如打印机、文件服务器、邮件服务器等。它们提供了网络资源共享、数据通信和网络安全管理等功能,允许用户在网络上共享资源和信息。常见的网络操作系统有Windows Server、Novell NetWare等。
🦋4.5 分布式操作系统
分布式操作系统管理着物理上分散的多台计算机,使它们作为一个协调的整体运行。这类系统通过高速网络将分散的资源整合使用,对用户提供透明的资源访问。分布式操作系统强调资源共享和高可靠性,常用于大型企业和科研计算中。
🦋4.6 微机操作系统
微机操作系统是指用于个人计算机(PC)的操作系统。这类操作系统设计用于单用户环境,强调用户界面、易用性和多媒体功能。Windows、macOS和Linux都属于这一类操作系统。
🦋4.7 嵌入式操作系统
嵌入式操作系统设计用于控制特定的硬件设备或系统,如手机、家用电器、车载计算机等。它们通常资源占用小,能够高效地运行在有限的计算资源上,具有实时性和高度定制性的特点。Android和iOS可以被视为嵌入式操作系统的特例,专门用于移动设备。
计算机启动的基本流程为:BIOS->主引导记录->操作系统。
🚀感谢:给读者的一封信
亲爱的读者,
我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。
如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。
我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。
如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。
再次感谢您的阅读和支持!
最诚挚的问候, “愚公搬代码”
- 点赞
- 收藏
- 关注作者
评论(0)