*(长期更新)软考网络工程师学习笔记——Section 19 计算机软件基本知识

简介: *(长期更新)软考网络工程师学习笔记——Section 19 计算机软件基本知识

一、操作系统(OS)


操作系统(OS)是管理计算机硬件与软件资源的计算机程序,也是用户与计算机交互的桥梁,计算机上主要的流行操作系统有Windows、UNIX和Linux三种,同时它不仅只针对计算机,还有针对移动端开发的操作系统,例如Android、IOS、Harmony OS等等,其中Android是一种基于Linux的自由及开放源代码的操作系统,由低到高可分为Linux内核层、系统运行层、应用程序框架层和应用程序层;而IOS是基于Unix开发的。

1667223991962.jpg

以下主要介绍UNIX和Linux两种:

1、UNIX


UNIX是一个多用户、多任务操作系统的操作系统,它具有良好的安全性和网络功能,所以常用作网络操作系统,也被作为单机操作系统使用。

2、Linux


Linux是一个免费且开源(其源代码完全向用户免费公开)的类UNIX操作系统,继承UNIX的设计风格演变出来的多用户、多任务、支持多线程和多CPU的操作系统,对Linux操作系统感兴趣的可以了解博主之前的文章系列:Linux操作系统简介


二、进程


(一)进程的状态


操作系统中的进程有三种基本的状态,分别是就绪态、运行态和阻塞态,这三种状态在一定条件下可以转换。

1667224091911.jpg

1、就绪态

进程等待分配处理器进程,分配好后即可进入运行态,处于就绪状态的进程很多,可以按照一个优先级来划分队列,当一个进程是由于时间片用完后进入就绪状态时,则排入低优先级队列;而当进程是由I/O操作完成后进入就绪状态时,则排入高优先级队列。

2、运行态

处于运行态的进程占用处理器的资源,在系统中有很多在后台一直处于运行态的进程。

3、阻塞态

阻塞态的基础由于要等待某种条件,例如I/O操作或进程同步,条件满足后才可转为就绪态然后再转为运行态。


(二)进程的关系


进程之间有很多关系,例如并发、并行、互斥、协作等等,并发是指有两个或两个以上的程序同时处于运行且未结束的状态;并行是指一个进程的执行可能影响其他进程的执行,即它们关系是依赖关系,进程之间共享某些资源;进程之间互相竞争某一个资源称为进程的互斥;并发进程使用共享资源称为进程的同步,操作系统使用信号量机制来保证信号的同步和互斥。


1、互斥

对于进程之间的互斥,操作系统设置一个互斥信号量S,只要将临界区置于P(S)和V(S)之间,即可实现互斥,由于这个信号量与所有的并发进程都有关,称为公用信号量。

当想访问临界资源的进程想进入设置的临界区时,需先对信号量S执行P操作,若改资源未被访问则本次P操作成功,即可进入临界区;其他进程会执行操作失败而被阻塞,从而保证了互斥。

2、同步

对于进程之间的同步,同样操作系统也会设置一个信号量,称为私有信号量,它只与制约进程和被制约的进程有关。若进程之间同步,则各并发进程设置各自的私有信号量,并将其赋初值,然后根据PV原语和私有信号量来规定各个进程的执行顺序。


另外,除以上关系外,进程之间还有死锁关系,即各个进程之间相互等待对方的资源,在得到对方资源前不会释放自己的资源,从而造成一种相互等待的现象。


三、CMM和CMMI模型


1、CMM(能力成熟度模型)是一种用于评价软件承包能力并帮助其改善软件质量的方法,它侧重于软件开发的管理及工程能力的提高与评估,且它分为以下五个等级:

(1)初始级;

(2)可重复级;

(3)可定义级;

(4)可管理级;

(5)优化级。

2、CMMI(能力成熟度模型集成)是由CMM模型的最新版本,它也分为五个等级:

(1)完成级;

(2)管理级;

(3)定义级;

(4)量化管理级;

(5)优化级。


