欢迎大家来到计算机基础训练营,今天我们来探讨计算机软件系统,首先会讨论计算机软件系统的组成,然后重点讨论计算机操作系统。
一、计算机软件系统的组成
计算机硬件构成了计算机系统的物质基础,在硬件基础之上是计算机的操作系统,操作系统负责控制、管理计算机系统中所有硬件和软件资源,合理安排和组织计算机的工作流程,是硬件系统与应用软件的桥梁。在操作系统和应用软件之间还存在语言处理、系统服务、数据库等底层服务程序,操作系统和这些底层服务程序统称为系统软件,系统软件之上为解决实际问题而开发的应用软件,用户一般通过应用软件与计算机进行交互。

系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,像操作系统、语言处理程序、系统支持和服务程序、数据库系统等都属于系统软件。
语言处理程序将编程语言编写的程序代码,编译为可以直接执行的程序,如汇编程序、C语言编译器等;操作系统提供了一些系统支持和服务程序,如BIOS程序、系统诊断程序、磁盘分区工具等,这些工具属于系统软件;数据库也属于系统软件,负责数据的结构化存储,并与存储设备交互密切,如MySQL、Oracle、SQLServer等数据库系统。

系统软件之上为应用软件,应用软件主要分为办公软件、互联网软件、社交软件、工具软件、……等等。最常用的办公软件为office,WPS、电子表格等软件;互联网软件为人们带来了生活上的便利,如在线购物、购票、听音乐、玩游戏等;社交软件让人们的沟通更加方便和快捷;工具软件辅助人们更好地学习和工作,如电子词典、语言翻译、音视频播放器等。
二、操作系统
计算机硬件之上是操作系统,内核是操作系统最基本的部分,它是为应用程序提供对计算机硬件资源安全访问的核心软件,操作系统内核主要由CPU管理、I/O接口管理、文件管理、存储管理、进程管理、网络管理等核心软件构成。内核之上是命令解释和窗口管理程序,也称为操作系统的外壳(shell),为计算机使用者提供命令输入和图形化的操作界面。

1、CPU管理
根据定制的策略合理管理和分配CPU,让CPU发挥到最佳工作效率。Windows、Linux等操作系统是允许多用户、多任务运行的,但CPU数量是有限的,单核CPU只有1个CPU,多核CPU也仅有有限的CPU,面对僧多粥少的情况。CPU管理程序采用时间片的方式来管理CPU,每个程序占用CPU的时间为一个时间片。CPU管理程序负责调度程序循环获取CPU时间片,使各个程序从表面上看是同时进行的。

2、I/O接口管理
CPU并不和外部设备直接连接,而是通过I/O接口和外部设备交换数据,接口由硬件和软件构成。人们最熟悉的I/O接口为VGA、HDMI、USB接口。
VGA接口是早期计算机与外部设备显示器的标准接口,采用15针插针式结构,是很多老显卡、计算机、笔记本和投影仪所使用的接口。
HDMI接口为当今计算机与外部设备显示器最常见的接口,也称为高清多媒体接口,是一种全数字化视频和声音发送接口,可以发送未压缩的音频及视频信号到计算机,接口使用一根HDMI线,就可以同时完成图像和声音的传输。
USB接口是通用串行总线,接口具有热插拔功能,可以连接多种外部设备,已成功替代早先的串口和并口,成为当今电脑与外部设备的必配接口。
3、文件管理
文件是以硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。文件必须通过文件名称来标识,以便与其他文件区别,并方便调用和管理。
文件管理提供了针对文件的基本操作,具体操作包括文件的创建、打开、关闭,文件的读取与写入,文件的分享与保护。应用程序可以调用这些基本操作实现对文件的管理。
4、存储器管理
计算机存储层次至少应具有三级:最高层为 CPU 寄存器,中间为主存,最底层是辅存,主存又分为高速缓存和主存储器,辅存为硬盘、U盘、光盘等外部存储设备。
操作系统需要为程序分配内存,并将程序加载到已分配的内存,当多个程序同时运行时,这些程序都需要在内存中驻留,当程序所需内存超过主存容量时,就会出现内存不足问题。为了避免内存不足的问题发生,存储器管理程序会将部分辅存虚拟为内存,这部分内存称为虚拟内存,用于扩展主存容量。
5、进程管理
操作系统通过进程来管理执行中的多个程序,操作系统在加载程序时都会创建一个进程,利用进程为程序分配可执行的内存、外部设备等资源。

