操作系统概览


作者:Seiya

时间:2019年11月13日


前言


操作系统是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

操作系统的类型非常多样,不同机器安装的操作系统可从简单到复杂,可从移动电话的嵌入式系统到超级电脑的大型操作系统。



操作系统的基本功能


进程管理

不管是常驻程序或者应用程序,他们都以进程为标准运行单位。 由于大部分的电脑只包含一颗中央处理器,在宏内核(Core)的情况下多进程只是简单迅速地切换各进程,让每个进程都能够运行,在多内核或多处理器的情况下,所有进程透过许多协同技术在各处理器或内核上转换。越多进程同时运行,每个进程能分配到的时间比率就越小。

除了进程管理之外,操作系统尚有担负起进程间通信(IPC)、进程异常终止处理以及死锁(Dead Lock)侦测及处理等较为艰深的问题。

在进程之下尚有线程的问题,但是大部分的操作系统并不会处理线程所遭遇的问题,通常操作系统仅止于提供一组API让用户自行操作或透过虚拟机的管理机制控制线程之间的交互。


内存管理

大部分的现代电脑存储器架构都是层次结构式的,最快且数量最少的寄存器为首,然后是缓存、存储器以及最慢的磁盘存储设备。 而操作系统的存储器管理提供查找可用的记忆空间、配置与释放记忆空间以及交换存储器和低速存储设备的内含物……等功能。此类又被称做虚拟内存管理的功能大幅增加每个进程可获得的记忆空间(通常是4GB,即使实际上RAM的数量远少于这数目)。然而这也带来了微幅降低运行效率的缺点,严重时甚至也会导致进程崩溃。

存储器管理的另一个重点活动就是借由CPU的帮助来管理虚拟位置。如果同时有许多进程存储于记忆设备上,操作系统必须防止它们互相干扰对方的存储器内容。


文件管理

所谓的文件系统,通常指称管理磁盘数据的系统,可将数据以目录或文件的型式存储。每个文件系统都有自己的特殊格式与功能,例如日志管理或不需磁盘重整。

操作系统拥有许多种内置文件系统。例如 Linux 拥有非常广泛的内置文件系统,如ext2、ext3、ext4等;Windows 能支持的文件系统衹有FAT12、FAT16、FAT32、EXFAT与NTFS(NTFS系统是Windows上最可靠与最有效率的文件系统);而 UNIX 的文件系统多半是 UFS;

每个文件系统都实现相似的目录/子目录架构,但在相似之下也有许多不同点。微软使用“\”符号以创建目录/子目录关系,且文件名称忽略其大小写差异;UNIX系统则是以“/”创建目录架构,且文件名称大小写有差异。


网络管理

许多现代的操作系统都具备操作主流网络通信协议TCP/IP的能力。也就是说这样的操作系统可以进入网络世界,并且与其他系统分享诸如文件、打印机与扫描仪等资源。


安全管理

大多数操作系统都含有某种程度的信息安全机制。信息安全机制主要基于两大理念:

  • 操作系统提供外界直接或间接访问数种资源的管道,例如本地端磁盘驱动器的文件、受保护的特权系统调用、用户的隐私数据与系统运行的程序所提供的服务。

  • 操作系统有能力认证资源访问的请求。允许通过认证的请求并拒绝无法通过的非法请求,并将适当的权力授权(Authorization)给此请求。


  • 内部通讯安全

    内部信息安全可视为防止正在运行的程序任意访问系统资源的手段。大多操作系统让普通程序可直接操作电脑的CPU,所以产生了一些问题,例如怎样把可如操作系统一样处理事务、运行同样特殊指令的程序强迫停止,毕竟在此情境下,操作系统也只是另一个平起平坐的程序。为通用操作系统所生产的CPU通常于硬件层级上实践了一定程度的特殊指令保护概念。

    内部安全机制在多用户电脑上特别重要:它允许每个系统用户拥有自己个人的文件与目录,且其他用户不能任意访问或删除。因为任何程序都可能绕过操作系统的监控,更有可能绕过侧录程序的监控,拥有强制力的内部安全机制在侧录引导时也非常重要。

  • 外部通讯安全

    通常一个操作系统会为其他网络上的电脑或用户提供(主持)各种服务。这些服务通常借由端口或操作系统网络地址后的数字接入点提供。通常此服务包括提供文件共享(NFS)、打印共享、电子邮件等。

    在操作系统内部也常设置许多种类的软件防火墙。软件防火墙可设置接受或拒绝在操作系统上运行的服务与外界的连线。因此任何人都可以安装并运行某些不安全的网络服务,并且设置除了某些自用通道之外阻挡其他所有连线,以达成防堵不良连线的机制。


用户界面

今日大部分的操作系统都包含图形用户界面(GUI)。有几类较旧的操作系统将图形用户界面与内核紧密结合,例如最早的Windows与Mac OS实现产品。此种手法可提供较快速的图形回应能力,且实现时不需切割模块因而较为省工,但是会有强烈副作用,例如图形系统崩溃将导致整个系统崩溃,例如蓝屏死机。 许多近代的操作系统已模块化,将图形接口的子系统与内核分开。


驱动管理

所谓的驱动程序(Device driver)是指某类设计来与硬件交互的电脑软件。通常是一设计完善的设备交互接口,利用与此硬件连接的电脑汇排流或通信子系统,提供对此设备下令与接收信息的功能;以及最终目的,将消息提供给操作系统或应用程序。

设计驱动程序的主要目的在于操作抽象化,任何硬件模块,既使是同一类的设备,在硬件设计面上也有巨大差异。厂商推出的较新模块通常更可靠更有效率,控制方法也会有所不同。

理论上适合的驱动程序一旦安装,相对应的新设备就可以无误地运行。此新驱动程序可以让此设备完美地切合在操作系统中,让用户察觉不到这是操作系统原本没有的功能。

最后更新时间: 2019-11-13 19:00:12