四、软件设计和软件测试


(一)软件设计


软件设计需要遵循抽象、模块块、信息屏蔽和模块独立原则,在划分软件系统模块时,应尽量做到高内聚、低耦合。


(二)动态测试和静态测试


软件开发过程中,需对软件进行测试,软件测试简单地可以分为动态测试和静态测试,它们的区别在于是否运行程序来进行测试,这里主要介绍动态测试。

其中,动态测试根据在软件开发过程中所处阶段和作用可分为以下测试:

名称 含义
单元测试 对软件的基本组成单位进行测试,如一个模块、一个过程等等,从而验证软件基本组成单位的正确性。
集成测试 对一个应用系统各个部件的联合测试,验证共同工作时是否有冲突。
系统测试 系统实际运行环境下进行测试,除了包括要测试的软件,还包括软件所依赖的硬件、外设、数据、支持软件以及接口等等。
验收测试 验收测试是部署软件之前的最后一个测试,其目的是确保软件准备就绪,且让最终用户通过执行该文件实现既定功能和任务


1、单元测试

既然是单元,即对软件中的基本组成单位进行测试,检验其正确性,也可以说是对软件中的最小可测试单元进行检查和验证,不同编程语言编写的软件所针对的的基本单元不同。(这里可以比如像组装一台手机,要对其基本元件进行测试其功能的完整性和正确性等等)

2、集成测试

集成测试是在单元测试完成的基础上,将所有的模块按照设计要求组装成为子系统或系统进行测试,从而测试其是否冲突,即对多个单元进行组合从而进行测试。

3、系统测试

系统测试是更加系统化地进行测试,所以它不仅包括要测试的软件,还有包括软件所依赖的外设、硬件等等,即将软件与其所要依赖的环境资源进行结合从而在系统的实际运行环境下进行测试。

4、验收测试

验收测试是部署软件之前的最后一个测试操作,其目的是确保软件准备就绪,且可以让最终用户通过执行该软件实现软件的相关要求,这里用户和软件开发组织(或独立的测试小组)一起进行执行验收测试。

另外验收测试也分为以下几种策略:

名称 解释
正式验收 通常是系统测试的延续,不过比系统测试更加周密和详细
非正式验收 相较于正式验收不是那么严格,测试内容由各测试员决定,主观性较大
α测试 由一个用户在开发环境下的测试或在模拟实际操作环境下的测试,它最终用户或其他人员完成的测试,不能由程序员或测试员完成
β测试 由软件的用户在一个或者多个用户的实际使用环境下的测试,也是一样它不能由程序员或测试员完成


5、回归测试

另外还有一种测试是回归测试,它指软件经过修改后重新测试,从而来保证修改的正确性,例如确认以前出现过的错误不再出现。


例如,一个项目为了修正一个错误而进行了变更,当错误被修正后,却引起以前可以正确运行的代码出错,为了避免这种错误,所以回归测试最可能发现这一问题。


(三)黑盒测试和白盒测试


黑盒测试和白盒测试的区别在于是否能测试软件产品的内部结构和处理过程,在白盒测试中,内部是可视的,其内部结构和处理过程是主要测试的,而不侧重于关注软件产品的功能,测试的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试,其主要方法有逻辑驱动、基路测试等。

黑盒测试又称为功能测试或数据驱动测试,此时把软件看作一个不可打开的盒子,通过各种输入和对应的输出结果来测试。


五、数据库


(一)数据和数据库


数据(Data)是事物的符号表示,它可以是数字、文字、图像等等;数据库(DataBase,简称DB)是以特定的组织结构存放在计算机的存储介质中的相互关联的数据集合,这些数据集合是有组织的、可共享的、且有较高的独立性。


(二)数据库管理系统


数据库管理系统(DBMS)是位于用户和操作系统之间的一个数据管理软件,它是数据库应用系统的核心组成部分。

其中事务是DBMS的基本工作单位,它是由用户定义的一个操作序列,事务的特点又称为ACID准则,以下:

