OS介绍

  • 3 Easy Pieces - Virtualization Concurrency Persistence

  • OS概念综述:OS(系统软件)让程序运行变得容易(甚至允许同时运行多个程序),允许程序共享内存,让程序能够与设备交互,管理软硬件资源等等其他工作,负责确保系统易于使用且正确高效运行。为了达到确保系统易于使用的目的,OS要对系统的资源进行虚拟化,也就是说,OS将物理资源转化为了更通用更强大更易于使用的虚拟形式。那么如何实现资源的虚拟化呢?这需要一定的机制和策略和硬件支持,在后续会不断学习。当然,为了让用户可以告诉OS做什么从而利用OS的功能,OS提供API供使用者调用。实际上,OS会提供很多system call 供应用程序调用。由于OS提供这些调用来运行程序,访问内存和设备,并进行其他相关操作,因此我们有时也会说OS为应用程序提供了一个Standard library。最后,因为虚拟化让许多程序(并发)运行(从而共享CPU),让许多程序可以同时访问自己的指令和数据(从而共享内存),让许多程序访问设备(从而共享磁盘等),所以操作系统有时被称为resource manager。每个 CPU、内存和磁盘都是系统的资源, 因此OS扮演的主要角色就是manage这些资源,以做到高效或公平,或者实际上考虑其他许多可能的目标。

  • tips:虚拟化,管理资源,提供调用接口(syscall)....

  • 虚拟化CPU:硬件支持下,OS提供一种系统拥有非常多虚拟CPU的假象,让每个进程都感觉自己占有了一个CPU。将单个 CPU(或其中一小部分)转换为看似无限数量的 CPU, 从而让许多程序看似同时运行,这就是所谓的虚拟化 CPU。

  • 虚拟化内存:现代机器提供的物理内存模型很简单,内存就是一个字节数组。要读取内存必须指定一个地址,要写入或更新内存数据,必须指定要写入或者更新的地址和数据。通过OS对内存的虚拟化,执行程序时,每个进程访问自己的私有虚拟地址空间,OS以某种方式映射到机器的物理内存上,一个正在运行的程序中的内存引用不会影响到其他进程的地址空间。它制造了一种假象--就好像每个正在运行的程序都有自己的私有内存,而不是与其他正在运行的程序共享相同的物理内存,但实际情况是,物理内存是由操作系统操理的共享资源。

  • 并发:指令若不以原子方式执行,结果未定。(区别于并行,并发是宏观同时而微观不同时,并行是微观和宏观都同时)。

  • 持久性:在系统内存中数据容易丢失,因为像 DRAM 这样的设备以易失(volatile)的方式存储数值。如果断电或系统崩溃,那么内存中的所有数据都会丢失。因此,我们需要硬件和软件来持久地存储数据。OS中管理磁盘的软件通常称为文件系统。它负责以可靠和高效的方式,将用户创建的文件存储在磁盘上。不像OS为 CPU 和内存提供的抽象,OS不会为每个应用程序创建专用的虚拟磁盘。相反,它假设用户经常需要共享文件中的信息。

OS介绍

上一篇:systemd配置nginx


下一篇:OCP 071【中文】考试题库(cuug整理)第47题