精华内容
下载资源
问答
  • (1)系统扫描:侧重于主机系统的平台安全性基于此平台应用系统的安全。扫描器与待查系统处于同一结点,进行自身检查。 (2)网络扫描:侧重于系统提供的网络应用和服务相关的协议分析。扫描器与待查系统

    一、安全扫描技术

    1.1 安全扫描技术概念

    1、安全扫描技术指手工或使用特定的软件工具(安全扫描器),对系统脆弱性进行评估,寻找可能对系统造成损害的安全漏洞。

    2、安全扫描技术分为系统扫描和网络扫描两大类。
    (1)系统扫描:侧重于主机系统的平台安全性及基于此平台应用系统的安全。扫描器与待查系统处于同一结点,进行自身检查。
    (2)网络扫描:侧重于系统提供的网络应用和服务及相关的协议分析。扫描器与待查系统处于不同结点,通过网络远程探测目标结点,寻找安全漏洞。

    3、安全扫描的目的:通过特定的手段和方法发现系统或网络存在的隐患,及时修补漏洞或利用漏洞攻击敌方。

    4、安全扫描技术可以有效地提高安全性:
    (1)提前告警存在的漏洞,从而预防入侵和误用。
    (2)检查系统中由于入侵或误操作产生的新漏洞。

    1.2 安全扫描技术分析

    1、扫描器工作流程:
    (1)发现目标主机或网络。
    (2)发现目标后,进一步发现目标系统类型及配置等信息,包括确认目标主机操作系统类型、运行的服务及服务软件版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设置及网络主机等。
    (3)测试哪些服务具有安全漏洞。

    2、端口扫描技术:
    (1)根据扫描方法不同,端口扫描技术可分为:全开扫描、半开扫描、秘密扫描和区段扫描。
    (2)这几种扫描方法都可以用来查找服务器打开的端口,从而发现服务器对外开放的服务。
    (3)能否成功还受限于远程目标网络的拓扑结构、IDS、日志机制等配置。

    3、全开扫描:
    (1)通过与目标主机建立标准的TCP连接(3次握手),检查目标主机相应端口是否打开。
    (2)优点:快速、准确、不需要特殊权限。
    (3)缺点:很容易被检测到。

    4、半开扫描:(SYN扫描)
    (1)“半开”含义:client端在TCP三次握手尚未完成就单方面终止连接过程。
    (2)由于完整连接尚未建立,通常不会被server方记录下来。同时也可避开部分IDS的监测。

    5、秘密扫描:
    (1)秘密扫描意指可以避开IDS和系统日志记录的扫描。满足要求的扫描技术有很多,以SYN|ACK扫描为例说明。
    (2)SYN|ACK扫描省掉了三次握手的第一步,直接发送SYN|ACK包到server端,根据server 的应答推测端口是否打开。

    6、系统类型测试技术:
    (1)由于许多安全漏洞都与操作系统密切相关,所以探测系统类型对于攻击者很重要。
    (2)攻击者先收集目标系统的信息并存储,当某一系统的新漏洞被发现,就可在存储的信息中查找,并对匹配的系统进行攻击。
    (3)检测系统类型主要有三种方法:系统旗标、DNS信息、TCP/IP堆栈指纹。

    7、系统旗标:利用系统服务给出的信息,如:telnet、ftp、www、mail等。最简单的检测方法就是直接登录该系统提供的服务。

    8、DNS信息:主机信息有时可能通过DNS记录泄露。

    9、TCP/IP堆栈指纹:操作系统在实现TCP/IP协议时的一些特有的实现特征,处在系统底层,修改困难。

    二、病毒防治技术

    2.1 病毒的概念与起源

    1、具有传染和破坏的特征,与生物医学上的”病毒”在很多方面都很相似,习惯上将这些“具有特殊功能的程序”称为”计算机病毒”。

    2、从广义上讲,凡能够引起计算机故障、破坏或窃取计算机数据、非法控制他人计算机的程序统称为计算机病毒。

    2.2 病毒的主要特征

    1、传染性
    (1)这是病毒的基本特征。计算机病毒会通过各种渠道从已被 感染的计算机扩散到未被感染的计算机。
    (2)计算机病毒程序代码一旦进入计算机并得以执行,会搜寻其他符合其传染条件的程序或存储介质,确定目标后再将自身代码插入其中,达到自我繁殖的目的。
    (3)正常的计算机程序一般是不会将自身的代码强行连接到其它程序之上的。是否具有传染性是判别一个程序是否为计算机病毒的重要条件。

    2、隐蔽性
    (1)病毒程序都具有很高编程技巧、短小精悍。通常附在正常程序中或磁盘较隐蔽的地方,用户很难发现它的存在。
    (2)如果不经过代码分析,病毒程序与正常程序是不容易区别开来的。一般在没有防护措施的情况下,受到感染的计算机系统通常仍能正常运行,用户不会感到异常。
    (3)现在的计算机病毒一般都具有很强的反侦察能力。
    (4)计算机病毒一旦被发现会迅速出现变种。

    3、潜伏性:
    大部分病毒感染系统之后一般不会马上发作,长期隐藏在系统中悄悄地进行繁殖和扩散,只有在满足特定条件时才启动其表现(破坏)模块。

    4、破坏性(表现性):
    任何病毒只要侵入系统,都会对系统及应用程序产生程度不同的影响。轻者会降低计算机工作效率,占用系统资源,重者可导致系统崩溃。由此特性可将病毒分为良性病毒与恶性病毒。

    5、不可预见性:
    从病毒的检测来看,不同种类的病毒,代码千差万别,甚至某些正常程序也借鉴病毒的技术。

    6、触发性:
    满足传染触发条件时,病毒的传染模块会被激活,实施传染操作。满足表现触发条件时,病毒的表现模块会被激活,实施表现或破坏操作。

    7、针对性:
    有一定的环境要求,并不一定对任何系统都能感染。

    2.3 病毒的一般结构与作用机理

    1、病毒的一般结构:
    (1)计算机病毒代码的结构一般包括三大功能模块,即引导模块传染模块破坏(表现)模块。其中,后两个模块各包含一段触发条件检查代码,分别检查是否满足传染触发条件和表现触发条件。
    (2)引导模块将病毒由外存引入内存,使后两个模块处于活动状态。传染模块用来将病毒传染到其它对象上去。破坏模块实施病毒的破坏作用。

    2、病毒的作用机理:
    (1)计算机病毒有两种状态,静态和动态。
    (2)静态病毒是指存储介质(如U盘、硬盘)上的计算机病毒,它没有被加载状态,不能执行病毒的传染和破坏功能。
    (3)动态病毒是指已进入内存,正处于运行状态,它时刻监视系统的运行状态,一旦传染条件满足,即调用传染代码和破坏代码.使病毒得以扩散。
    (4)计算机病毒的工作流程如图下所示。病毒通过第一次非授权加栽,引导模块被执行,病毒由静态变为动态。

    3、病毒工作流程

    2.4 蠕虫病毒

    1、蠕虫病毒:是一种通过网络传播的恶性病毒,除具有病毒的一般共性外,还具有自己的特征,下表列出了蠕虫病毒与普通病毒的主要区别。

    2、蠕虫病毒的传播途径:
    (1)操作系统和系统软件的漏洞:网络共享、域名解析、IE、RPC、IIS、SQL Server等。
    (2)应用软件的漏洞:Office、Adobe Reader、QQ、MSN
    (3)电子邮件:钓鱼邮件、邮件客户端软件。

    3、蠕虫病毒的危害:
    (1)蠕虫大量且快速的复制会占用大量网络带宽,造成网络拥塞甚至瘫痪。
    (2)感染主机的系统管理员权限将被窃取。

    4、蠕虫病毒的一般结构:
    (1)传播模块:负责蠕虫的传播。
    (2)隐藏模块:侵入主机后,隐藏蠕虫程序,防止被用户发现。有些会主动攻击安全系统。
    (3)目的功能模块:实现对计算机的控制、监视、窃取和破坏等功能。

    5、蠕虫病毒的传播过程:
    传播模块:由扫描模块、攻击模块和复制模块组成。
    (1)扫描模块:探测存在漏洞的主机。当向某主机发探测信息并成功收到反馈后,就得到一个可传播对象。
    (2)攻击模块:按漏洞攻击步骤自动攻击找到的对象,取得该主机的权限,获得一个shell。
    (3)复制模块:通过主机间的交互复制蠕虫程序并修改注册表得以启动。

    6、蠕虫病毒防治
    (1)正确配置操作系统和系统软件。
    (2)经常进行操作系统和系统软件的升级。
    (3)使用正版杀毒软件并保持病毒库最新。
    (4)不要打开不明身份的邮件。
    (5)留意权威网站的安全公告。

    三、黑客攻击方法与防范

    3.1 黑客攻击套路

    1、确定攻击目标:
    (1)使用Google搜索漏洞信息:操作系统漏洞、Web服务器漏洞、数据库漏洞、开发工具漏洞等。
    (2)使用Google搜索敏感信息:口令文件、财务信息、安全工具扫描报告等。

    2、收集目标信息:
    (1)通过公开渠道、各种工具和技巧,黑客可以获得目标的详细资料,特别是关于安全防御体系的信息。
    (2)互联网信息:域名及IP地址块、可直接访问的IP、操作系统类型、系统上运行的TCP和UDP服务、访问控制等。
    (3)内部网信息:内网结构、组网协议、IP地址块、VPN协议、身份认证方法等。

    3、寻找目标漏洞:
    (1)使用工具进行端口扫描:确定目标系统上有哪些端口处于LISTENING状态。
    (2)使用工具进行端口服务扫描:确定目标系统上开启了哪些服务。
    (3)使用工具探查操作系统细节:版本号、提供的各种服务名称等。

    4、进行攻击:
    系统攻击、网络攻击、软件攻击。

    3.2 黑客攻击手段及防范措施

    1、系统攻击:取得合法身份前的攻击手段

    2、网络攻击:
    (1)攻击网络设备。
    (2)无线攻击
    (3)攻击防火墙
    (4)拒绝服务攻击

    3、软件攻击
    (1)缓冲区溢出攻击
    (2)Web攻击
    (3)攻击互联网用户

    四、安全审计

    1、从抽象意义上讲,计算机安全审计与传统金融和管理审计的过程完全相同,即产生、记录并检查按时间顺序排列的系统事件的过程。

    2、计算机安全审计:通过一定的策略,利用记录和分析历史操作事件,发现系统的漏洞并改进系统性能和安全性。

    3、安全审计的目标:
    (1)对潜在的攻击者起到震慑和告警作用。
    (2)对已发生的系统破坏行为,提供有效的追究责任的证据。
    (3)为系统管理员提供有价值的系统使用日志,帮助管理员及时发现入侵行为或潜在的系统漏洞。

    4、安全审计的组成:审计是通过对所关心的事件进行记录和分析来实现的,因此审计过程应包括审计发生器日志记录器日志分析器报告机制等部分。

    5、审计发生器:在信息系统中各事件发生时,将这些事件的关键要素进行抽取并形成可记录的素材。

    6、日志记录器:将审计发生器抽取的事件素材记录到制定位置上从而形成日志文件。

    7、日志分析器:根据审计策略和规则对已形成的日志文件进行分析,得出某种事件发生的事实和规律,并形成日志审计分析报告。

    8、对于一个事件,日志应包括事件发生的时间引发事件的用户事件类型事件成败等。

    五、访问控制技术

    1、访问控制(Access Control):规范用户的访问行为。解决是否可以访问,如何访问的问题。

    2、访问控制构成要素:
    (1)主体:提出访问请求,如用户或其启动的进程、服务等。
    (2)客体:被访问对象,如信息、文件等集合体或网络设备等。
    (3)控制策略:主体对客体访问规则的集合,体现了授权。

    3、访问控制的主要功能:
    (1)保证合法主体访问受保护的网络资源
    (2)防止非法主体进入受保护网络资源
    (3)防止合法主体对受保护网络资源进行非授权访问。

    4、访问控制的内容:
    (1)认证:主客体之间进行身份鉴别,确定主体是谁。
    (2)控制策略:通过合理设定控制规则,确保用户对信息资源在授权范围内的合法使用,同时防止非法用户侵权进入系统。还要防止合法用户的越权行为。
    (3)安全审计:系统自动根据用户访问权限,对计算机网络环境下的有关活动进行系统、独立地检查验证,并做出相应评价与审计。

    5、访问控制的类型
    (1)自主访问控制(DAC):一种接入控制服务,通过执行系统实体到系统资源的接入授权,用户有权对其创建的文件、数据表等对象进行访问,并可将其访问权授予其他用户或收回。允许访问对象的属主制定针对该对象的访问控制略,通常,通过访问控制列表来限定针对客体可执行的操作。
    (2)强制访问控制(MAC):指系统强制主体服从访问控制策略。由系统对用户所创建的对象,按照既定规则进行访问控制。
    (3)基于角色的访问控制(RBAC):通过对角色访问进行控制,使权限与角色相关联,用户通过成为适当角色成员而得到角色的权限。

    6、RBAC支持的三个著名安全原则:
    (1)最小权限原则:将角色配成完成任务所需的最小权限集。
    (2)责任分离原则:让独立、互斥的角色协同完成特定任务。
    (3)数据抽象原则:通过权限的抽象控制一些操作,如财务上的借、贷等抽象权限,非操作系统提供的典型权限。

    7、访问控制实现机制
    (1)访问控制列表(ACL):
    以文件为中心建立访问权限表,表中记载了可访问该文件的用户名和权限。利用ACL,容易判断出对特定客体的授权访问,可访问的主体和访问权限等。
    (2)能力关系表:
    以用户为中心建立访问权限表。与ACL相反,表中规定了用户可访问的文件名及权限,利用此表可方便地查询一个主体的所有授权。

    六、防火墙技术

    1、防火墙从本质上讲是一种访问控制系统,除了可以用来保护与互连网相连的内部网外,还可以用于保护其他网络对象,如子网或主机。

    2、防火墙示意图

    3、防火墙定义:防火墙是一个或一组实施访问控制策略的系统。当用户决定需要使用何种水平的安全连接时,由防火墙来保证不允许出现其他超出此范围的访问行为。防火墙用来保证所有用户都遵守访问控制策略。

    4、防火墙的目的是控制网络传输,这一点与其他网络设备一致。但与其他设备不同的是:防火墙必须考虑到不是所有的分组数据都是表里如一。

    5、防火墙的设计目标:
    (1)所有内外网之间的通信量都必须经过防火墙,即从物理上阻塞所有不经过防火墙的网络访问通道,有不同的配置方法可实现这一目标。
    (2)只有被认可的通信量,通过本地安全策略进行定义后,才允许通过防火墙。
    (3)防火墙对渗透应是免疫的。防火墙自身的安全性能和运行平台的安全性。

    6、防火墙使用的通用技术:
    (1)服务控制:确定可访问的Internet服务的类型,入站的或出站的。防火墙可以根据IP地址和TCP端口号对通信量进行过滤。
    (2)方向控制:确定特定的服务请求可以发起并允许通过防火墙的流动方向。
    (3)行为控制:控制怎样使用特定的服务。如防火墙可以使得外部只能访问一个本地WWW服务器的一部分信息。
    (4)用户控制:根据赋予某个用户访问服务的权限来控制对一个服务的访问。这个特征典型地应用于防火墙边界以内的用户(本地用户),也可以应用于来自外部用户的进入通信量;后一种情况要求某种类型的安全鉴别技术。

    7、防火墙的主要功能:
    (1)防火墙定义了单个阻塞点,将未授权的用户隔离在被保护的网络之外,禁止潜在的易受攻击的服务进入或离开网络。
    (2)防火墙提供了监视与安全有关事件的场所。在防火墙系统中可以实现审计和告警。
    (3)防火墙是一些与安全无关的Internet功能的方便的平台。如:网络地址转换。
    (4)防火墙可以用作VPN的平台。

    8、防火墙的局限性:
    (1)防火墙不能对绕过防火墙的攻击提供保护。
    (2)防火墙不能对内部的威胁提供支持,例如心怀不满的雇员或不自觉地与外部攻击者合作的雇员。
    (3)防火墙不能对病毒感染的程序或文件的传输提供保护。由于边界内部支持的操作系统和应用程序的不同性,采用防火墙来扫描所有进入的文件、电子邮件和报文来查找病毒是不现实的。

    9、防火墙一般结构

    展开全文
  • 系统硬件设备:主要包括主机服务器及其主要部件、专门的存储设备、网络交换机、路由器,等。监控方法:采用通用或者专用的管理监控工具,通常具有自动监测、跟踪和报警的功能 软件:主要针对其应用性能、软件Bug和...

    企业如何应对用户需求变更

    使用需求变更管理,大概步骤:客户提出需求变更、审核需求变更、客户确认、通知相关人员、监督。

    测试类型

    1. 单元测试需要从程序的内部结构出发设计测试用例。主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例。
    2. 恢复测试将检测系统的容错能力。检测方法是采用各种方法让系统出现故障,检验系统是否能按照要求从故障中恢复过来,并在预定的时间内开始处理事务,而且不对系统造成任何损害。
    3. 增量式测试,把下一个要测试的模块组合到已测试好的模块中,测试完后再将下一个需测试的模块组合进来进行测试,逐步把所有模块组合在一起,并完成测试。

    测试步骤

    单元测试 -> 组装测试 -> 确认测试 -> 系统测试
    首先是单元测试,对源程序中的每一个程序单元进行测试,验证每个模块是否满足系统设计说明书的要求。组装测试是将已测试过的模块组合成子系统,重点测试各模块之间的接口和联系。确认测试是对软件的检验,根据系统分析说明书来考察软件是否满足要求。系统测试是将软件、硬件、网络等系统的各个部分连接起来,对整个系统进行总的功能、性能等方面的测试。
    系统测试的主要内容包括:恢复测试、安全性测试、强度测试、性能测试、可靠性测试、安装测试等


    故障管理即包含了故障监视、故障调研、故障支持和恢复、故障分析定位以及故障终止5项基本活动。

    在故障管理中针对不同监视对象有哪些监视方法

    1. 系统硬件及设备:主要包括主机服务器及其主要部件、专门的存储设备、网络交换机、路由器等。监控方法:采用通用或者专用的管理监控工具,通常具有自动监测、跟踪和报警的功能
    2. 软件:主要针对其应用性能、软件Bug和变更需求。监控方法:采用管理工具,专门的测试工程师负责,使用过程中用户发现提出。变更需求也是在用户使用和监视二合一的过程中发现
    3. 人员:系统操作人员、系统开发工程师、用户、来访者,甚至包括系统所在机房的清洁工和运输公司的职工,等。监控方法:对与系统接触的过程中的行为进行跟踪和记录,防止或者及早发现非标准的操作带来的系统故障或者服务故障。

    不同类型的数据库故障及恢复措施

    1. 事务故障:系统自动恢复。
    2. 系统故障:重启系统后系统自动恢复。
    3. 介质故障:DBA转入最新的数据副本,使数据库恢复到最近一次转储时的一致性状态;日志文件副本;执行系统恢复命令,具体的恢复仍由DBMS完成。

    问题控制目标

    1. 将由IT基础架构中的错误引起的故障和问题对业务的影响降低到最低限度。
    2. 找出出现故障和问题的根本原因,防止再次发生与这些错误有关的故障。
    3. 实施问题预防,在故障发生之前发现和解决有关问题。

    问题控制步骤

    1. 发现和记录问题
    2. 归类问题
    3. 调查和分析问题
    4. 错误控制

    安全审计对数据安全保障的作用

    1. 检测对系统的入侵,对潜在的攻击者起到震慑或警告作用。
    2. 发现计算机的滥用情况,对于已经发生的系统破坏行为提供有效的追纠证据。
    3. 为系统安全管理员提供有价值的系统使用日志,从而帮助系统安全管理员及时发现系统入侵行为或潜在的系统漏洞。
    4. 为系统安全管理员提供系统运行的统计日志,使系统安全管理员能够发现系统性能上的不足或需要改进与加强的地方。

    HTTPS协议在传输过程中如何保障数据安全

    1. 内容加密,建立一个信息安全通道,来保证数据传输的安全;
    2. 身份认证,确认网站的真实性;
    3. 数据完整性,防止内容被第三方冒充或者篡改;

    HTTPS与HTTP的区别

    1. https协议需要CA申请证书。
    2. http是超文本传输协议,信息是明文传输;https 则是具有安全性的ssl加密传输协议。
    3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
    4. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

    信息化人员的安全管理包括哪些方面

    1. 多人负责的原则:每项与安全有关的活动都必须有两人或多人在场。这些应是由系统主管领导指派的,应忠诚可靠,能胜任此项工作。
    2. 任期有限原则:一般地讲,任何人最好不要长期担任与安全有关的职务,以免误认为这个职务是专有的或永久的。
    3. 职责分离原则:除非系统主管领导批准,在信息处理系统工作的人员不要打听、了解或参与职责以外、与安全有关的任何事情。

    两条百兆网络出口线路的配置策略路由

    使用双主干策略路由,配置策略路由步骤为:

    1. 定义路由策略;
    2. 定义每个路由策略的匹配规则或条件;
    3. 定义每个规则或条件匹配后的行为;
    4. 将策略应用到指定的端口上;

    历年(2006~2018)真题下载:https://download.csdn.net/download/hwhsong/11184430

    展开全文
  • 地理信息系统应用项目组织和管理

    千次阅读 2006-09-13 11:26:00
    1.GIS应用项目简介1.1GIS应用模式与分类地理信息系统可以区分为通用地理信息系统平台和面向特定专题或地区的GIS应用,前者提供了基本的空间信息处理方案,可以应用于各个领域,一般由专门的软件开发商完成,其开发...

    1GIS应用项目简介

    11GIS应用模式与分类

    地理信息系统可以区分为通用地理信息系统平台和面向特定专题或地区的GIS应用,前者提供了基本的空间信息处理方案,可以应用于各个领域,一般由专门的软件开发商完成,其开发过程类同于普通软件系统(如数据库管理系统、桌面出版系统等等)的开发;而后者往往针对某个用户单位提供特定的技术手段。具体而言,GIS应用按照其应用模式又可以分为两类,即科学研究工具和办公服务系统两种。

    1)科学研究工具

    GIS作为科学研究工具的应用模式,强调对于科学计算结果的获得和分析,把GIS作为科学研究的辅助手段。它主要应用于有关地学领域的科研项目研究中。它不仅需要用到地理信息系统通用软件所提供的功能,而且还要用到各种专业分析模型。

    2)办公服务系统

    办公服务系统应用于涉及空间数据的政府部门以及企业,以提高管理效率、制定好的决策和实现组织目标。

    办公服务系统按照其应用层次的高低,又可以分为空间事务处理系统(STPS-Spatial Transaction Process System),空间信息管理系统(SMIS-Spatial Management Information System),空间决策支持系统(SDSS-Spatial Decision Support System)和专家系统(Expert System)。

    事务处理系统的目标是迅速、及时、准确地处理大量空间信息,能够有效地进行日常事务的自动化处理。它注重于空间数据的收集,处理和存储,以供将来使用在各种大型应用地理信息系统的数据采集部门和具体事务部门都有着广泛的应用,包括测绘、资源调查、地籍管理、地图出版等领域。

    空间管理信息系统是基于空间事务处理系统发展起来的,除了提供高效率的信息处理以外,还对决策者提供辅助决策信息,包括数据的查询和统计以及专业模型的分析功能。SMIS运用专业模型来处理和分析数据,以实现对业务工作中确定性问题的处理和管理,提供决策服务。

    SDSS为决策者提供了一个模拟决策过程,并提供了选择方案的决策支持环境,强调系统推理的有效性,更多地应用于宏观决策过程。

    专家系统是能够模仿人工决策处理过程的基于计算机的信息系统,它由知识库、推理机、解释系统、用户接口和知识获得系统组成。它扩大了计算机的应用范围,使其从传统的资料处理领域发展到智能推理上来。SMIS能够提供信息帮助制定决策,SDSS帮助能够改善决策质量,只有专家系统能够应用智能推理制作决策并解释决策理由。

    上述应用模式之间的界限并不是绝对的,一个决策支持系统可以使用与科研工具中一致的分析模型,并且广义上讲,所有的地理信息系统应用的最终目标都是为了进行空间决策。

    除了从应用模式上划分GIS应用,从规模上划分为小型、中型和大型应用。小型GIS使用数据量小,使用系统的用户少,主要针对一个部门或特定领域,注重于专业模型的开发和应用。中型GIS应用于多个部门,数据量大,运行于局域网或城域网环境,侧重于决策支持。大型的GIS应用则拥有非常多的用户和海量的数据,注重数据的管理,并通过网络实现分布式的计算和数据管理,并通过Internet发布空间信息。

    另外,再考虑到GIS具体应用的领域,可以对GIS应用进行三元划分(图15-1),每个GIS应用都对应于该三维空间特定的坐标(表15-1)。

    15-1:地理信息系统应用的划分

    15-1GIS应用的三元划分示例

    名称

    规模

    应用模式和层次

    领域

    XX小流域水土流失系统

    小型

    科学研究工具

    环境

    XX城区土地划拨系统

    中型

    空间事务处理系统

    地籍

    XX林场管理系统

    中型

    空间管理信息系统

    林业

    XX大城市市政管理系统

    大型

    空间管理信息系统

    城市管理

    XX省可持续发展决策支持系统

    大型

    空间决策支持系统

    资源与环境

    从应用领域的角度对GIS的划分

    GIS的数据模型可以划分为场模型和要素模型,图15-2表示了这两类模型在不同领域的应用。

    15-2:根据场模型和要素模型对GIS应用领域进行划分[N.R. Adam& A Gangopadhyay]

    12开发GIS应用的方式

    一旦组织决定建立用于本单位的地理信息系统,可以采取三种方式,一是通过购买,在组织中实施;二是请软件开发商来开发;三是由组织内部的人员开发,可以是专业的地理信息系统人员,也可以是最终用户。

    其中购买GIS又可以分为购买GIS平台软件进行二次开发,购买完整的软件产品,购买完整的GIS系统以及购买GIS服务。

    请软件开发商进行开发以得到完整的软件产品或系统,也可以认为是系统购买的一种形式,但是从购买到系统运行时间比直接购买时间要长。在请开发商进行开发时,可以有两种具体方式,即承包开发和合作开发。前者由开发商独立开发完整的系统,又称为“交钥匙”系统;后者在开发过程中,可以由用户方的技术人员参与开发,双方合作完成整个系统,这种方式有利于开发系统时对问题域的准确把握。

    上述的GIS应用建立方式各有利弊(表15-2),各个组织可以根据具体情况确定采用何种方案。

    15-2:建立GIS应用方案的比较[Aronoff扩展]

    实施

    方案

    用户

    开发

    购买通用平台

    购买完整软件

    购买完整系统

    购买

    服务

    承包

    开发

    合作

    开发

    对提供者依赖性

    很高

    很高

    很高

    到系统运行时间

    -中长

    很短

    很短

    -中长

    -中长

    初始费用

    中等

    中等

    中等

    人力费用

    中等

    很低

    中等

    风险和不确定性

    较低

    中等

    中等

    灵活性

    完全可以

    完全可以

    中等

    中等

    不定

    完全可以

    对用户技术要求

    很高

    中等

    中等

    很低

    中等

    现有资源的利用

    中等

    很低

    中等-

    13 GIS应用项目

    如果要建立GIS应用的组织不是购买现成的、直接可以使用的GIS系统,那么就意味着要进行系统开发工作,无论系统是自行开发,还是承包开发、合作开发。从开始确立需求,到最终的系统投入运行,这一个时间段内的活动统称为GIS应用项目。

    通常一个项目包括四个阶段,识别需求,提出解决方案,执行项目以及结束项目,这四个阶段构成了项目的生命周期(图15-3)。

    15-3:项目生存周期[J. Gido]

    识别需求由准备建立GIS应用系统的组织进行,包括认识当前组织的存在问题,准备用GIS解决哪个方面的问题,分析项目可行性以便进行项目预算等方面的问题。

    如果是用户方自行开发建立GIS应用,那么提出解决方案、执行项目以及结束项目都是由用户方来完成。如果需要由GIS开发商进行开发,那么需要向他们征询解决方案,并签订合同,前者可以通过招标的方式进行。在签订项目合同之后,项目执行主要由开发方负责,用户方配合开发方的工作,直至整个项目结束。图15-4描述了这两种地理信息系统建立过程。

    15-4:地理信息系统项目过程

    A:表示用户自行建立系统;B表示通过招标由GIS开发商建立)

    2.应用项目策略性规划

    越来越多的机构都在开发GIS,但是根据调查,有大量的GIS系统不能真正地完成并正常运行,造成这些项目失败的大都不是由于技术上的问题,而是组织和管理中的问题,而不能进行细致的项目规划是根本的原因。项目规划包括策略性规划和实施性规划,前者在项目正式启动之前进行,而后者则往往是项目实施的第一步工作。

    造成地理信息系统开发失败的因素[村井俊治],从相反的角度说明了如何才能开发一个成功的地理信息系统应用。

    15-5:造成地理信息系统开发失败的因素

    应用项目策略性规划工作对应于项目生命周期的识别需求阶段,主要目的是确定要建立怎样的GIS应用,组织现有的条件,包括资金、人员、设备、场地等等,能否支持GIS的建立和应用。如果用户自行开发GIS系统,可以包括系统开发方案的选择;反之,一般由开发方提出解决方案。

    GIS项目策略性规划一般包括五个主要部分:

    1)机构的状况分析和调查

    GIS的角度了解一个机构目前的组织、任务和技术状况,包括责任范围,发展目标,技术力量,对使用信息技术和GIS的态度,人力、物力和资金状况等等。状况分析和调查为下一步计划提供了概念化的基础。

    2)机构的GIS系统开发目标

    明确定义整个机构GIS总的发展方向,这个方向应当与整个机构的任务和责任范围一致,并且应当对整个系统各方面的能力作出明确的定义。制定总方向的过程需要机构内高程管理人员的参与,他们对于整个系统开发的必要性的理解和认识会对整个系统的发展有所帮助。

    3)系统开发的可行性

    主要包括资金、技术力量和组织运作三个方面。资金的分析应当考虑到整个GIS实施、运行和维护的全过程,通用的方法是成本效益分析。在技术可行性方面,要考虑GIS项目中所要求的技术能否满足,技术发展以及新技术出现对项目的影响,是否需要对人员进行技术培训。组织方面,包括整个机构能否愿意承受引入GIS技术所带来的变化以及能否在开发过程中相互协作完成开发任务。

    在进行可行性分析时,不可忽视各个方面的变化所引发的风险,要对风险进行客观的评价,并作出相应的防范措施。

    4)系统开发的方案选择

    系统开发的方案选择覆盖了GIS系统的各个方面,包括数据部分、功能部分、系统的整个软件和硬件的框架等,以确定各个方面的实施部门、进度安排和管理方法等等。

    5GIS系统决策规划书的起草

    方案确定之后,需要将方案起草成文件形式,由有关部门审批,同时也可以作为系统规划和实施的指导性文件。

    在策略性规划完成并得到批准之后,如果是由用户自行开发系统,则可以直接进行下面的开发工作;如果需要由另外的GIS开发商合作开发或承包开发,则可以以需求建议书(RFP, Request for Proposal)的形式提交给开发商,而开发商将其作为进行需求分析的重要依据,此外,在合同中也体现了策略性规划的部分成果。

    3.应用项目合同

    如果用户单位确定由其它软件开发商承包或合作开发GIS应用软件系统以及向开发商购买现成的软件系统,则需要由双方签订关于本次开发或购买——统称为软件贸易——的技术合同。技术合同确定了贸易的目的,双方的权利和责任等多个方面的内容。在中国,技术合同的签订、执行、变更与终止需要在《著作权法》和《技术合同法》中的有关原则的规范下进行。

    由于当事各方的具体情况不同,合同的具体内容和形式也不同。一般而言,采用双方合作开发的形式,因为用户拥有部分版权,合同中对于用户限制较小;而采取“交钥匙”的开发方式或者直接购买软件,则对作为接受方的用户*的限制较为严格。具体地,软件技术合同通常所包含的条款有:

    1)引言

    是合同的第一个条款,包括合同签订日期,当事双方名称、地址,合同背景。

    2)定义

    在定义部分,对一些关键性的用词进行定义,避免双方对合同中用词和概念的不一致带来纠纷。对于信息系统技术合同,需要进行定义的名词包括“被许可软件”,“文档”等等。对于“被许可软件”,需要指明软件名称、版本、形式(目标代码,源代码);而对于“文档”,要说明它是用户手册,还是工程文档,或者两者都包括。

    3)标的

    说明了开发系统名称、合作开发方式、使用许可以及系统的技术规格。技术规格又包括软硬件环境,功能描述和性能说明。

    4)授权及限制

    该部分规定软件供应方和接受方的权利以及对这些权利的限制,在每一项具体的合同中,用户方获得的授权内容和限制是不一致的。在技术合同中,授权包括:

    41)使用权:软件使用权是通过许可合同授予用户最主要的权利,是签订许可合同的标的,不过作为供应方可以对使用权增加一些限制,包括运行环境,数据等等。

    42)分销权:如果接受方不是最终使用用户,可以经销系统,则需要在合同中确定其分销权。

    43)独占性:使用权和分销权可以是独占的,也可以是非独占的。分销权独占性一般只是在一个地区范围内和行业范围内成立。

    44)复制权:对用户制作合法拷贝备份的规定。

    45)修改权:一般来说,获得使用权或分销权的用户都无权修改供应方提供的软件。不过,根据实际的情况,可以在合同中作出更为合理的规定。

    对于专业GIS应用软件,由于一些专业模型需要由用户提供,并且需要修改,一般规定用户有修改权,以改进模型,但在这时要对供应方的维护责任作出规定。

    46)对许可合同的转让权:被许可人可以将许可合同赋予自己的全部权利转让给第三方,但是只能转让一次,并且需要征得供应方的同意。

    47)对计算机系统的限制:通过限制软件运行的计算机系统防止系统扩散。

    48)地区限制:限制合同的运用地区。

    5)交付与安装

    明确规定供应方提供软件——包括程序和文档——的具体内容,对于程序,需要说明是否包括源代码;文档要说明包括哪些具体文档;同时对于是否由供应方将应用软件安装在计算机内。

    6)移交与验收

    为了保证接受方得到的系统是可以实际使用的,在合同中必须对软件的移交和验收作出安排。

    7)培训

    如果需要供应方为接受方承担培训工作,则应在合同中设置培训条款,包括培训时间、内容和费用承担等。

    8)维护

    在任何软件技术合同中,都要包括维护条款,维护包括纠错性维护、适应性维护和完善性维护,合同中首先要注意的是纠错性维护。维护条款包括修正错误的时间,费用承担,同时规定哪些情况不在供应方维护范围内。

    9)期限

    期限规定了合同的有效时间。

    10)报酬与支付

    在报酬和支付部分包括三个方面的问题:支付方式、费用支付针对哪些软件产品和服务、支付时间。例如,对于最终用户,采取的支付方式包括依次性固定支付,周期性固定支付和根据运行情况进行支付三种方式。

    11)纳税

    该部分规定的各项税款的承担单位。

    12)所有权的归属

    一般而言,接受方只是获得了软件的使用权,所有权并没有转让。但是在合作开发中,可以根据具体情况规定所有权归属。另外,在承包开发的情况下,为了保护接受方权益,可以规定所有权属于制定的委托方。

    13)保密与限制竞争

    在承包开发过程中,双方都有可能使用对方的机密,需要规定保密责任。

    14)担保和赔偿

    担保是指供应方对自己所供应软件的担保,包括功能、性能以及版权等方面。如果所做保证不能实现,则要向接受方提供损害赔偿。

    15)违约处理

    规定了合同双方发生违约时的处理,包括终止合同以及赔偿等等。

    16)争议处理

    在合同执行中出现争议的处理,通常的做法是提请拥有计算机技术方面的专家仲裁裁决。

    17)终止

    如果合同没有确定期限,规定合同在哪些情况下终止以及合同终止后双方要做的事情和继续承担的责任。

    18)条款的完整性

    强调条款的完整性,未在合同中的内容,一律不能成为本次软件贸易的组成部分。

    19)不可抗力

    由于出现不可抗拒因素而影响合同的执行,通常一方应给予谅解并适当延长履行合同期限。

    20)法律的选择

    如果双方属于不同的国家,要说明发生纠纷时采用哪个国家的法律。

    21)生效

    一般合同签字后即可生效,在有些情况下,需要由有关部门批准后方可生效,在本条款中加以说明。

    上面是软件技术合同的一些基本条款,除此之外,还往往包括一些附件以详细说明具体的技术问题。

    4.应用项目实施性规划——软硬件配置

    应用项目开始之后,就要进行实施性规划,在这一阶段,主要要确定系统软硬件设计。如果不是完全自行开发系统,软件设计过程中要进行软件配置,反之要进行软件的总体设计。

    在进行软硬件配置时,主要考虑的因素有:

    1)系统数据量;

    2)用户数目,并发访问情况;

    3)现有网络环境;

    4)投资规模;

    5GIS应用在整个系统中的位置,是一个纯粹的GIS系统还是与其它系统结合而成的综合信息系统。

    这些因素,在策略性规划阶段就已经基本确定,此时要根据这些因素进一步选择软件以及硬件设备。在进行软硬件配置时,除了上述因素外,可以参照以下原则:

    1)不要只重视硬件,而忽视软件的选择;

    2)保护已有的投资,包括软件、硬件设备、数据等;

    3)保证系统的可扩充性;

    4)考虑技术的发展方向;

    5)如果要进行二次开发,要着重考虑软件的二次开发支持能力;

    6)重点考虑软硬件功能能否满足项目需求;

    7)性能也是不可忽视的重要因素。

    8)选择软硬件的功能必须要满足系统要求,而性能指标可以事先界定,通常系统的性能与投资多少直接相关,这就需要根据投资数额确定一个最佳性能/投资比,不至于引起浪费或者不能满足项目要求。

    下面给出了进行GIS软硬件配置时的一些具体的意见(表15-3)。

    15-3GIS软硬件配置时的一些具体的参考意见

    项目

    具体考虑因素

    软件

    数据量

     

    数据的分布性

    已有数据

    需要二次开发

     

    系统需要与其它软件协作

    现有的软硬件平台

    需要与Internet结合

    硬件

    数据量大,并且需要共享

    数据需要定期备份

    大量的数据录入

    地图输出

    高质量、大幅面地图输出

    数据采集

    移动计算

    已选择的软件

    网络

    局域网

    远程访问

    接入Internet

     

    如果数据量大,要关注软件对大数据量处理的性能,是否支持图库

    如果数据是分布管理的,需要软件支持网络

    软件能否顺利地读入现有的数据

    软件是否具支持二次开发,支持方式(API,控件,宏语言)

    软件对数据库是否支持

    软件必须能够运行于现有的软硬件平台上

    软件是否支持Web,具体方式(ActiveX,Java)

     

    选择数据服务器

    磁带机,光盘课录机

    扫描仪,数字化仪

    彩色喷墨打印机

    喷墨绘图仪,其它高档绘图仪

    GPS接收机,平板测图仪

    笔记本电脑

    使软件能够运行良好的硬件平台

     

    细缆线/双绞线,集线器

    拨号网络支持

    各种专线

    5.子项目划分和进度安排

    在一个较大规模的地理信息系统建设过程中,由于要涉及各个部门,功能和数据数据的形式多种多样,并且要涉及不同的软硬件平台,需要在项目实施之初,制定计划以协调各个方面的问题*。通常,计划中最重要的内容是划分子项目以及整个项目进度的安排。

    51划分子项目

    子项目的确定是整个GIS系统设计过程中最重要的环节之一,子任务的合理制定使得各方面的细节不至于遗漏,使整个计划、预算和质量得到保证。子项目不仅要包括技术任务,而且要包括各种非技术的任务,包括管理、支持等等。划分子项目时,可以按照整个项目、项目、任务、子项目、具体工作、步骤等六个层次,进行自顶向下地划分。表15-4列出了常用的GIS项目任务。

    15-4:常用的GIS项目任务[宫鹏]

    项目规划

    1.         可行性分析

    2.         市场调查

    3.         技术调查和评价

    4.         起草报告

    试点项目

    1.         数据收集

    2.         数据数字化

    3.         数据转换

    4.         数据质量控制

    5.         制图

    6.         设备购买

    7.         设备安装

    数据库生成

    1.         数据库概念设计

    2.         数据库详细设计

    3.         数据收集

    4.         数据数字化

    5.         数据转换

    6.         数据编辑

    7.         数据质量控制

    8.         数据修改

    9.         自动化编程

    数据输出

    1.         制图

    2.         数据制表

    3.         自动化编程

    GIS分析

    1.         分析模型定义

    2.         分析模型的过程设计

    3.         分析模型实施

    4.         分析制图

    5.         分析制表

    6.         分析自动化编程

    7.         分析报告生成

    应用系统开发

    1.         系统的用户需求分析

    2.         系统的设计

    3.         系统设计报告起草

    4.         系统编程

    5.         系统测试

    6.         系统运行报告和安装

    7.         系统培训

    8.         系统的用户报告

    9.         系统维护报告

    10.     系统维护的技术服务

    其它

    1.         人员技术培训

    2.         项目管理

    3.         系统维护

    4.         数据安全备案

    5.         项目技术会议

    6.         项目中期报告

    7.         项目终期报告

    52进度安排的原则和表示方法

    项目进度安排是管理者在进入设计和实施阶段之前需要完成的,要在时间和顺序上安排各个子项目。在进行进度安排之前,首先必须估计每项活动从开始到完成所需要的时间,其次要考虑的因素包括活动之间的依赖关系(必须完成一项才能进行下一项)以及各个活动的最早开始——结束时间和最迟开始——结束时间(例如:整个项目工期为120天,某项活动需要30天,那么它的最迟开始时间是第90天)。计划要有灵活性,可以根据变化进行相应的调整;此外,要保证参与人员有足够时间来完成各项任务,在任务之间安排一定的“机动时间”是一个较现实的办法。

    表示项目进度的常用方法有里程碑表示法(Milestone Chart),甘特图法(Gantt Chart),关键路径法(CPM-Critical Path Method)和墙纸法(Wall Paper Method)。

    521里程碑表示法

    里程碑表示法适用于较小规模的项目,可用于起草项目计划书,该方法将主要任务作为一个阶段来处理,清晰并且容易使用。缺点是不能表达出各项任务之间的关系,对项目进程的控制能力差。表5给出了该方法的样本。

    15-5:里程碑表示法

    任务编码

    主要内容

    负责小组

    预计完成日期

    实际完成日期

     

     

     

     

     

     

     

     

     

     

    522甘特图法

    甘特图法又称直方图法、柱状图,是目前使用较多方法,它容易表现活动的时间长短和先后顺序,但是不能描述影响关系,难以进行复杂项目的控制。图15-6是甘特图法的一个例子。

    任务内容

    和编码

    1998年(季度)

    1999年(季度)


    项目规划

    试点项目

    1.数据收集

    2.数据数字化

    3.数据编辑

    4.质量控制

    应用软件开发

    1. 分析模型定义

    2. 模型定义

    3. 编程实现

    项目管理

     

     

     

     

     

     

     

     

    15-6:甘特图法表现项目进度

    523关键路径法

    关键路径法表达了项目中各个任务之间的先后顺序和制约的双重关系,适用于对大型的复杂项目进行进度控制。采用关键路径法需要管理人员对子项目之间的关系十分清楚,其缺点是不够灵活,并且制作烦琐。

    524墙纸法

    墙纸法主要适用于有较多人员参加的项目类型,它的特点是直接对每个具体人员安排任务。采用墙纸法制定项目进度时,需要一开始就有有关项目人员的参加,便于发挥其主动性。

    在进度安排时,可以利用计算机软件辅助进行,使进度更加合理。

    6.项目预算

    61项目预算的主要内容

    项目预算是起草项目计划书时必须做的一个步骤,也是GIS项目管理人员最常做的事情之一。一般来说,GIS项目的支出主要有七类,与某一GIS项目直接发生关系的费用称为直接项目费用,否则被称为非直接项目费用。

    1)人力费用:指拥有和使用人力资源来完成任务的费用,主要包括员工的工资和福利,人力费用属于直接项目费用。

    2)材料和办公用品费用:包括购买各种办公用品、书籍、图件等的费用。

    3)设备费用:主要包括计算机硬件的购买或租赁费用。

    4)软件费用:计算机软件的购买或租赁费用。

    5)软件和硬件维护费用。

    6)内部服务费用:主要包括机构内部某些部门的维持费用,它们间接支持项目和整个机构的运行。此外,还包括保险、办公场所租赁、通讯费用等等。

    7)其他费用:不属于以上任何一类的费用,包括旅行费用、培训等。

    上面除人力费用属于直接费用以外,其他都属于非直接费用,在计算时可以用人力费用乘以一个权值以估算非直接费用。

    62项目预算的方法

    在进行GIS项目预算时,要综合考虑各种费用,进行预算的方法主要有四种:上溯法,下溯法,单价法和根据项目参加人员的费用做预算的方法。

    621上溯法

    上溯法适合于根据项目任务确定来确定最终的总报价的情况。图15-7表示了利用上溯法进行预算的步骤。

    15-7:利用上溯法进行项目预算

    利用上溯法进行预算,需要注意以下问题:

    1)需要完全理解项目的范围,因为该方法是依据项目的内容和范围来着手和定义,确定范围过大或过小,都会对总报价有很大的影响。如果范围边界存在模糊,可以使用一些约束条件。

    2)项目任务的划分,如果一个项目的任务划分基本正确,那么总报价不会出现太大的偏差。在进行任务划分以及任务工作量估计时,可以参照以往类似的工作进行。

    3)提成和利润,在总报价中,提成和利润占有相当的份额。在美国,GIS项目中,人力费用、办公费用和公司利润大约各占三分之一。

    622下溯法

    下溯法适用于预算总额已经确定的情况,对各个划分的任务确定其具体费用。在实际工作中,可以与上溯法相结合,对预算方案进行调整,使结果既能考虑到项目总费用,又能顾及具体的任务工作量。

    623单价法

    单价法是指以项目的单个单元为计价的预算方法,适合于过程比较固定、重复性较大的项目类型。最典型的使用单价法进行预算的项目是地图数字化,例如要对500幅地形图进行数字化,在考察大多数地形图内容、质量、预期数据量后,根据最终确定的数字化流程以及精度要求,可以推算出平均每幅地形图所需要的时间和费用,进而就可以得到总的项目费用。

    624根据项目参与人员的费用做预算的方法

    根据项目参与人员的费用来做预算取决于项目使用的人员类型,通常该方法在使用高级技术人员的情况下使用。该方法注重每个人参加项目的时间,而无需对项目的任务加以严格定义。

    如同进度安排一样,进行项目预算时,为了能够应付项目过程中出现的各种问题,保持一定的“弹性”是必需的。

    7.人员管理

    71地理信息系统应用项目中的人员

    在地理信息系统应用项目的组织和建设过程中,不论是由应用部门独立开发还是和由专门的独立软件开发商进行开发,其中涉及的人员按照角色,可以分为以下几类:

    711项目管理人员

    项目管理人员负责整个项目,又称为项目经理。在项目实施之前,项目管理人员参与制订工作计划;在项目开发过程中,要监督和管理项目的进度与开销。当进度落后或者开销超出预算时,项目管理人员要找出其中的原因,并提出解决的方案。

    在具体实践中,根据项目的规模以及开发组织方式(合作开发还是单独开发),可以设一个或多个项目管理人员,具体分管不同的方面。项目管理人员应该对项目目的以及相关技术相当熟悉,并且具有一定的管理能力。在合作进行的项目开发中,一般由双方各出一人担任项目管理人员,以进行协调工作。

    712系统开发人员

    系统开发人员在应用项目的开发过程中,所占比例应该是最大的。按照所进行开发活动,可以分为系统分析员、设计员、编程实现人员、测试人员以及系统维护人员。同时可以按照项目的具体技术内容,划分为几个技术专题,每个专题对应一个或多个开发人员。

    一般而言,系统分析员、设计员、编程实现人员不应该重叠,但是在实际过程中,由于人力资源不足,更由于没有很好地实施软件工程,分析设计文档不够完善,造成交流困难,一般都按照技术专题对人员进行分组,每一组完成该专题的需求分析,设计和实现工作。在项目规模较小时,可以采用这种人员组织方式,以提高灵活性。

    713数据录入和处理人员

    数据在GIS应用项目中占有非常重要的位置。一个GIS项目,往往需要大量的数据,所以在进行软件开发的同时,需要组织数据的录入和处理。数据录入和处理没有特殊的技术要求,一般的工作人员,经过简单的培训即可胜任该工作。在项目进行中,需要考虑的因素有:

    1)数据录入和处理是一件相当单调而且令人厌烦的工作,需要工作人员认真负责,同时还要采取适当的激励手段以保证工作顺利进行;

    2)在数据录入和处理过程中,需要专门的技术人员进行质量检查,避免数据精度不能满足最终项目的要求;

    3)如果待开发软件包括了数据录入功能,如果等待软件完成后再进行数据录入,可能会造成工期延误,因此可以考虑先采用其它软件进行数据录入和处理,然后再进行数据转换。

    714开发支持人员

    开发支持人员保证整个开发过程的顺利进行,其工作包括开发工具的维护,网络管理等等,如果项目规模较大,需要配置管理人员保证协作开发不至于引起混乱。

    715领域专家

    由于许多GIS应用项目对应于专业的要求,所以需要领域专家参与开发过程,以便于将他们的理论、经验在计算机系统中加以实现。

    716用户

    用户不直接参与开发过程,但是他们是系统的最终使用者。在开发系统之前,需要从用户那里获得需求;在开发过程中,完成的原型系统一般需要由用户进行评估。

    717其它支持人员

    包括不直接参加项目的支持人员,如财务人员,文档管理人员等等,他们对于项目的正常运行起着重要的作用。

    72对人员需求的了解——进行管理的基础

    在项目过程中,需要对参加项目的各类人员进行妥善的安排,对于人的管理,首先要求项目管理人员了解各个执行人员的性格特性,从而了解其需求*,找到调动其积极性的因素,并积极满足其需求。在信息技术领域,员工的积极性直接影响了工作效率和质量,因而,在GIS项目组织管理中,调动员工积极性对于项目管理人员尤为重要。

    一般认为,与工作有关的需求因素包括:

    1)工资或奖金的多少;

    2)在机构内的职位和责任范围;

    3)人际关系;

    4)工作的挑战性;

    5)个人的被承认程度;

    6)所拥有的自由度;

    7)享受各种待遇的程度,如医疗保险、假期等等;

    8)物质方面,包括办公条件等等。

    不同类型的人对不同需求的要求程度也有所差异,如工作型的人员期望得到较好的工资、待遇、职称、办公条件,而事业型的人员则更看重工作的挑战性、责任范围、个人的发展等方面的内容。此外,人员的性格也决定了相互之间的合作模式以及他们在组织中最合适的位置。不同性格的人可以合理地安排在一起,形成一种和谐的工作环境,保证项目的顺利完成。

    在工作中,通常高的收入是工作人员最基本的需求,换言之,提高工资报酬是管理人员采取的主要激励手段。但是,经济学家认为,劳动力的供给是“向后拐弯”的曲线(图15-8)。

    15-8:劳动力供给曲线

    造成种现象的主要原因是,当雇员的工资达到一定水平之后,随着收入的增长,追求更多的闲暇,使工作时间减少。对于项目管理人员,了解劳动力供给的这种特性,可以采取更加灵活的刺激手段,例如对于开发人员,一个具有挑战性的工作往往能够激发其工作热情。

    73人员的组织管理

    项目管理者除了根据每个工作人员的具体情况确定其分工,采用以下管理手段有助于提高组织的生产效率:

    1)工作的内容

    保证分配适当的任务给雇员,其分配依据包括其技术与性格的特点。此外,一般要给出较多的工作量,使得每个工作人员总是有足够的工作做。

    2)工作的安排

    根据项目所需要的时间,每隔一定时间对整个任务进行安排。

    3)交流

    与技术人员的交流,可以使管理人员了解项目的具体进度及遇到的技术难点,还可以使技术人员把握整个项目的技术、时间、质量等具体的要求。

    4)项目背景和发展要求的回顾

    给技术人员较为全面的项目介绍,包括背景、参与的团体、进度安排等,容易使技术人员了解其工作在整个项目中具体的位置,增强其成就感。

    5)层次

    在关键的岗位使用优秀的人才。

    6)新技术

    关注新技术的发展,注重技术革新,通过组织技术培训保证技术人员掌握新技术。

    7)会议

    适当地组织不同层次、规模的会议,在会议进行之前,组织者要明确会议的主题和目的,使参与人员有所准备。

    8)交流手段

    采用电子邮件是较好的信息交流手段,它可以作为开发的历史档案加以保存。

    在信息技术的开发和应用中,人员的管理是企业管理中最重要的一个环节,对于GIS应用项目,由于涉及各个领域的技术人员,更需要有效的人员组织和管理。

    8.开发和数据管理

    在建立地理信息系统应用的过程中,软件开发和数据处理是最为繁重的两个技术任务,对这两个部分的管理的好坏直接影响到整个项目的成败。

    81软件开发管理

    尽管在软件工程方面已经有许多的技术和方法,如结构化方法,面向对象的方法等等,在开发过程中采用这些方法以提高效率,但是开发过程的管理始终是决定一个软件项目成败的重要因素。对于开发管理,并没有“万能”的办法可以适用于所有的软件开发过程,但是在管理中遵循以下原则可以更好地确保软件产品质量和开发效率[B.W.Boehm],这些原则同样也适用于GIS平台软件的开发。

    1)用分阶段的生命周期计划严格管理

    在整个软件生命周期中,要完成许多性质各异的工作。该原则意味着把软件生命周期分成若干个阶段,并制定严格计划对软件开发和维护进行管理。通常以下六类计划是应该制定并严格执行的,即项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划和运行维护计划。

    2)坚持进行阶段评审

    软件的质量保证不能等到编码结束之后再进行,这是因为,第一,大部分错误是在编码之前造成的;第二,错误发现越晚,所需要代价越高。因此,需要在每个阶段都进行严格评审,以便尽早发现软件开发过程中的错误。

    3)实行严格的产品控制

    在开发过程中,用户的需求难免发生变化,而为了满足其变化的需求往往要付出较高的代价,这就需要进行严格的产品控制,通常所采用的技术就是配置管理。

    4)采用现代程序设计技术

    实践表明,采用先进的程序设计技术既可以提高开发效率,又可以提高软件的可维护性。这些技术包括结构化分析、设计、编程技术以及面向对象的分析、设计、编程技术等。

    5)结果应能够清楚地审查

    软件产品是思维的产物,这决定了工作过程难于评价和管理,难以准确度量。为了提高开发过程的可见性,以便进行管理,应该根据总目标和进度,规定开发组织的责任和产品标准。

    6)开发小组的人员应该少而精

    软件开发小组的组成人员素质应该好,而人数不宜过多。素质高的人员开发效率比素质低的人员的开发效率可能高几倍到几十倍,而且错误更少。而小组人数的增多会造成交流的困难。

    7)承认不断改进软件工程实践的必要性

    由于技术在不断进步,应该主动采纳新技术,而且要不断总结经验,以不断改进工程实践*。针对一个项目,遵循前六点就可以保证项目的成功,该原则使软件组织能够持续发展。

    82数据管理

    在一个GIS应用项目中,通常需要输入和处理大量的数据,其中主要是空间数据,如果没有采取合适的数据管理,那么可能因为以下原因造成项目的混乱甚至失败:

    1)数据质量不能达到项目要求;

    2)数据没有完全输入或处理,造成项目延期;

    3)数据重复录入或处理,造成人员和时间的浪费;

    4)进行数据处理和模型运算时,没有及时采用最新的数据。

    为了避免出现上述的问题,必须对数据的录入和处理过程和数据质量进行严格的控制。通常GIS应用项目的空间数据来源包括:GPS数据,摄影测量数据,测量数据,卫星遥感数据,已有非数字地图。不同的来源,其处理和质量控制原则也有所差别。对于GPS数据和测量数据,只需要进行简单的数据规范化(如格式转换,拓扑关系建立等等)处理,就可以在GIS中使用,其精度由GPS或测量设备决定,在数据处理过程中不会带来新的误差。摄影测量数据和卫星遥感数据通常需要进行一系列纠正操作,然后进行自动或半自动解译,以提取专题信息,最后通常是转换为多边形数据,输出到GIS应用中,其误差来源包括纠正(包括辐射纠正和结合纠正)以及分类过程中的误分。纸质地图的录入,可以采取手扶跟踪数字化和扫描矢量化两种方式,其误差来自于数字化过程,并且与进行数字化人员的工作态度有密切的关系,此外数字化数据往往现势性较差。

    数据输入和处理的进度控制可以采用普通的里程碑方法或甘特图法,如果工作区范围较大,并且每一数据处理单元只覆盖工作区的一部分,可以采用图15-9所示的方法,以表示进度,其优点是更加直观,不容易遗漏数据。

    15-9:一种直观的数据输入进度管理方法示例

    (图中每一矩形框内的时间表示该数据应该完成的时间,

    深灰色矩形表示已经完成,而浅灰色矩形表示数据录入和处理正在进行)

    如果项目中数据量大,并且需要多个数据文件以存储数据,那么需要在工作进行之初就定义文件的命名规则,以通过文件名表达其数据内容,避免造成管理上的混乱*。如用文件名SO01DG表示第一次数字化的土壤图(SOSoil,土壤;01:第一次;DG:数字化)。通过文件名表达的信息可以有专题、已进行的处理、时间、处理人员、数据区域范围等等,但是太长的文件名同样会造成记忆的困难。

    除了定义文件命名规则外,其它描述信息,包括数据来源、地物的数值范围、地图投影、精度、数据的依赖关系等元数据可以建立数据字典。可以对数据字典进行检索,以掌握数据的进度。

    9.项目控制与评估

    GIS应用项目进行中,控制活动要贯穿于整个项目的始终,才不至于在项目完成后出现严重的质量以及时间问题。而在项目的每一个阶段、或者整个完成之后,进行事后分析和评估可以更好地了解项目进展中的问题,对项目参与人员进行评定,为下一阶段或者以后类似项目组织管理作为参考依据。从一定意义上来讲,进行评估是实施项目控制的有效途径。

    通常,进行事后分析和评估的对象包括:

    1)程序:数量和质量;

    2)数据:数量和质量;

    3)参与人员:工作时间和效率;

    4)资金:使用情况和使用效率;

    5)设备:占用情况和效率。

    在对上述因素进行分析和评估时,要尽可能使用定量的方法,一方面数量能更准确地说明项目进展和存在的问题;另一方面,采用数量也便于进行横向和纵向的对比。横向对比是指项目中各个小组,甚至不同人员的对比,纵向对比是指项目的不同阶段或不同项目之间的对比。

    分析评估的结果可以以表格、统计图的形式直观的表现(表15-6,图15-10),项目管理人员可以根据结果评估工作进展,发现问题,并在下一步的工作中进行改正。

    15-6XX项目第一阶段(19991-199910月)工作分析结果

    项目

    数值

    程序

    代码总行数

    错误数目

    错误比率

    数据

    录入总数据量

    抽样平均偏移误差

    遥感分类后数据总量

    抽样分类精度

    人员

    人员总工作时间

    资金

    总使用资金

     

    78532

    130

    1.65/千行

     

    78

    0.12毫米

    290

    83%

     

    140人月

     

    8.2万元

    15-6列出了从总量上对项目中各个要素分析的结果,可以作为计算项目阶段成本、效率的依据;而图15-10更好的说明了项目的进展状况,可以使管理者方便地发现项目进展顺利和不顺利的时间段,并进而发现其原因,作为下一阶段工作管理的依据。而整个项目的分析图表可以被复用于下一个类似的项目,进行成本——效益分析和进度安排。

    15-10:通过不同指标反映项目的进展状况

    10.软件研制和开发的质量管理——
    对于GIS软件开发组织的指导

    由于计算机技术的发展以及用户需求的增长,GIS软件的研制与开发(R&DResearch and Development)也越来越多,这意味着竞争也愈加激烈。对于GIS软件开发组织,在市场上取得成功的因素包括:技术的先进性、功能的实用性和可靠性、系统操作的便利性、版本的连续性以及技术支持维护等等。为了达到这些目的,唯一的途径就是采用合适的质量管理与控制。

    101 ISO-9000系列标准

    质量管理的目的是为了生产高质量的产品,它不是通过检验产品的质量,而是把质量建立在生产过程之中来达到。近年来,国际上影响最为深远的质量管理标准是ISO9000系列标准。ISO9000最初主要针对制造行业,现在已经扩展到硬件、软件甚至服务领域。ISO9000强调控制、可审查性、检验与核实以及过程的改进。其基本要求是:“说你做的(Say what you do)”,“做你说的(Do what you say)”,并“证明你已做的(Demostrate what you have done)”。

    ISO-9000系列标准包括:

    1ISO-9000质量管理和质量保证标准——选择和使用的导则;

    2ISO-9001质量体系——设计/开发,生产,安装和服务中的质量保证模式;

    3ISO-9002质量体系——生产和安装中的质量保证模式;

    4ISO-9003质量体系——最终检验和测试中的质量保证模式;

    5ISO-9004质量管理和质量体系要素——导则。

    ISO-9000原本为了制造业而规定,不能直接应用于软件行业,后来追加了9000-3标准,成为“使ISO-9001适用于软件开发、供应和维护的指南”。

    ISO-9000-3的核心思想是“将质量制作入产品之中”,也就是说,软件的质量提高不能依赖于完成后的测试,而取决于整个软件生存期所有的活动。ISO-9000-3的要点如下:

    1ISO-9000-3标准不适用于面向多数用户销售的程序包软件,仅适合于依照合同进行的单独订货开发软件,它也是用户企业的系统部门在建立质量保证体系时的指南;

    2ISO-9000-3标准对供需双方领导的责任都做了明确的规定,并没有单纯地把义务全部加在供方;

    3)在包括合同在内的全部工序中进行审查,并彻底文档化。具体来说,就是需方和供方合作审查,找出含混不清的问题,并记录在文件中;

    4ISO-9000-3叙述了供方和需方如何合作进行有组织的质量保证活动才能制作完美的软件,强调质量保证体系贯穿于整个开发过程,强调防患于未然而不是事后纠正;

    6)供方应实施内部质量审核制度,要求供方为了质量管理而整顿其组织机构,建立监督质量体系的机制;

    7)供方应对每项合同进行审查。

    102软件过程改进的CMM模型

           由于ISO-9000系列标准并不针对于软件企业,到九十年代初,CMUSEI(软件工程研究所)提出了软件的能力成熟度模型(CMM-Capability Maturity Model for Software)

    ISO9000相比,CMM只关注软件,明确强调持续的过程改进,而ISO9000只是解决质量体系的最小保证。

    CMM模型较为全面地描述和分析软件过程*能力的发展程度,建立了描述一个组织的软件过程成熟程度的分级标准。利用该标准,软件组织可以评估自己当前的过程成熟程度,并通过提出更严格的软件质量标准和过程改进,来选择自己的改进策略,以达到更高一级的成熟程度。CMM模型共有五个成熟度级别,其特征为:

    1)初始级(Initial)

    软件过程杂乱无章,有时甚至混乱,几乎没有明确定义的步骤,成功完全依赖于个人努力和英雄式的核心人物。

    2)可重复级(Repeatable)

    建立了基本的项目管理过程来跟踪成本、进度和机能,有必要的过程准则来重复以前在同类项目的成功。

    3)定义级(Defined)

    管理和工程的软件过程已经文档化、标准化,并综合成为整个软件开发组织的标准软件过程,所有的项目都采用根据实际情况修改后得到的标准软件过程来开发和维护软件。

    4)管理级(Managed)

    制订了软件过程和产品质量的详细度量标准。软件过程和产品的质量都被开发组织的成员所理解和掌握。

    5)持续优化级(Optimizing)

    加强了定量分析,通过来自过程质量反馈和来自新观念、新技术的反馈使过程能够不断持续地改进。

    CMM定义了每个成熟度级别的关键过程范围(图15-11),一个软件组织只有满足该范围内的每个目标,才能被认为达到该成熟度级,这实际上也是软件组织达到更高一级成熟度的指导。

    15-11CMM模型中的五个成熟度级别,其关键过程范围[CMU SEI]

    CMM建立了一个可用的标准描述,在签定软件项目合同时,可以参考这些标准进行风险评估,而软件企业可以利用CMM框架来改进其开发和维护过程。

    尽管CMM列出了每个成熟度级别的特征和关键过程,但是并没有回答如何做才能达到高一级的成熟度级的问题,没有提出特定的软件技术,也没有涉及如何具体的进行人员管理,这些都需要应用CMM的组织在实践过程中,根据其具体情况加以解决。



    * 在本节中,“用户”并不仅指单纯的系统使用者,也包括为了赢利而销售应用系统的单位。所以一般称为接受方,而软件开发单位则称为供应方。

    * 到项目开始执行,不再区分用户方和开发方,原因是无论由哪一方进行开发,进行的项目组织管理工作都是相似的。

    * 马斯洛的需要五层次包括:生理的需要,安全的需要,爱和归属的需要,获得尊重的需要,自我实现的需要。人员在工作中的需求可以归纳到这五个层次中。

    * 这也正是CMM第五级所强调的。

     

    * 采用地理信息系统软件工程技术一章中描述的数据配置管理方法可以更好的避免数据管理混乱。

     

    * 软件过程是人们用于开发和维护软件及其相关产品的一系列活动、方法、实践和改造。软件的开发有两种截然不同的方式:“面向过程的(Process Oriented)”和“面向责任的(Commitment Oriented)”,前者强调过程的规范和持续优化,后者更强调个人的能力。目前许多软件企业都开始注重软件过程。

     
    展开全文
  • 电子科技大学 - 嵌入式系统及应用期末复习提纲

    千次阅读 多人点赞 2020-09-06 20:23:17
    电子科技大学 - 嵌入式系统及应用期末复习提纲 带 ** 的标题为重点知识点!!! 教材:嵌入式系统及应用,中国工信出版集团 1 嵌入式系统导论 **1.1 什么是嵌入式系统? 注意:对比通用计算机(形式、组成、开发...

    带 ** 的标题为重点知识点!!!
    教材:嵌入式系统及应用,电子工业出版社

    1 嵌入式系统导论

    **1.1 什么是嵌入式系统?

    注意:对比通用计算机(形式、组成、开发方式、二次开发性)

    在这里插入图片描述

    **1.2 嵌入式系统的构成?

    (一体化软件)

    • 嵌入式系统一般由嵌入式硬件软件组成;
    • 硬件以包含微处理器的SoC为核心集成存储器和系统专用的输入/输出设备;
    • 软件包括:初始化代码及驱动、嵌入式操作系统和应用程序等,这些软件有机地结合在一起,形成系统特定地一体化软件

    在这里插入图片描述

    1.3 嵌入式系统的发展阶段和兴起于哪个时代?

    (1965-1970)

    • 出现:20世纪60年代以晶体管、磁芯存储为基础地计算机开始用于航空等军用领域;
    • 兴起:在1965~1970年,当时计算机已开始采用集成电路,即第三代计算机。在军事、航空航天领域、工业控制的需求推动下;
    • 走向繁荣:微处理器问世后;
    • 走向纵深:进入20世纪90年代,在分布控制、柔性制造、数字化通信和数字化家电等巨大需求的牵引下,嵌入式系统的硬件、软件技术进一步加速发展、应用领域进一步扩大;

    1.4 知名的嵌入式操作系统和开发工具有哪些?

    操作系统: µC/OS-II、嵌入式Linux、Android、iOS、塞班、VRTX、VxWorks、TinyOS

    开发工具:???

    1.5 嵌入式系统有哪些特点?如何理解某个特点?

    1. 形式多样、面向特定应用
    2. 得到多种类型的处理器和处理器体系结构的支持
    3. 极其关注成本
    4. 有实时性和可靠性的要求
    5. 使用的操作系统一般是适应多种处理器、可裁剪、轻量型、实时可靠、可固化的嵌入式操作系统
    6. 开发需要专门工具和特殊方法

    **1.6 嵌入式系统的分类方法?

    • 按速度分类包含几类嵌入式系统?
      • 强实时
      • 一般实时
      • 弱实时
    • 按确定性(实时性)分类?
      • 硬实时
      • 软实时
      • 非实时
    • 按处理器位数?
      • 4位
      • 8位
      • 16位
      • 32位
      • 64位
    • 按应用分类?
      • 信息家电类
      • 移动终端类
      • 汽车电子类
      • 工业控制类
      • 通信类
    • 按软件结构分类?
      • 循环轮询系统
      • 前后台系统
      • 单处理器多任务系统
      • 多处理器多任务系统
        • 紧耦合系统
        • 松耦合系统

    **1.7 嵌入式系统、实时系统、嵌入式实时系统三者关系

    在这里插入图片描述

    1.8 SoC(片上系统)与处理器的关系?

    SoC = 处理器 + SoC片内外设;

    在这里插入图片描述


    2 嵌入式软件系统基础

    2.1 嵌入式软件系统特点?

    • 规模小、开发难度大
    • 程序一体化
    • 两个平台
    • 快速启动、直接运行
    • 实时性和可靠性要求高

    2.2 嵌入式软件分类?

    • 系统软件:控制、管理计算机系统的资源
      • 嵌入式操作系统
      • 嵌入式中间件(CORBA、Java)
    • 支撑软件:辅助软件开发的工具
      • 系统分析设计工具
      • 仿真开发工具
      • 交叉开发工具
      • 测试工具
      • 配置管理工具
      • 维护工具
    • 应用软件:面向应用领域
      • 手机软件
      • 路由器软件
      • 交换机软件
      • 飞控软件

    2.3 嵌入式系统体系结构?

    • 硬件层
    • 驱动层:板级初始化、flash驱动、RTC/定时器驱动、串口驱动、以太网驱动、LCD驱动、键盘驱动以及其他驱动等;
    • 操作系统层:TCP/IP网络系统、文件系统、内核、电源管理和嵌入式GUI等;
    • 中间件层:嵌入式CORBA、嵌入式Java、嵌入式DCOM、面向应用领域的中间件等;
    • 应用层:应用任务1、应用任务2、应用任务3…

    **2.4 嵌入式软件运行流程?

    分为5个阶段,分别为:

    1. 板级初始化阶段:
      1. CPU中堆栈指针寄存器的初始化;
      2. BSS段的初始化;
      3. CPU芯片级的初始化:中断控制器、内存等的初始化。
    2. 系统引导/升级阶段:
      1. 将系统软件从NOR Flash中读取出来加载到RAM中运行;
      2. 进入系统升级阶段后系统可通过网络进行远程升级或通过串口进行本地升级;远程升级一般支持TFTP、FTP、HTTP等方式;本地升级可通过Console口使用超级终端或特定的升级软件进行;
    3. 系统初始化阶段:在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等;
    4. 应用初始化阶段:在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作;
    5. 多任务应用运行阶段:各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能。

    2.5 嵌入式操作系统的特点?演变的几个阶段?

    • 可固化
    • 可配置、可剪裁
    • 独立的板级支持包,可修改
    • 不同的CPU有不同的版本
    • 应用的开发需要有集成的交叉开发工具

    阶段:

    • 无操作系统阶段
    • 简单操作系统阶段
    • 实时操作系统阶段
    • 面向Internet的阶段

    **2.6 嵌入式操作系统体系结构设计方式及其优势和问题

    • 宏内核(单块结构)

      • 操作系统由多个模块构成
      • 模块之间可相互调用
      • 用户态和核心态两种工作模式
      • 两种执行权限和执行空间
      • 典型代表:Android

      在这里插入图片描述

    • 层次结构

      • 上层不能修改下层的数据
      • N - 1 层为 N 层提供服务
      • 提高操作系统的安全性

      在这里插入图片描述

    • 微内核(C/S模型)结构

      • 微内核只完成任务管理、任务调度、通信等基本功能
      • 其它功能实现为系统任务或进程,运行于用户模式
      • 用户任务通过系统调用发出请求,服务器响应请求,微内核负责完成通信、同步、任务调度等基本功能

      在这里插入图片描述

      • 优势:
        • 提供一致的接口
        • 可扩展性:扩展对新的软件/硬件支持
        • 灵活性:可伸缩
        • 可移植性
        • 支持分布式计算
        • 适用于面向对象操作系统环境
      • 性能问题:
        • 通过微内核构造和发生信息、接受应答并解码所花费的时间比进行一次系统调用的时间多
        • 很大程度取决于微内核的大小和功能

    **2.7 嵌入式操作系统与通用操作系统相比,有哪些特点?嵌入式操作系统的构成?

    • 可固化
    • 可配置、可剪裁
    • 独立的板级支持包,可修改
    • 不同的CPU有不同的版本
    • 应用的开发需要有集成的交叉开发工具
    • 内核不同:
      • 调度策略不同
      • 内存管理不同
      • 嵌入式需解决优先级反转问题
      • 嵌入式实时OS的时间管理可配置、时间精度更高

    嵌入式系统的构成:内核、网络、文件…

    2.8 嵌入式内核的主要模块有哪些?嵌入式TCP/IP的特点?

    • 任务管理:采用基于静态优先级的可抢占调度。
    • 内存管理:不采用虚拟存储管理,而采用静态内存分配和动态内存分配(固定大小和可变大小)相结合。有些内核利用MMU机制提供内存保护。
    • 通信同步和互斥机制:提供任务间、任务与中断处理程序间的通信、同步和互斥。需解决优先级反转问题。
    • 中断管理
    • 时间管理
    • 任务扩展功能

    嵌入式TCP/IP特点:

    • 可裁剪
    • 采用“零拷贝”技术,提高实时性
    • 采用静态分配技术

    2.9 嵌入式开发工具的哪两个特性影响嵌入式系统的开发效率?

    • 集成度
    • 可用性

    2.10 嵌入式软件开发工具的分类?主要的开发工具产品有哪些?

    • 需求分析工具
    • 软件设计工具
    • 编码、调试工具
    • 测试工具
    • 配置管理工具、维护工具

    **2.11 交叉开发环境?宿主机、目标机如何连接?

    交叉开发环境一般包括:

    • 文本编辑器
    • 交叉编译器
    • 交叉调试器
    • 仿真器
    • 下载器

    交叉开发环境由宿主机目标机组成,宿主机目标机之间在物理连接的基础上建立起逻辑连接

    2.12 嵌入式软件的开发过程?

    1. 软件的生成
      1. 源代码程序的编写
      2. 编译成各个目标模块
      3. 链接成可供下载调试或固化的目标程序
    2. 调试
    3. 固化运行

    **2.13 交叉调式方式?与非交叉调试比较,各种方式的调试过程和优缺点?

    • Crash and Burn:最早的嵌入式应用软件调试方法

    • Rom Monitor

      ROM Monitor是被固化运行在目标机上的一段程序,负责监控目标机上被调试程序的运行,与宿主机端的调试器一起完成对应用程序的调试。

      在这里插入图片描述

      ROM Monitor能配合调试器完成:

      • 应用程序映像下载
      • 对目标机系统内存的读写
      • 对寄存器的读写
      • 设置和清除不同类型的断点
      • 单步执行指令
      • 复位系统

      调试过程:

      1. 启动目标机,监控器掌握对目标机的控制,等待和调试器建立连接;
      2. 启动调试器,并和监控器建立起通信连接;
      3. 使用调试器将应用程序下载到目标机上的RAM空间中;
      4. 使用调试器进行调试,发出各种调试命令,监控器解释并执行这些命令,通过目标机上的各种异常来获取对目标机的控制,将命令执行结果回传给调试器;
      5. 如果程序有问题,在调试器的帮助下定位错误;修改之后再重新编译链接并下载程序,开始新的调试,如此反复直至程序正确运行为止;

      优点:

      • 提高调试程序的效率,缩短开发周期,降低成本
      • 简单、方便
      • 可扩展性强,可支持许多高级调试功能
      • 成本低廉,不需专门的调试硬件支持
      • 几乎所有的交叉调试器都支持这种方式

      缺点:

      • Debug Monitor需要用Crash and Burn方法开发
      • 当ROM Monitor占用CPU时,应用程序不响应外部的中断,因此不便调试有时间特性的程序
      • 某些调试功能依赖于CPU硬件的支持
      • ROM Monitor要占用目标机一定数量的资源,如CPU、RAM、ROM和通信设备等资源
      • 调试环境不同于实际目标环境
    • Rom Emulator

    • Rom Emulator

    • In Circuit Emulator

    • On Chip Debugging

      OCD是CPU芯片提供的一种调试功能(片上调试),可以认为是一种廉价的ICE功能:OCD的价格只有ICE的20%,但提供了ICE 80%的功能。

      在这里插入图片描述

      调试方法:

      1. 将CPU的模式分为一般模式调试模式
      2. 一般模式下,CPU从内存读取指令执行
      3. 调试模式下,CPU首先从调试端口读取指令,通过调试端口可以控制CPU进入和退出调试模式;Host端的调试器可以直接向目标机发送要执行的指令,读写目标机的内存和各种寄存器,控制目标程序的运行以及完成各种复杂的调试功能。

      优点:

      • 不占用目标机资源
      • 调试环境和最终的程序运行环境基本一致
      • 支持软硬断点、Trace功能
      • 精确计量程序的执行时间
      • 提供时序分析功能

      缺点:

      • 调试的实时性不如ICE
      • 不支持非干扰调试查询
      • CPU必需具有OCD功能

      主流的实现有 JTAG !!!

    在这里插入图片描述

    2.14 常用的嵌入式软件测试工具包括哪些?

    • 内存分析工具
    • 性能分析工具
    • 覆盖分析工具
    • 缺陷跟踪工具

    3 任务管理与调度

    3.1 嵌入式系统中任务与进程/线程的关系?

    任务通常为进程和线程的统称

    3.2 进程/线程模型?典型操作系统、嵌入式实时内核采用哪种模型?

    • 单进程/单线程模型
    • 单进程/多线程模型:嵌入式实时内核所采用的!
    • 多进程/单线程模型
    • 多进程/多线程模型:一些嵌入式实时操作系统所采用的!

    3.3 嵌入式系统中任务的定义?有哪些特性?任务的内容?任务的上下文环境?

    定义:一个具有独立功能的无限循环的程序段的一次运行活动,是实时内核调度的单位。

    特性:

    • 动态性:任务状态是不断变化的
    • 并发/并行性
    • 异步独立性

    内容:

    • 代码:一段可执行的程序
    • 数据:程序所需要的相关数据
    • 堆栈
    • 程序执行的上下文环境

    **3.4 任务的分类?任务的参数?TCB

    根据到达情况的可预测性,任务分为:

    • 周期任务:每隔一个固定的时间间隔就会执行一次
    • 非周期任务:不固定

    根据重要程度,任务分为:

    • 关键任务
    • 非关键任务

    任务的参数:

    • 优先级
      • 静态优先级
      • 动态优先级
    • 周期
    • 计算时间:任务在特定硬件环境下被完整执行所需要的时间,也被称为是任务的执行时间(execution time)
    • 就绪时间
    • 截止时间:意味着任务需要在该时间到来之前被执行完成;
      • 强截止时间
      • 弱截至时间

    3.5 任务包含哪些基本状态?任务状态变迁图,UCOS任务状态变迁图?

    基本状态:

    • 等待:任务在等待某个事件的发生
    • 就绪:任务等待获得处理器资源
    • 执行:任务获得处理器资源,所包含的代码内容正在被执行

    在这里插入图片描述
    在这里插入图片描述

    3.6 空闲任务?用途?

    • 就绪队列中没有任务运行时就运行空闲任务
    • 空闲任务总是最低优先级
    • 空闲任务不会被删除
    • 由操作系统创建

    3.7 任务切换的基本步骤?什么时候发生任务切换?(任务调度)

    1. 保存任务上下文环境
    2. 更新当前运行任务的控制块内容,将其状态改为就绪或等待状态
    3. 将任务控制块移到相应队列(就绪队列或等待队列)
    4. 选择另一个任务进行执行(调度)
    5. 改变需投入运行任务的控制块内容,将其状态变为运行状态
    6. 恢复需投入运行任务的上下文环境

    在这里插入图片描述

    3.8 就绪的任务的管理?采用队列方式管理TCB对确定最高优先级任务有什么问题?

    对于就绪任务,如果采用队列方式进行管理,在基于优先级的调度处理中,要获得当前具有最高优先级的就绪任务:

    1. 方式一:任务就绪时,把就绪任务的任务控制块放在就绪队列的末尾;
    2. 方式二:就绪队列按照优先级从高到低的顺序排列。

    在这两种处理方式中,所花费的时间与任务数量有密切的关系,具有不确定性。(为提高实时内核的确定性,可采用一种被称为优先级位图的就绪任务处理算法)

    **3.9 ucos的优先级位图定义与算法?

    定义:???

    在这里插入图片描述
    在这里插入图片描述

    PPT中例题:

    在这里插入图片描述

    解:

    1. 8的二进制表示为 00 001 000,其中 001 对应OSRdyGrp的第1位(注意从0位开始),则当前OSRdyGrp的值由0b0000 0000 变为 0b0000 0010;000 对应OSRdyTbl[1]的第0位(注意从0位开始),则当前OSRdyTbl[1]的值由0b0000 0000 变为 0b0000 0001
    2. 27的二进制表示为00 011 011,其中 011 对应OSRdyGrp的第3位(注意从0位开始),则当前OSRdyGrp的值由0b0000 0010 变为 0b0000 1010;011 对应OSRdyTbl[3]的第3位(注意从0位开始),则当前OSRdyTbl[3]的值由0b0000 0000 变为 0b0000 1000
    3. 20的二进制表示为00 010 100,其中 010 对应OSRdyGrp的第2位(注意从0位开始),则当前OSRdyGrp的值由0b0000 1010 变为 0b0000 1110;100 对应OSRdyTbl[2]的第4位(注意从0位开始),则当前OSRdyTbl[2]的值由0b0000 0000 变为 0b0001 0000

    3.10 任务管理提供哪些功能?(API)

    • 创建任务:分配任务控制块
    • 删除任务:把任务从系统中去掉,释放对应的任务控制块
    • 挂起任务:把任务变为等待状态,可通过唤醒任务操作把任务转换为就绪状态
    • 唤醒任务:同上
    • 设置任务属性:设置任务的抢占、时间片等特性
    • 改变任务优先级
    • 获取任务信息:获得任务的当前优先级、任务的属性、任务的名字、任务的上下文、任务的状态等内容,便于用户进行决策

    **3.11 任务调度解决哪三个问题?调度点的位置?调度的作用?操作系统如何实现调度?

    三个问题:

    1. WHAT:按什么原则分配CPU
    2. WHEN:何时分配CPU
    3. HOW: 如何分配CPU

    调度点通常处于以下位置:

    • 中断服务程序的结束位置;
    • 任务因等待资源而处于等待状态;
    • 任务处于就绪状态时等。

    调度的作用:???

    OS如何实现调度:???

    3.12 实时内核的调度强调什么?

    简单

    3.13 设计调度程序需要考虑的因素?

    • 截止时间
    • 响应时间
    • CPU的使用率
    • 输入/输出设备的吞吐率
    • 公平性
    • 确定性

    3.14 第一篇关于实时调度算法的研究论文发表于什么时间?

    1973年

    3.15 离线调度 vs 在线调度?

    根据获得调度信息的时机:

    • 离线调度:运行过程中使用的调度信息在系统运行之前就确定了,如时间驱动的调度;缺乏灵活性
    • 在线调度:调度信息在系统运行过程中动态获得,如优先级驱动的调度(如EDF等);灵活

    3.16 抢占式调度 vs 非抢占式调度?可抢占内核 vs 不可抢占内核?

    抢占式调度和非抢占式调度:任务在运行过程中能否被抢占的处理情况;

    实时内核大都采用了抢占式调度算法,使关键任务能够打断非关键任务的执行,确保关键任务的截止时间能够得到满足。

    内核可抢占与不可抢占:执行内核提供的系统调用的过程中,是否可以被中断打断;

    **3.17 RMS调度?可调度的充分条件?EDF调度?可调度的充要条件?

    **RMS调度:**比率单调调度

    • 静态的固定优先级算法;
    • 任务的优先级与任务的周期表现为单调函数关系,即任务周期越短,任务优先级越高;任务周期越长,任务优先级越低

    在这里插入图片描述

    **注意:**Ci / Pi == CPU使用率

    例题1:

    在这里插入图片描述

    执行顺序:

    在这里插入图片描述

    例题2:

    在这里插入图片描述

    执行顺序:

    在这里插入图片描述

    习题1:

    在这里插入图片描述

    习题2:

    在这里插入图片描述

    **EDF调度:**最早截止时间优先调度

    • 动态调度的,具有更高CPU使用率的算法
    • 任务的优先级根据任务的截止时间来确定,即任务的截止时间越近,任务优先级越高;任务的截止时间越远,任务优先级越低

    在这里插入图片描述

    例题:

    在这里插入图片描述

    执行顺序:

    在这里插入图片描述

    **3.18 什么是优先级反转?怎么产生的?

    优先级反转(priority inversion):高优先级任务需要等待低优先级任务释放资源,而低优先级任务又正在等待中等优先级任务的现象

    **3.19 优先级继承协议的基本思想?优先级天花板协议的基本思想?两种协议在执行效率以及对任务执行流程的对比?

    优先级继承协议的基本思想:

    • 当一个任务阻塞了一个或多个高优先级任务时,该任务将不使用其原来的优先级,而使用被该任务所阻塞的所有任务的最高优先级作为其执行临界区的优先级
    • 当该任务退出临界区时,又恢复到其最初的优先级。

    优先级天花板协议的基本思想:

    • 对于控制临界区的信号量,设置信号量的优先级天花板可能申请该信号量的所有任务中具有最高优先级任务的优先级
    • 如果任务成功获得信号量,任务的优先级将被抬升为信号量的优先级天花板;
    • 任务执行完临界区,释放信号量后,其优先级恢复到其最初的优先级。

    执行效率对比:

    • 优先级继承协议可能多次改变占有某临界资源的任务的优先级,而优先级天花板协议只需改变一次;
    • 从这个角度看,优先级天花板协议的效率高,因为若干次改变占有资源的任务的优先级会引入更多的额外开销,导致任务执行临界区的时间增加。

    任务执行流程的对比:

    • 优先级天花板协议的特点是一旦任务获得某临界资源,其优先级就被抬升到可能的最高程度,不管此后在它使用该资源的时间内是否真的有高优先级任务申请该资源,这样就有可能影响某些中间优先级任务的完成时间;
    • 但在优先级继承协议中,只有当高优先级任务申请已被低优先级任务占有的临界资源这一事实发生时,才抬升低优先级任务的优先级,因此优先级继承协议对任务执行流程的影响相对要较小。

    4 同步、互斥与通信

    4.1 多任务环境下,任务之间和任务与ISR之间的可能关系?

    • 相互独立:仅竞争CPU资源
    • 互斥:竞争除CPU外的其他资源
    • 同步:协调彼此运行的步调,保证协同运行的各个任务具有正确的执行次序
    • 通信:彼此间传递数据或信息,以协同完成某项工作

    4.2 任务与ISR之间的同步关系?

    • **单向同步或通信:**一个任务与另一个任务或一个ISR同步或通信;
    • **双向同步或通信:**两个任务相互同步或通信。双向同步不能在任务与ISR之间进行,因为ISR不能等待。

    在这里插入图片描述

    **4.3 嵌入式操作系统内核提供哪些同步、互斥和通信机制?

    • 互斥:互斥信号量(mutex)
    • 同步:信号量(semaphore)、事件(组)(Flag\event group)、异步信号(asynchronous signal)
    • 消息通信:邮箱(mailbox)、消息队列(message queue)
    • 非结构化数据交换和同步 :管道(pipe)

    4.4 信号量的用途和种类?

    用途:信号量用于实现任务与任务之间、任务与中断处理程序之间的同步与互斥。

    种类:

    • 互斥信号量:用于解决互斥问题。它比较特殊,可能会引起优先级反转问题
    • 二值信号量:用于解决同步问题
    • 计数信号量:用于解决资源计数问题

    **4.5 互斥机制有哪些?各种互斥机制的比较?

    在这里插入图片描述

    4.6 信号量机制的主要数据结构?典型信号量的操作

    在这里插入图片描述

    典型操作:

    • 创建信号量
    • 获取(申请)信号量
    • 释放信号量
    • 删除信号量
    • 清除信号量的任务等待列表
    • 获取有关信号量的各种信息

    4.7 任务间的通信方式?

    • 直接通信
      • 通信双方必须明确知道彼此
      • 每对任务之间仅存在一个链接,链接可以是单向,也可以是双向
    • 间接通信
      • 通信双方不需要指出消息的来源或去向,通过中间机制通信
      • 只有当任务共享一个公共邮箱时链接才建立
      • 一个链接可以与多个任务相联系
      • 每个任务可以使用几个通信链接

    4.8 消息的定义?邮箱与消息队列机制的异同?

    定义:内存空间中一段长度可变的缓冲区,其长度和内容均可以由用户定义,其内容可以是实际的数据、数据块的指针或空。

    异同:

    • 邮箱仅能存放单条消息,它提供了一种低开销的机制来传送信息。每个邮箱可以保存一条大小为若干个字节的消息。
    • 消息队列可存放若干消息,提供了一种任务间缓冲通信的方法。

    4.9 消息队列机制的主要数据结构?

    4.10 典型消息队列的操作?

    • 创建消息队列
    • 发送普通消息
    • 发送紧急消息
    • 发送广播消息
    • 接收消息
    • 删除消息队列
    • 获取有关消息队列的各种信息

    4.11 事件机制的定义、特点、意义?

    定义:在嵌入式实时内核中,事件是指一种表明预先定义的系统事件已经发生的机制。

    特点:

    • 可实现一对多的同步(主要特点)
    • 事件间相互独立
    • 事件仅用于同步,不提供数据传输功能
    • 事件无队列,即多次发送同一事件,在未经过任何处理的情况下,其效果等同于只发送一次

    意义:

    • 当某任务要与多个任务或中断服务同步时,就需要使用事件机制;
    • 若任务需要与一组事件中的任意一个发生同步,可称为独立型同步(逻辑“或”关系);
    • 任务也可以等待若干事件都发生时才同步,称为关联型同步(逻辑“与”关系)。

    4.12 事件机制的实现方式?

    4.13 典型事件操作?

    • 创建事件集:申请空闲事件集控制块,设置事件集属性,初始化控制块中的域,分配ID号
    • 删除事件集
    • 发送事件(集)
    • 接收事件(集)
    • 获取有关事件集的各种信息

    4.14 异步信号的用途?

    用于任务与任务之间、任务与ISR之间的异步操作,它被任务(或ISR)用来通知其它任务某个事件的出现

    4.15 异步信号机制与中断机制的比较?

    • 相同点
      • 具有中断性。对中断的处理和对异步信号的处理都要先暂时地中断当前任务的运行。
      • 有相应的服务程序
        • 根据中断向量,有一段与中断信号对应的服务程序,称为ISR(Interrupt Service Routine)
        • 根据异步信号的编号,有一段与之对应的服务程序,称为ASR(Asynchronious Service Routine)
      • 可以屏蔽其响应
        • 外部硬件中断可以通过相应的寄存器操作被屏蔽
        • 任务也可屏蔽对异步信号的响应
    • 不同点
      • 实质不同
        • 中断由硬件或者特定的指令产生,不受任务调度的控制
        • 异步信号由系统调用(使用发送异步信号功能)产生,受到任务调度的控制
      • 处理时机(或响应时间)不同
        • 中断触发后,硬件根据中断向量找到相应的服务程序执行。在退出中断服务程序之前会进行重调度,所以中断结束后运行的任务不一定是先前被中断的任务。
        • 异步信号通过发送异步信号的系统调用触发,但是系统不一定马上开始对它的处理:
          • 如果接收异步信号的不是当前任务,则ASR要等到接收任务被调度、完成上下文切换后才能执行,之后再执行任务自身的代码。
          • 任务也可以给自己发送异步信号,在这种情况下,其ASR将马上执行。
      • 执行的环境不同
        • 一般地,ISR在独立的上下文中运行,操作系统为之提供专门的堆栈空间。
        • ASR在相关任务的上下文中运行,所以ASR也是任务的一个组成部分。

    4.16 异步信号机制与事件机制的比较?

    同样是标志着某个事件的发生,事件机制的使用是同步的,而异步信号机制是异步的。

    对一个任务来说,什么时候会接收事件是已知的,因为接收事件的功能是它自己在运行过程中调用的。

    任务不能预知何时会收到一个异步信号,并且一旦接收到了异步信号,在允许响应的情况下,它会中断正在运行的代码而去执行异步信号处理程序。


    5 中断、时间、内存管理

    5.1 广义中断包含的中断类型?

    • 中断:异步事件,又称为硬件中断
    • 自陷:同步事件,显式的事件,通过处理器所拥有的软件指令、可预期地使处理器正在执行的程序的执行流程发生变化,以执行特定的程序
    • 异常:同步事件,为CPU自动产生的自陷,以处理异常事件

    5.2 中断的分类?

    • 根据硬件中断是否可以被屏蔽
      • 可屏蔽中断
      • 不可屏蔽中断 :如掉电中断
    • 根据中断源
      • 硬件中断
      • 软件中断:同步中断或是自陷,通过软件指令来实现
    • 根据中断信号的产生
      • 边缘触发中断
      • 电平触发中断
    • 根据中断服务程序的调用方式
      • 向量中断:通过中断向量来调用中断服务程序
      • 直接中断:中断对应的中断服务程序的入口地址是一个固定值,当中断发生的时候,程序执行流程将直接跳转到中断服务程序的入口地址,执行中断服务程序;
      • 间接中断:中断服务程序的入口地址由寄存器提供

    5.3 中断的相关知识点

    • 中断的处理过程

      • 中断检测:在每条指令结束时进行,检测是否有中断请求或是否满足异常条件
      • 中断响应:由处理器内部硬件完成的中断序列,而不是由程序执行的
        • 保存当前程序执行位置和执行状态
        • 屏蔽中断
        • 跳转到ISR
      • 中断处理:执行中断服务程序
    • 系统何时进行中断检测?

      每条指令结束时进行

    • 中断响应应由谁完成?

      处理器内部硬件

    • 中断服务程序的主要内容

      • 保存上下文:保存中断服务程序将要使用的所有寄存器的内容,以便于在退出中断服务程序之前进行恢复;
      • 如果中断向量被多个设备所共享,为了确定产生该中断信号的设备,需要轮询这些设备的中断状态寄存器;
      • 获取中断相关的其他信息;
      • 对中断进行具体的处理;
      • 恢复保存的上下文;
      • 执行中断返回指令,使CPU的控制返回到被中断的程序继续执行。

    5.4 非嵌套中断处理与嵌套处理的区别?

    非嵌套中断处理:处理中断时,将屏蔽所有其他的中断请求

    嵌套中断处理:定义中断优先级,允许高优先级的中断打断低优先级的中断的处理过程;发生中断嵌套时,如果需要进行任务调度,任务的调度将延迟到最外层中断处理结束时才能发生

    **5.5 实时内核的中断服务程序包含哪些部分?用户中断服务程序编写需要注意哪些事项?

    实时内核的中断服务程序通常包括三个方面的内容:

    在这里插入图片描述

    注意事项:

    • 如果处理器或实时内核允许中断嵌套,要求中断服务程序是可重入的
    • 中断服务程序应该尽可能比较
    • 用来配合中断服务程序的另外的任务通常被称为DSR(deferred service routine)
    • 中断服务程序使用内核接口的特殊性
    • 中断服务程序与任务的主要交互机制包括
      • 共享内存
      • 信号量
      • 消息队列
      • 管道
      • 异步信号

    5.6 中断时序图?中断延迟时间与响应时间的关系?

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    中断延迟时间:从中断发生到系统获知中断,并且开始执行中断服务程序所需要的最大滞后时间

    中断响应时间:从中断发生到开始执行用户中断服务程序的第一条指令之间的时间

    中断延迟时间 = 最大关中断时间+硬件开始处理中断到开始执行ISR第一条指令之间的时间

    中断延迟时间与中断响应时间的区别:前者指到中断服务程序的第一条指令;而后者指到用户的中断服务程序的第一条指令

    5.7 抢占式和非抢占式调度内核的中断时序图有何不同?

    5.8 实时内核提供哪些时间管理功能?

    • 设置系统时间:使应用能够设置当前系统的日期和时间
    • 获得系统时间:实时内核可以把相对时间转换为以秒或是毫秒为单位的其它时间格式,并可根据实时时钟(Real Time Clock, RTC)获得日历时间
    • 维护系统时基(ticks)、处理定时事件:通过时钟中断,维持系统日志时间、任务延迟时间、超时、时间片轮转调度等

    **5.9 嵌入式系统的时钟源?实时时钟与系统时钟的概念?两者的关系?

    时钟源:

    • 定时时钟(real time clock,RTC)
    • 定时器 / 计数器

    实时时钟:是硬件时钟,独立于操作系统

    系统时钟:并不是本质意义上的时钟,而是一个定时器/计数器,只有当系统运行起来以后才有效,并且由实时内核完全控制

    两者的关系:一般,实时时钟是系统时钟的时间基准实时内核通过读取实时时钟初始化系统时钟,此后两者保持同步运行,共同维系系统时间

    5.10 实时内核的时间管理以系统时钟为基础,系统时钟如何定义?如何实现?

    系统时钟是由定时器/计数器产生的输出脉冲触发中断而产生的,系统时钟的值一般定义为整数或长整数

    **5.11 tick 的定义?tick的时间长度是固定值吗?

    时基(ticks):每次定时器/计数器输出脉冲都触发一个时钟中断,一次中断表示一个tick,也被称做一个“时钟滴答”

    tick所对应的具体时间长度是可以调整的(初始化定时器时设定);

    5.12 实时内核提供哪些时间管理相关的功能?

    • 维持相对时间(时间单位为tick)和日历时间;
    • 任务有限等待的计时;
    • 定时功能;
    • 时间片轮转调度的计时。

    5.13 tick处理程序与时间中断处理程序的关系?tick处理程序需要处理哪些事务?

    关系:定时器发生中断后,执行系统时钟中断处理程序,并在中断处理程序中调用tick处理程序,实现系统中与时间和定时相关的操作;

    tick处理程序:

    • 相对时间处理
    • 任务时间片处理
    • 时间等待链处理
    • 软件定时器处理
    • 日历时间处理
    • 任务调度处理

    **5.14 时间等待链(差分时间链)的定义与组织方式?采用差分时间链的优点?

    定义:

    组织方式:单链表形式

    在这里插入图片描述

    优点:一种有效的时间等待对象的组织方式,能有效降低时间等待对象的管理开销;

    **5.15 嵌入式实时内核内存管理的特点?

    • 快速而确定的内存管理
      • 小型的嵌入式系统中不使用内存管理
      • 通常的操作系统都至少具有基本的内存管理方法
    • 不使用虚拟存储技术:以避免页面置换所带来的开销
    • 内存保护

    5.16 内存的分配方式?静态与动态分配的定义?两种方式的优缺点?

    两种分配方式:静态分配和动态分配。

    • 静态分配:发生在编译和链接时,全局变量和静态变量;开始运行就分配,运行结束才释放。
    • 动态分配:发生在程序调入和执行时,局部变量和返回值等;需要时分配,使用完就可以释放。

    优缺点:静态分配简单,但必须事先预知分配的数量(代码大小、数据大小),且缺乏灵活性;动态分配灵活,但会消耗额外的时间和内存开销,可能产生内存碎片。

    5.17 常用内存管理方式?固定大小存储区、可变大小存储区,各自的管理方式和优缺点

    常用内存管理方式:固定大小存储区、可变大小存储区

    • 固定大小存储区:
      • 管理方式:如果内存块处于空闲状态,将使用内存块中的几个字节作为控制结构,用来存放用于双向链接的前向指针和后向指针
      • 优点:
        • 系统开销对用户的影响为零
        • 由于内存块的大小固定,不存在外碎片的问题
      • 缺点:存在内碎片的问题
    • 可变大小存储区:
      • 管理方式:基于堆的(与传统堆操作不同),空闲段通过双向链表链接起来,形成一个空闲段链
      • 优点:
      • 缺点:

    5.18 ucos ii的内存管理方式?

    固定大小存储区,对一个分区块而言,分区大小是固定的;支持多个分区,每个分区大小可以不一样

    5.19 如何实现内存保护?

    • 防止地址越界(通过限长寄存器
    • 防止操作越权(根据内存页面的特权信息

    **5.20 MMU的全称?MMU的功能?

    全称:内存管理单元(memory management unit)

    功能:

    • 内存映射
    • 检查逻辑地址是否在限定的地址范围内,防止页面地址越界;
    • 检查对内存页面的访问是否违背特权信息,防止越权操作内存页面;
    • 在必要的时候(页面地址越界或是页面操作越权)产生异常

    **5.21 MMU有几级使用方式?每级使用方式的特点?每级使用方式的应用情况?

    4级。

    • 0级,内存的平面使用模式

      • 采用该模式的系统比较简单、性能也比较高,适合于程序简单、代码量小和实时性要求比较高的领域
      • 大多数传统的嵌入式操作系统都采用该模式
    • 1级,处理具有MMU和内存缓存的嵌入式处理器

      • 通常只是打开MMU,并通过创建一个域的方式来使用内存,并对每次内存访问执行一些必要的地址转换操作
      • 该模式仍然只是拥有MMU打开特性的平面内存模式
    • 2级,内存保护模式

      • MMU被打开,且创建了静态的域以保护应用和操作系统在指针试图访问其他程序的地址空间时不会被非法操作
      • 通常使用消息传送机制实现数据在被MMU保护起来的各个域之间的移动
    • 3级,虚拟内存使用模式

      • 通过操作系统使用CPU提供的内存映射机制,内存页被动态地分配、释放或是重新分配
      • 从内存映射到基于磁盘的虚拟内存页的过程是透明的

    应用情况:

    • 0级:大多数传统嵌入式实时操作系统的使用模式,不能实现内存的保护功能
    • 1级:不能实现内存的保护功能
    • 2级:目前大多数嵌入式实时操作系统所采用的内存管理模式,既能实现内存保护功能,又能通过静态域的使用方式保证系统的实时特性
    • 3级:适合于应用比较复杂、程序量比较大,并不要求实时性的应用领域

    5.22 MMU提供哪些措施实现内存保护?

    • 防止地址越界(通过限长寄存器
      一样

    5.19 如何实现内存保护?

    • 防止地址越界(通过限长寄存器
    • 防止操作越权(根据内存页面的特权信息

    **5.20 MMU的全称?MMU的功能?

    全称:内存管理单元(memory management unit)

    功能:

    • 内存映射
    • 检查逻辑地址是否在限定的地址范围内,防止页面地址越界;
    • 检查对内存页面的访问是否违背特权信息,防止越权操作内存页面;
    • 在必要的时候(页面地址越界或是页面操作越权)产生异常

    **5.21 MMU有几级使用方式?每级使用方式的特点?每级使用方式的应用情况?

    4级。

    • 0级,内存的平面使用模式

      • 采用该模式的系统比较简单、性能也比较高,适合于程序简单、代码量小和实时性要求比较高的领域
      • 大多数传统的嵌入式操作系统都采用该模式
    • 1级,处理具有MMU和内存缓存的嵌入式处理器

      • 通常只是打开MMU,并通过创建一个域的方式来使用内存,并对每次内存访问执行一些必要的地址转换操作
      • 该模式仍然只是拥有MMU打开特性的平面内存模式
    • 2级,内存保护模式

      • MMU被打开,且创建了静态的域以保护应用和操作系统在指针试图访问其他程序的地址空间时不会被非法操作
      • 通常使用消息传送机制实现数据在被MMU保护起来的各个域之间的移动
    • 3级,虚拟内存使用模式

      • 通过操作系统使用CPU提供的内存映射机制,内存页被动态地分配、释放或是重新分配
      • 从内存映射到基于磁盘的虚拟内存页的过程是透明的

    应用情况:

    • 0级:大多数传统嵌入式实时操作系统的使用模式,不能实现内存的保护功能
    • 1级:不能实现内存的保护功能
    • 2级:目前大多数嵌入式实时操作系统所采用的内存管理模式,既能实现内存保护功能,又能通过静态域的使用方式保证系统的实时特性
    • 3级:适合于应用比较复杂、程序量比较大,并不要求实时性的应用领域

    5.22 MMU提供哪些措施实现内存保护?

    • 防止地址越界(通过限长寄存器
    • 防止操作越权(根据内存页面的特权信息
    展开全文
  • 《地理信息系统概论》课后习题全部答案_黄杏元

    千次阅读 多人点赞 2020-08-14 18:11:56
    第一章 地理信息系统导论 1、什么是地理信息系统(GIS)?它与一般计算机应用系统有哪些异同点? 答:地理信息系统:是由计算机硬件、软件和不同的方法...(1)GIS与机助制图系统:机助制图是地理信息系统主要技.
  • 信息系统分析与设计课程心得

    万次阅读 2017-02-28 13:41:39
    信息系统分析与设计课程心得此博客为信息系统分析与设计课程的学习心得记录。一、绪论1概念1.1信息要了解信息系统,首先要了解信息的概念。信息是我们理解世界的重要概念,我对它的定义是:信息是对客观事物及其相互...
  • OpenSSL简介在Windows、Linux、Mac系统上的编译步骤
  • 信息系统项目管理师学习笔记

    千次阅读 多人点赞 2019-03-30 14:34:08
    信息系统项目管理师学习笔记 信息化从小到大分为以下5个层次: 产品信息化、企业信息化、产业信息化、国民经济信息化、社会生活信息化 国家信息化体系包括6要素: 1、信息技术应用 2、信息资源 3、信息网络 4、信息...
  • 2011年上半年 信息系统项目管理师 上午试卷 (考试时间 9 : 00~11 : 30 共 150 分钟) 1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规 2B 铅笔在你写入的准考证号下填涂准考证号。 2. 本试卷的...
  • 管理信息系统复习总结(保姆级)

    万次阅读 多人点赞 2021-01-01 14:19:37
    第一章 当今全球商业中的信息系统 管理信息系统的新变化:①技术(云计算、大数据与物联网、移动数字化平台) ②管理(在线合作与社会化网络软件、商务智能、虚拟会议)③组织(社会化商务、远程办公、商业价值的共创...
  • 对于一个大数据应用项目/产品的落地,可以大致总结为五大步骤阶段: 数据规划、数据治理、数据应用、迭代实施、商业价值。 第一阶段:数据规划 一个成功的大数据项目,需要有一个良好的开端,即做好数据规划阶段的...
  • 构建知识体系(3):建立体系6个步骤

    千次阅读 2020-05-07 16:47:20
    建立个人知识体系的第一步是,学会提问。 你要建立什么样的知识体系?你想达到什么样的目的和效果?你关注了哪些领域?你对哪些方面比较感兴趣呢?比如时间管理,阅读,写作,手绘,美食,健身,心理咨询……你要...
  • 智慧工厂应用系统建设方案

    千次阅读 2020-08-17 15:00:44
     (4)通过企业信息系统的完善,逐步建立两化深度融合的“数字化智能工厂”。 1.2智能工厂整体设计理念 基于“绿色、智能”的建设理念,按照《国家智能制造标准体系建设指南》的建设思路与目标,同时借鉴德国“工业...
  • 信息系统项目管理师知识要点

    千次阅读 2015-12-05 14:43:04
    信息系统项目管理考试要点
  • 信息系统基础知识---信息系统概述

    千次阅读 2018-11-26 15:20:13
    信息系统是一个由人、... 信息系统包含三大要素,分别是系统的观点、数学的方法和计算机应用。而它又不同于一般的计算机应用,它能够充分利用数据资源为企业经营管理服务;它能够利用信息和模型辅助企业决策,...
  • 信息系统项目管理师教程(第3版)

    千次阅读 2018-03-09 15:18:38
    图书简介本书是全国计算机技术与软件专业技术资格(水平)考试办公室组织编写的考试指定用书,本书根据2017年出版的《信息系统项目管理师考试大纲...,对信息系统项目管理师岗位所要求的主要知识及应用技术进行了阐述...
  • 应用系统适配迁移方案

    千次阅读 2021-01-14 08:36:24
    2、为了不影响用户正常使用应用系统处理工作,因此本次应用适配与迁移按照“双轨并行、试点突破、符合实际、有效验证”的战略要求,“双轨并行”路线主要是不对实际的业务处理结果产生实质性影响,保证混合环境运行...
  • 2016年上半年 信息系统管理工程师 上午试卷 (考试时间 9 : 00~11 : 30 共 150 分钟) 1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规 2B 铅笔在你写入的准考证号下填涂准考证号。 2. 本试卷的...
  • 2010年上半年 信息系统项目管理师 上午试卷 (考试时间 9 : 00~11 : 30 共 150 分钟) 1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规 2B 铅笔在你写入的准考证号下填涂准考证号。 2. 本试卷的...
  • 概念结构设计---步骤二3.1 E-R 模型3.2 建立 E-R 模型4.逻辑结构设计---步骤三4.1 E-R 模型向关系模式的转换4.2 关系模式的优化4.3 设计用户子模式5.物理结构设计---步骤四5.1 确定数据库的物理结构5.2 物理结构进行...
  • 任务是建立软件系统的总体结构和模块间的关系 详细设计 方法 结构化设计方法 面向对象设计方法 面向数据设计方法 原则 设计应与软件需求保持一致,涉及到软件结构应支持模块化、信息隐藏、抽象和逐步...
  • 2015年下半年 信息系统项目管理师 上午试卷 (考试时间 9 : 00~11 : 30 共 150 分钟) 1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规 2B 铅笔在你写入的准考证号下填涂准考证号。 2. 本试卷的...
  • 2013年上半年 信息系统项目管理师 上午试卷 (考试时间 9 : 00~11 : 30 共 150 分钟) 1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规 2B 铅笔在你写入的准考证号下填涂准考证号。 2. 本试卷的...
  • 2013年下半年 信息系统项目管理师 上午试卷 (考试时间 9 : 00~11 : 30 共 150 分钟) 1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规 2B 铅笔在你写入的准考证号下填涂准考证号。 2. 本试卷的...
  • 第三章 信息系统集成专业基础知识 1.信息系统生命周期有哪几个过程 分四个阶段:产生,开发,运行和消亡阶段。 2.信息系统开发的方法有哪几种,各适用于什么情况的项目系统开发的方法有六种:结构化方法,快速原型...
  • 管理信息系统的实施

    千次阅读 2008-05-19 14:00:00
    管理信息系统的实施提要:管理信息系统的实施是将系统设计的结果付诸实践,建立计算机硬件环境和系统软件环境,编写和调试计算机程序,组织系统测试和各类人员的培训,完成系统的切换并最终交付使用.从管理信息系统的生命...
  • 管理信息系统(MIS)期末复习参考指南

    千次阅读 2019-12-03 16:28:11
    网络设计…… 信息系统实施、运行、维护 系统实施成功的主要因素 (1)管理因素 (2)技术因素 数据整理与规范化 软硬件网络环境的建设 开发技术的选择和使用 程序设计原则: (1)可维护性 (2)可靠性 ...
  • Windows系统及应用技巧二十六篇

    万次阅读 2006-08-25 11:55:00
     四:如何防范恶意网站 五:win2000/xp忘记密码的方法 六:Windows XP 自带小工具 七:windows中有关网络的几命令 八:了解你的windows目录和系统文件 九:低级格式化的主要作用 十:封杀
  • 1. 篇首语 业务系统是任何一个用户产品的必须组成,充当着一...在应用发展初期或者规模不大的情况下,有非常简单的实现方案,LNMP、JSP、PyWeb都是你能随口说出来的词,如果用某种架构方式来描述,那就可以称做单体

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,737
精华内容 32,294
关键字:

信息系统建立的主要步骤及应用原则