名称 含义
原子性 要么都做,要么都不做
一致性 初始状态和结束状态对外可见,但中间状态对外不可见
隔离性 多事务互不干扰
持久性 事务结束前所有数据改动必须保存到物理存储中


(三)数据库系统


数据库系统(DBS)是由数据库、操作系统、数据库管理系统、应用程序、用户、数据库管理员组成的用于存储、管理、处理和维护数据的系统,一般数据库系统分为客户-服务器模式(C/S)和三层客户-服务器模式(B/S)。

1、客户-服务器模式

C/S模式中,应用程序直接跟用户交互,而数据库管理系统不直接与用户,即此时应用程序称为前台,而数据库管理系统称为后台,其中应用程序先数据库管理系统提出服务请求,而数据库管理系统向应用程序提供服务,如下图:

1667224345833.jpg

2、三层客户-服务器模式

基本Web的数据库应用采用三层客户-服务器模式(B/S),其中第一层为浏览器,第二层为Web服务器,第三层为数据库服务器,如下图:

1667224358037.jpg


六、软件知识产权


1、⟪计算机软件保护条例⟫中规定对软件著作权的保护包括目标程序、源程序、软件文档,但不包括算法。

2、软件经过登记后,软件著作权人即享有发表权、开发者身份权、使用权、使用许可权和获取报酬权。

3、如果征得软件作品著作人的同意,因修改和改善新增加的部分,创作者应享有著作权。

4、对是职务作品的计算机软件,参与开发的人员离开原单位后,如其对原单位享有著作权的软件进行修改、提高,应经过原单位的许可,否则构成侵权。

5、公民发表权及其他权利保护期为作者终身及其死亡后50年,截止于作者死亡后第50年的12月31日;由法人或其他组织享有的职务作品,其发表权及其他权利保护期截止于作品首次发表后第50年的12月31日。

6、对职务作品的计算机软件,参与开发的人员离开原单位后,如其对原单位享有著作权的软件修改、提高,应经过原单位许可,否则构成侵权。

7、发明专利权的期限为20年,实用新型专利权、外观设计权的期限为10年,另外注册商标的有效期为10年。


相关文章
|
13天前
|
负载均衡 网络协议 算法
|
19天前
|
安全 网络安全 数据安全/隐私保护
|
12天前
|
负载均衡 网络协议 算法
|
16天前
|
域名解析 网络协议 安全
|
21天前
|
网络协议 安全 网络安全
|
6天前
|
存储 网络协议 安全
软件管理,磁盘存储,文件系统以及网络协议
【11月更文挑战第9天】本文介绍了软件管理、磁盘存储和网络协议等内容。软件管理包括软件生命周期管理和软件包管理,涉及需求分析、设计、实现、测试、发布、维护等阶段,以及软件包的安装、升级和依赖关系处理。磁盘存储部分讲解了磁盘的物理结构、分区与格式化、存储管理技术(如 RAID 和存储虚拟化)。网络协议部分涵盖了分层模型、重要协议(如 HTTP、TCP、IP)及其应用与安全。
|
4天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
15 2
|
7天前
|
数据可视化 算法 安全
员工上网行为管理软件:S - PLUS 在网络统计分析中的应用
在数字化办公环境中,S-PLUS 员工上网行为管理软件通过精准的数据收集、深入的流量分析和直观的可视化呈现,有效帮助企业管理员工上网行为,保障网络安全和提高运营效率。
17 1
|
15天前
|
数据采集 监控 数据可视化
Fortran 在单位网络监控软件数据处理中的应用
在数字化办公环境中,Fortran 语言凭借其高效性和强大的数值计算能力,在单位网络监控软件的数据处理中展现出独特优势。本文介绍了 Fortran 在数据采集、预处理和分析可视化三个阶段的应用,展示了其在保障网络安全稳定运行和有效管理方面的价值。
45 10
|
19天前
|
运维 负载均衡 安全

热门文章

最新文章