热搜:微信 游戏 亮相 内存仅 抢不到 风林火山 电脑公司 王者荣耀 王者荣耀 万能装机 系统 xp 电脑公司 浏览器 一键重装 蜘蛛侠 快手 win7 fix realtek 微信 游戏 office mumu模拟器 微软电脑管家 22H2 secoclient 11 11 11 开始菜单 WingetUI 腾讯电脑管家 打印机 应用商店 谷歌浏览 批量下载 中国建设银行 win1032位 龙信 系统 Outlook AutoCAD 2023 Fix 迅雷 系统大师 装机大师 win7系统 WIFI sscom wps 采集 启动 植物大战僵尸 驱动人生 腾讯QQ V9.7.20 优酷 输入法 抖音 三只羊 短视频 qq 快手 系统 迅雷 注册表 学习通 红警 the vmware win11 必应 原神 小米 乙 和 UC浏览器网页版 TT
编辑:电脑系统网 2024-09-15 来源于:电脑系统网
在这篇文章中,我们来谈谈操作系统(Operating System, OS)。
我们每天都在使用操作系统。Windows、Linux、安卓、iOS,它们都是非常经典的操作系统。有了它们,我们可以更好地使用硬件终端设备,如计算机和手机。
那么,操作系统的本质是什么呢?它的功能和特点是什么?我们常说的过程、线程、内核、中断GUI、CLI…… 又是什么意思?
接下来,我们一起寻找答案。
█ 操作系统是什么?从本质上讲,操作系统实际上是一套软件。它也是由代码编写的,就像我们现在常用的一样 Windows10主要是 C / C 写的。
操作系统属于软件,但也是一个非常特殊的软件。
在整个计算机架构中,它最接近硬件,是最重要和最基本的软件。它负责控制和管理整个计算机系统的资源,并进行合理的组织、调度和分配。
对于用户(user)以及上层应用软件(application)就操作系统而言,隐藏了许多底层细节,通过标准接口进行调用,极大地简化了上层应用软件的开发。
同时,它还提供了许多辅助工具和功能,使用户能够更好地控制计算机的运行状态。
换句话说,操作系统是一个超级管家。它管理一切,为用户服务,并对用户负责。
█ 操作系统的核心功能操作系统的核心功能可分为以下几个方面:
一是流程管理。
进程(Process)和线程(Thread),这两个概念在操作系统中非常重要。
流程是资源分配的基本单位。操作系统负责过程之间的创建、终止、调度、同步和通信。应用程序的运行,包括操作系统本身的核心功能,都以过程的形式存在。
每个过程包括程序的代码、数据和状态,以及操作系统为程序分配的资源(如内存空间、文件句柄、网络端口等)。操作系统通过过过程管理确保每个过程的高效和安全共享 CPU 时间。
我们使用“Ctrl Alt Del"快捷键调出 Windows 任务管理器可以看到许多过程:
线程是操作系统操作调度的最小单位。
线程比过程低一级,是过程中可以独立调度和分配的执行单位。
一个过程中可以有多个线程,共享相同的内存空间和资源,更容易通信和数据共享。
例如,如果您启动浏览器程序,操作系统将打开相应的过程。在这个过程中,会有多个线程,例如 HTTP 请求线程、事件响应线程、渲染线程等。
如果您关闭浏览器程序,您可以从任务管理器中看到,此过程和相应的线程都消失了。当然,您也可以直接右键关闭任务管理器中的过程,程序将被迫退出。Linux 在里面干掉一个过程,使用的命令是“kill(杀)”。
操作系统直到后期才引入线程。它进一步提供了程序执行的并发性,提高了系统的效率。
过程和线程可以包括执行状态、就绪状态、阻塞状态等。管理过程和线程本质上是为了实现 CPU 资源分配调度。
需要注意的是,一个程序可以对应一个或多个过程。一个过程也可以对应一个或多个程序(尽管这是罕见的)。
二是内存管理。
我们以前多次提到过冯冯・诺依曼体系结构。只有当程序从硬盘到内存时,它才能被计算器使用(CPU)处理。为了保证正常运行,每个程序都有足够的内存空间。
运行后,内存也需要及时释放,以便其他程序能够继续占用。
操作系统还负责内存的分配和回收。
除了内存分配外,操作系统还负责内存保护(确保每个程序只在自己的内存区域运行,过程不会相互干扰)、地址映射(将程序装入内存运行时,逻辑地址需要转换为内存单元限制的物理地址)、内存扩展(借助虚拟存储技术,从逻辑上扩展内存容量)等。
三是设备管理。
这是操作系统的重要任务之一。它管理和控制外部设备(如打印机、硬盘驱动器、键盘、鼠标等)的使用。
具体来说,它可以完成用户流程提出的 I/O(输入 / 输出)请求分配用户流程所需的要求 I/O 设备,提高 CPU 和 I/O 提高设备利用率 I/O 速度等。高效 I/O 可以避免调度 I/O 设备拖动系统的运行。
四是文件系统管理。
文件系统是操作系统组织、存储和检索数据的一套规则。
操作系统为组织、存储、检索和保护文件提供了一套机制,包括文件的创建、删除、读写操作和目录结构的维护。也可以理解为操作系统对存储设备和资源的管理和调用。
第五,安全和权限管理。
有了硬件和软件资源,我们还需要指定谁能使用它们。
操作系统提供完善的安全机制,确保用户数据的安全性和完整性,包括用户身份验证、访问控制和加密。
最后一个核心功能是交互界面。
操作系统是用户使用计算机的工具。如果我们想让计算机工作,我们需要一个良好的交互界面来发布命令、查询结果和状态。
操作系统提供图形用户界面(GUI,Graphical User Interface)或者命令行界面(CLI,Command Line Interface),方便用户与计算机交互。这是计算机在社会上全面普及的前提。
很多人都用过“很多人都用过”cmd“调出的命令行界面称为在线命令接口,也称为交互式命令接口。
我们以前也学过写批处理文件(.bat 文件),给出几个命令,让计算机一个接一个地执行。这叫脱机命令接口。
除了(在线、离线)命令接口外,操作系统还提供程序接口。
一组系统调用程序接口(system call)该组成允许应用程序间接调用资源。
目前,许多应用程序通过高级语言提供的库函数间接调用系统。我们可以将这些库函数视为系统调用的进一步包装。
需要注意的是,所有与共享资源相关的操作(如存储分配、I/O 操作、文件管理等。),必须通过系统调用向操作系统内核提出服务请求,由操作系统内核代为完成。这可以保证系统的稳定性和安全性。
█ 操作系统的主要特点除上述六个功能外,操作系统还具有并发、共享、异步和虚拟四个特点。
并发(concurrency)
并发性是指在同一时间间隔内发生两个或两个以上的事件。操作系统具有并发性,是指其同时处理和调度多个程序的能力。
并发和并行(parallellism)有区别。并行是两个或两个以上的事件同时发生。例如,吃苹果和看电视是并行的。在 1 在几分钟内,吃苹果、香蕉和橘子是并发的。
显然,从宏观角度来看,并发是同时发生的,但从微观角度来看,它是分时交替发生的(有点像通信中的“时间重用”)。并发测试了资源调度的能力,并行需要硬件的支持,如多核处理器。
共享(sharing)
共享是指系统中的资源可以通过多个并发过程共同使用。它分为两种方式,相互排斥和共享。
互排斥共享,顾名思义,就是不能同时使用。只有在一个过程访问并释放资源时,才允许另一个过程访问资源。这种资源被称为临界资源或独家资源。计算机系统中的大多数物理设备都是临界资源。
同时共享意味着可以同时使用多个过程。硬盘是最典型的设备。
我们也应该看到,共享的底层逻辑也与通信中的“重用”非常相似,要么是时间共享(时间重用),要么是物理资源空间共享(空间重用),主要取决于资源本身的属性。
异步(asynchronous)
异步是同步的反义词。同步意味着每个人都保持统一的节奏。而异步,就是走自己的路。
异步的前提是并发性。如果没有并发性,所有任务只能是 one by one 串行执行,那么整个系统的效率就会很低。
虚拟(virtualization)
最后是虚拟。我们经常在云计算中提到这一点。虚拟是将一个物理实体变成几个逻辑实体。
虚拟的本质是资源的再利用。它只是通过软件实现的。用户感受到的是多个逻辑实体。
█ 操作系统的组成架构让我们来看看操作系统的组成架构。
操作系统的核心是我们经常听到的核心(Kernel)。
核心直接与硬件交互,并为其他系统软件和应用程序提供服务。除交互界面外,上述操作系统的核心功能大多与核心密切相关。
计算机里的 CPU,工作状态可分为内核状态(也称管状态)和用户状态(也称目状态)。操作内核程序时,是内核状态。操作应用程序时,是用户状态。
操作系统有两种指令:“非特权指令”和“特权指令”。
应用程序只能使用“非特权指令”,如加法指令、减法指令等。作为“管理者”,操作系统的核心有时会让 CPU 执行一些 high level 内存清零指令等“特权指令”。这些指令影响很大,只允许操作系统内核使用。
当操作系统处于核心状态时,可以执行特权指令。如果处于用户状态,则只能执行非特权指令。
一般情况下,用户启动应用程序后,操作系统内核程序会在适当的时候主动放弃 CPU,转向用户状态。此时,如果中断,操作系统的核心将被迫恢复 CPU 控制权,让 CPU 从用户态到内核态。
这里只是说中断(Interrupt)。
当处理器收到信号并提示发生事件时,应注意。这种情况称为中断。
中断分为内中断和外中断。
内部中断又称异常,是指来自 CPU 内部事件与当前执行指令有关。如程序的非法操作代码、地址越界、操作溢出等。异常不能被屏蔽,一旦发生,应立即处理。
三种典型的内部中断类型包括:陷入困境(trap,由陷入指令引起)、故障(fault,内核程序可以通过错误的条件进行修复)、终止(abort,内核程序因致命错误而无法修复)。
外部中断是狭义的中断,信号来自 CPU 外部事件与当前执行的指令无关。典型的是时钟中断和时钟中断 I/O 中断,或人为干预。
继续说内核。
内核也分为大内核、微内核等多种类型。
所有操作系统服务都在内核空间运行,即大内核,又称宏内核和单内核。
只有最基本的系统服务在核心空间运行,其他服务移出核心,放在用户空间运行,是微核心。
微内核比大内核更灵活,架构更清晰,代码不那么大,更容易维护。
操作系统负责交互界面,称为外壳(Shell)。包括命令解释器和图形用户界面。
除内核和外壳外,操作系统还包括备份工具、恢复工具、防火墙、网络服务等许多其他工具和服务。
以下是操作系统整体架构的示意图:
这个是 Linux 系统架构示意图,供参考:
随着技术的发展,现代操作系统已经发展了几十年。
计算机硬件不断升级,用户需求不断增加,系统功能不断迭代,最终导致整个操作系统的架构越来越复杂,代码体积越来越大。
以前的操作系统只有几个 MB,一个软盘可以安装。现在的操作系统,通常有几个 GB,甚至几十 GB,DVD 光盘装不下。
对于不同的设备终端类型,以及不同的应用场景,操作系统也有细化分类的趋势,演变成多个类别。
一般来说,操作系统大致可分为桌面操作系统、服务器操作系统、移动终端操作系统、嵌入式操作系统、物联网操作系统等类别。
如下表所示:
关于这些操作系统的具体故事,大家可以参考小枣君之前的文章,今天就不赘述了:
操作系统最强入门科普(Unix / Linux 篇)
操作系统的发展历史(DOS / Windows 篇)
手机操作系统的起起落落(上)
过去手机操作系统的起伏(下)
以上就是今天文章的全部内容。
感谢您的耐心观看。假如大家都觉得文章有用,欢迎多转发。谢谢!
本文来自微信公众号:微信公众号(ID:null),作者:小枣君
广告声明:文本中包含的外部跳转链接(包括不限于超链接、二维码、密码等形式)用于传递更多信息,节省选择时间。结果仅供参考。计算机系统网络上的所有文章都包含了本声明。
2024/12/01 00:29
消息称京东调整职级序列体系,原 M、P、T、S 合并为新的专业主序列 P2024/12/01 00:29
龙芯中科:下一代桌面芯片 3B6600 研制中,GPU 芯片 9A1000 争取明年上半年流片2024/12/01 00:29
广东省将从 12 月 1 日起实施深圳赴香港“一签多行”旅游政策消息人士表示该项目仍处于早期阶段,因为其“物理资产尚未到位”,预计 Meta 将在 2025 年初公开讨论此事,届时将确认详细计划,包括预期路线、容量和建设理由。...
2024/12/01 00:29:12
“科技昨夜今晨”时间,大家好,现在是 2024 年 11 月 30 日星期六,今天的重要科技资讯有:
2024/12/01 00:29:10