操作系统-基础认识


image.png

定义

软件负责让程序运行变得容易(甚至允许你同时运行多个程序),允许程序共享内存,让程序能够与设备交互,以及其他类似的有趣的工作。这些软件称为操作系统(Operating System,OS)[3],因为它们负责确保系统既易于使用又正确高效地运行。

操作系统(Operating System,简称OS)是计算机系统中负责管理计算机硬件与软件资源的核心系统软件,它为用户和计算机应用程序提供了一个统一的、用户友好的操作界面,使得用户无需了解底层硬件的详细工作原理,就能有效地、方便地、安全地、可靠地操作计算机硬件和运行自己的程序。

操作系统的工作就是管理计算机的处理机、主存、外设等硬件资源,提供存放于存储设备的文件等逻辑资源,并组织用户任务(如以进程形式)使用这些资源

操作系统功能
  1. 资源管理
    • 处理器管理:操作系统负责管理和调度计算机的处理器(CPU)时间,确保多个程序或进程能够公平、有效地使用CPU资源。
    • 内存管理:操作系统管理计算机的主存储器(RAM),包括内存的分配、回收、保护和扩充等,以确保每个程序都能获得足够的内存空间来运行。
    • 文件管理:操作系统提供对文件系统的管理,包括文件的创建、删除、读写、复制、移动、保护等操作,以及目录和文件系统的维护。
    • 设备管理:操作系统负责计算机硬件设备的控制和管理,包括输入输出设备(如键盘、鼠标、显示器、打印机等)的分配、启动和故障处理
  2. 控制各类接口程序
    • 命令接口
    • 程序接口
    • GUI接口
  3. 提供用户界面
    • 操作系统通过图形用户界面(GUI)或命令行界面(CLI)与用户交互,允许用户以直观或文本的方式启动、控制和管理程序。
    • 图形用户界面提供了窗口、图标、菜单、对话框等元素,使得非专业用户也能轻松操作计算机。
  4. 程序执行
    • 操作系统负责程序的加载、执行和终止。当用户启动一个程序时,操作系统负责将程序从硬盘加载到内存中,并为其分配必要的资源,然后执行程序。
    • 操作系统还负责处理程序的输入输出请求,将程序的输出结果展示给用户,并将用户的输入传递给程序。
  5. 系统安全和保护
    • 操作系统提供了一系列的安全机制,如用户身份验证、访问控制、数据加密等,以保护系统资源和用户数据的安全。
    • 它还负责检测和防止恶意软件的入侵,确保系统的稳定运行。
  6. 网络功能
    • 现代操作系统通常支持网络功能,包括网络通信、资源共享、远程访问等。
    • 它允许计算机连接到互联网或其他网络,并与其他计算机进行通信和数据交换。
  7. 错误检测与恢复
    • 操作系统能够检测和诊断硬件和软件的错误,并提供相应的恢复机制。
    • 当系统出现故障时,操作系统能够尝试自动修复或至少提供足够的错误信息给用户,以便用户能够采取适当的措施来解决问题

程序控制器

在窗口界面中,用户通过与命令解释器对应的程序管理器,如Windows的explorer.exe来使用计算机

操作系统特征

1. 并发性

并发性指的是系统能够同时处理多个程序或任务的能力。在宏观上看,这些程序似乎是同时运行的,但在微观上,它们可能是交替运行的。这是因为单核处理器在同一时刻只能执行一个程序,但操作系统通过快速的上下文切换,使得多个程序能够“并发地”运行。而在多核处理器环境下,则可以实现真正的并行处理,即多个程序在同一时刻并行执行。

2. 共享性

共享性即资源共享,是指操作系统中的资源(如CPU、内存、磁盘、打印机等)可供内存中多个并发执行的进程共同使用。这种共享性通过操作系统的管理和调度机制实现,确保了资源的高效利用。共享有两种方式:互斥共享和同时访问。互斥共享方式指的是某些资源在同一时刻只允许一个进程访问,如摄像头;而同时共享方式则允许多个进程在同一时刻访问某些资源,如硬盘,但这种共享在微观上可能是通过时间片轮转等方式实现的。

3. 虚拟性

虚拟性是指通过虚拟化技术,将一个物理实体转换为多个逻辑实体。这使得用户可以在虚拟环境中操作多个虚拟资源,而不必直接操作实际的物理资源。虚拟技术包括空分复用技术和时分复用技术。空分复用技术如虚拟存储器技术,将物理内存扩展为虚拟内存,使得程序可以使用比实际物理内存更多的内存空间。时分复用技术如虚拟处理器技术,则使得每个用户仿佛拥有多个CPU,从而提高了处理能力。