上图为进程状态转换图,进程创建后会进入就绪状态,等待操作系统对进程的调度,当进程进入运行状态后,若分配的时间片已到,则再次进入就绪状态,等待下次的时间片运行。若申请的系统资源不满足,会进入阻塞状态,直至资源满足后,被操作系统调度进入运行状态。进程执行完成后,操作系统会终止进行,并释放分配给进程的所有资源。
6、网络管理
用于互联网络的配置和管理,如配置WLAN、以太网等网络,管理计算机接入局域网或互联网。
三、常用的操作系统
当前主流的操作系统为Windows、Mac OS、Linux操作系统,以及基于Linux内核的Ubuntu、Android、麒麟等操作系统。
DOS操作系统
DOS操作系统是微软公司的基于IBM PC机的第一代操作系统,是80、90年代应用最广泛的操作系统。

DOS操作系统是单用户、单任务系统,一次只能运行一个程序,系统界面是命令式界面,不支持图形界面,需要用户通过命令与计算机进行交互。Windows操作系统推出后,逐渐取代了DOS操作系统,但保留了DOS命令行窗口,用户通过CMD命令可以进入DOS命令行窗口。
Windows操作系统
微软1985年推出了Windows 1.0,其后逐步推出了Windows 2.0,Windows 3.0、Windows XP、Windows 7、Windows8、Windows 10、Windows 11。当前应用最多的是windows10和Windows11版本。
Windows操作系统为用户提供了图形化操作界面,使用者可以通过鼠标和计算机进行交互,而不需要输入系统命令。Windows操作系统采用了消息和事件驱动机制,Windows程序通过消息和事件处理来响应用户请求。即程序的执行流程由事件的发生来控制,所有的事件是无序的,完全符合图形化界面操作的机制。
Linux操作系统
Linux是一套免费使用和自由传播的类Unix操作系统,它的源代码完全开放,使用者不仅可以洞察该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux系统的最大特点是免费且开源,它可以在各种CPU平台上运行,支持多用户、多处理器,同时提供了图形界面和命令行界面,它也可以作为嵌入式操作系统应用到智能设备中。
由于Linux的开放性,因此市场上存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

Android操作系统是大家熟知的手机操作系统,由美国谷歌公司开发,采用了Linux内核,主要用于移动设备。
Ubuntu是一个以桌面应用为主的Linux操作系统,提供了图形界面和命令界面。除了标准Ubuntu版本之外,Ubuntu官方还有几大主要分支,如Edubuntu是Ubuntu的教育发行版,专注于学校(教育)的需求,Ubuntu Kylin(优麒麟)是一个专门为中文用户定制的Ubuntu版本,预置了大量中国用户熟悉的应用,适合中国用户使用,……等等。
麒麟操作系统是国产自主可控的基于Linux内核的操作系统,现已适配国产主流软硬件产品,支持飞腾、鲲鹏、海思麒麟、龙芯、申威、海光、兆芯等国产CPU和Intel、AMD平台,其软件商店包括自研和第三方商业应用软件,同时提供了兼容Android和Windows的兼容环境。
鸿蒙系统是华为自主研发的操作系统,内核基于Linux内核+鸿蒙OS微内核+LiteOS内核,鸿蒙系统是基于 Linux(宏)内核源代码开发的,在此基础上自主研发了鸿蒙OS微内核,并将基于物联网操作系统的LiteOS内核也并入了鸿蒙系统,鸿蒙系统将移动设备和各类智能设备通过物联网连接到一起,是一款以手机操作为主,连接汽车、智能音箱、可穿戴等设备的分布式操作系统。
Mac OS操作系统
Mac OS是最早使用图形界面的操作系统,其系统界面非常独特,突出了形象的图标和人机对话,后来被微软的Windows操作系统借鉴并被广泛使用。Mac OS系统是苹果计算机的专用系统,正常情况下在普通PC机上无法安装。