一、概述

计算机软件是计算机系统中的程序及其文档,分为系统软件与应用软件,涵盖操作系统、数据库、文件系统、网络协议、中间件、构件与应用软件。

二、核心概念

1.计算机软件:计算机系统中的程序及其文档,是计算任务的处理对象(数据/信息)和处理规则(动作/步骤)的描述。

2.系统软件:为整个系统配置、不依赖特定应用领域的通用软件,管理控制软硬件资源并为用户和其他软件服务;含操作系统、语言翻译系统、DBMS、网络软件等。

3.应用软件:为某类应用需要或特定问题设计的软件,分通用应用软件和专用应用软件。

4.操作系统(OS):计算机系统的资源管理者,向下管理裸机、向上为系统软件和应用软件提供支持与接口;核心是内核(Kernel)与系统调用/API。

5.数据库(DB):长期存储在计算机内、有组织的、统一管理的相关数据集合;具较小冗余度、较高数据独立性和易扩展性,可多用户共享。

6.文件系统:操作系统中实现文件统一管理的一组软件和数据集合,提供按名存取、并发控制、安全与差错恢复等。

7.中间件(Middleware):应用软件与操作系统之间标准化编程接口和协议,承上启下,使应用独立于硬件和OS并跨系统运行;属可复用基础软件。

8.软件构件(组件):自包容、可复用的程序集,外部只能通过统一接口访问;两个最重要特性是自包容与可重用。

9.分布式数据库(DDBS):针对地理上分散但管理上需集中控制的需求提出的数据管理系统,满足分布性、逻辑相关性、场地透明性和场地自治性。

三、关键要点

1.软件分类:系统软件(运行环境无关、通用)与应用软件(专门应用);应用软件再分通用与专用。

2.操作系统组成:内核+附加软件(GUI、实用程序、库、编译器等);内核提供进程/存储/文件/设备管理,以最高优先级运行,提供系统调用/API。

3.操作系统四大特征:并发性、共享性、虚拟性、不确定性(结果可能不唯一)。

4.操作系统分类:批处理(单道/多道)、分时(多路/独立/交互/及时)、实时(控制/信息处理)、网络、分布式、微型计算机、嵌入式。

5.嵌入式OS特点:微型化、可定制、实时性、可靠性、易移植性(采用HAL/BSP);代表VxWorks、µClinux、PalmOS、Windows CE、µC/OS-II、eCos。

6.数据库按存储体系分:关系型、键值(Key-Value)、列存储、文档、搜索引擎数据库;关系模型三要素=数据结构+数据操作+完整性约束。

7.关系数据库设计6阶段:需求分析→概念结构设计→逻辑结构设计→物理结构设计→应用程序设计→运行维护;概念设计最著名方法是E-R方法(局部E-R→全局E-R→优化)。

8.分布式数据库四层模式:全局外层、全局概念层、局部概念层、局部内层,层间有映射;适用于同构与异构系统。

9.常用DBMS:Oracle(PL/SQL)、IBM DB2、Sybase、SQL Server(Transact-SQL);大型DBMS 7特点:基于网络、支持大规模、自动锁、安全、备份恢复、数据完整性手段、分布式处理。

10.文件系统:文件逻辑结构分记录式(定长/不定长)与流式;物理结构分连续、链接、索引、多重索引;空闲空间管理有空闲区表、位示图、空闲块链、UNIX成组链接法。

11.文件共享:硬链接(多目录项指向同一索引结点)、符号链接(路径映射,可跨文件系统/网络);保护采用存取控制矩阵/表、用户权限表、密码。

12.网络协议:常用有LAN、WAN、无线网、移动网协议;互联网是TCP/IP协议簇。

13.中间件分类:通信(消息)、事务(交易)、数据存取、Web服务器、安全、跨平台架构、专用平台、网络中间件;代表IBM MQSeries、BEA Tuxedo。

14.软件构件标准:OMG的CORBA(含CCM)、Sun的J2EE(含EJB)、Microsoft的DNA(DCOM/COM/COM+);构件组装模型优点易扩展/易重用/可并行开发。

四、典型示例

1.关系数据库二维表示例:学生(学号,姓名,年龄,系别)、课程(课程号,课程名,学分)、选课(学号,课程号,分数),学号为主码。

2.Oracle支持PL/SQL并自8版起支持面向对象结构;SQL Server用Transact-SQL,含Open Data Services、MS SQL Server、Agent、MSDTC。

3.UNIX成组链接法:每100空闲块一组,首块登记下组块号与总数,首块号0表示末组。

4.消息中间件代表BEA eLink、IBM MQSeries、TongLINK;交易中间件BEA Tuxedo。

五、易错与注意

1.多道批处理“多道、宏观并行、微观串行”——单CPU下各程序交替轮流执行,并非真正同时。

2.并发≠并行:并发是宏观同时、微观交替;并行需多CPU同时执行。

3.流式文件(字节流)与记录式文件区别:流式不划记录,用读写指针访问。

4.硬链接删除需先删所有链接,否则共享用户目录表目指针悬空;符号链接才可跨文件系统。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