4. 异步性

异步性指的是在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进。这就是进程的异步性。由于操作系统的并发性和资源共享性,多个程序在运行时可能会因为资源竞争或调度策略等原因而交替执行,导致程序的执行顺序和执行时间不确定。

并行和并发区别

[[explorer.exe]]
并发是指系统可以同时处理多个任务,但这些任务可能会在同一时间片上交替执行。并行则指多个任务真正同时进行,通常在多核处理器上实现。并发关注任务的管理和调度,而并行关注任务的实际同时执行。因此在资源管理器中进程是看似并行实则并发
explorer.exe 是 Windows 操作系统中的一个核心进程,它负责提供图形用户界面(GUI)和文件管理功能。以下是它的主要功能和作用:

  1. 文件资源管理器

    • explorer.exe 负责启动和管理文件资源管理器(File Explorer),这是用户浏览、管理和操作文件和文件夹的工具。用户可以通过它查看硬盘上的文件、拖放文件、创建文件夹等。
  2. 任务栏和开始菜单

    • 这个进程还负责显示任务栏、开始菜单和系统托盘图标。这些元素是用户与系统交互的关键部分。
  3. 桌面环境

    • explorer.exe 还负责管理桌面环境,包括显示桌面图标、背景图片等。
  4. 窗口管理

    • 它处理文件和程序窗口的管理,包括窗口的最小化、最大化和关闭。

如果 explorer.exe 出现问题,通常会导致文件资源管理器、任务栏和桌面等功能无法正常工作。在这种情况下,你可以通过任务管理器重新启动 explorer.exe 进程,以尝试解决问题:

  1. 打开任务管理器(按 Ctrl + Shift + Esc)。
  2. 在“进程”标签页中找到 Windows 资源管理器,右键单击它,然后选择“重启”。

explorer.exe 是 Windows 操作系统中一个重要的进程,确保它正常运行是保持系统功能正常的重要一环。

***进程分成线程
当一个进程中包含五个线程时,这些线程之间可以是并发的。具体来说:

  1. 并发:五个线程在时间上可能是交替执行的,系统会在它们之间切换,利用CPU的时间片。这种情况下,线程并不一定同时运行,但它们的执行是相互交织的,给人一种“同时”进行的感觉。

  2. 并行:如果系统有多个CPU核心或者处理器,这五个线程可能会真正地同时运行在不同的核心上。这种情况下,线程之间的执行是并行的。

由此可以看见其实还是和cpu的一些内核相关。一个核一个进程

共享性

资源可以供多个进程使用。

***同时共享性

同时共享性指的是多个线程或进程能够同时访问和共享相同资源的能力,而不必等待其他线程或进程完成其对该资源的访问。这通常涉及并发控制和同步机制的使用,以确保资源的安全和一致性。

***互斥共享性

互斥共享性指的是在多线程或多进程环境中,确保同一时刻只有一个线程或进程能够访问共享资源,从而避免数据竞争和冲突的能力

虚拟性

物理上的实体分为多个逻辑上的对应物,物理存在但是逻辑上的是用户的感受到的。

***空分复用技术

虚拟内存技术

***时分复用技术

虚拟处理器技术,多个进程同时使用

异步性
  1. 异步I/O操作:在执行输入/输出操作时,操作系统可以启动I/O操作并立即返回,允许其他任务继续执行。I/O操作完成后,系统会通知应用程序或进程,避免了等待I/O完成的阻塞,提升了整体系统效率。

  2. 事件驱动模型:操作系统可以基于事件驱动模型来处理任务。当事件发生时,系统会触发相应的处理程序,而不是阻塞主线程或进程。这使得系统能够快速响应外部事件(如用户输入、网络数据等),而不影响其他并发任务的执行。

  3. 回调机制:在异步操作中,操作系统经常使用回调函数来处理操作完成后的任务。当异步操作完成时,系统会调用预先定义好的回调函数,这样应用程序可以在操作完成后执行特定的代码,而无需在操作期间阻塞。

  4. 多线程和任务调度:异步操作常常与多线程技术结合使用。操作系统可以创建多个线程并调度它们并行执行,这些线程可以独立处理不同的任务,提升系统的并发处理能力。


文章作者: K1T0
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 K1T0 !
  目录