精华内容
下载资源
问答
  • 嵌入式系统设计师教程笔记

    千次阅读 多人点赞 2019-04-02 21:54:51
    为了备考2019年嵌入式系统设计师,同时更关键的是为了补齐一些嵌入式方面的基础知识,做如下笔记,持续记录: 1.嵌入式系统基础知识 (1) 嵌入式系统组成 嵌入式系统是:以应用为中心,以计算机技术为基础,软...

    为了备考2019年嵌入式系统设计师,同时更关键的是为了补齐一些嵌入式方面的基础知识,将09年至17年考过的考点总结了一下:(当下已经考完了,上午卷有很多没总结到的考点,下午基本都是送分题,除了最后一道单链表还需要思考,其余答案都可以在题目中找到

    上午卷

    (1) 软件能力成熟模型(CMM)(2017/2016/2014/2012/2010/2009)

    规定了软件研制和软件测试中的主要软件管理过程和工程过程的实践,由低到高分为五个等级:初始级、可重复级、已定义级、已管理级和优化级,每个等级又被分解成几个关键过程域,共18个关键过程域;
    初始级:没有关键过程域;
    可重复级:需求管理、软件项目计划、软件项目跟踪与监控、软件项目策划、软件需求管理;
    **已定义级:**同行评审 、组间协调、软件产品工程、集成软件管理、培训大纲、组织过程定义、组织过程集点;
    **已管理级:**软件质量管理、定量过程管理;
    优化级:过程更改管理、技术改革管理、缺陷预防;

    (2)网络传输(Every year)

    因为TCP/IP协议范围过于宽泛,且每年会出5题在这方面,所以分小类讲;
    1) 常用网络互联设备
    互连设备 工作层次 主要功能
    中继器 物理层 对接收信号进行再生和发送,只起到扩展传输距离的作用,对高层协议是透明的,但使用个数有限。
    集线器 物理层 多端口的中继器
    网桥 数据链路层 根据帧物理地址进行网络之间的信息转发,可缓解网络通信繁忙度,提高效率。
    二层交换机 数据链路层 指传统的交换机,多端口网桥。
    三层交换机 网络层 带路由功能的二层交换机。
    路由器 网络层 通过逻辑地址进行网络之间的信息转发,可完成异构网络之前的互联互通,只能连接使用相同网络协议的子网。
    多层交换机 高层 带协议转换的交换机。
    网关 高层 最复杂的网络互连设备,用户连接网络层以上执行不同协议的子网。

    (3)IP地址

    A类网络:第一字节的第一位必须是0(0~128),子网掩码:255.0.0.0;
    B类网络:第一字节的前2位必须是10(128~192),子网掩码:255.255.0.0;
    C类网络:第一字节的前2位必须是110(192~255),子网掩码:255.255.255.0;
    主机路由器的子网掩码是255.255.255.255;

    特殊的
    ① IP地址后面斜杠加具体数字
    xx.xx.xx.2/24 —>表示一个ip地址xx.xx.xx.2,24告诉了这个ip地址所对应的子网掩码。
    xx.xx.xx.0/24 —>表示一个网段,并且24告诉了当前具体的子网掩码。
    ② 某些特殊的IP地址
    127.0.0.1是本地回送地址,当网络不可用时,为了测试编写好的网络程序;

    (4) TCP/IP协议

    其中考的比较多的是TCP、UDP、DNS、SNMP、SMTP和POP3这几个协议;
    ① POP3协议:POP3采用C/S模式进行通讯(即Client/Server),POP3需要TCP连接的支持,是基于TCP协议的应用层协议,使用110号端口
    ② SMTP协议:SMTP负责邮件发送,POP负责邮件接收,是基于TCP协议的应用层协议,使用25号端口
    ③ DNS协议:命令ipconfig/flushdns用于清理并重设DNS客户解析器缓存的内容;
    ④ SNMP协议:简单网络管理协议(SNMP)被封装为UDP并在IP协议中封装和传输,配置SNMP服务器需要管理员或者administrater
    ⑤ TCP协议:较为复杂,采用3次握手建立连接,4次挥手断开连接,传输过程中实现可靠传输、流量控制以及拥塞控制,用于可靠性要求高的应用;
    ⑥ TCP的流量控制采用了可变大小的滑动窗口协议
    ⑦ UDP协议:是一个简单的面向数据包的传输层协议,而UDP对应的则是可靠性要求低、传输经济(开销小)的应用;
    ⑧ 在ASP的内置对象中,response对象可以修改Cookie中的值
    ⑨ DHCP协议:DHCP封包在传输层( Transport Layer)是采用UDP协议,DHCP客户端可从DHCP服务器获得
    本机IP地址,DNS服务器的地址,DHCP服务器的地址
    ,默认网关的地址;
    ⑩ ICMP协议:用于在IP主机、路由器之间传递控制消息,属于网络层协议,封装在IP数据报中,是IP的一个组成部分;
    ⑪ PPP认证:链路层协议,PPP中的安全认证协议有PAP和CHAP两种,前者提供了一种简单的两次握手认证方法,不太安全,后者采取三次握手周期地验证对方身份;
    Ping命令用于检查网络是否连通;
    ⑬ 两个IPV6结点通过隧道技术通过IPV4网络进行通信,纯IPV6与纯IPV4结点通过翻译技术进行通信;
    ⑭ HTTP协议:
    标题:title,< HR >代表一条横直线,< B >代表加粗,< I >代表斜体;
    GET命令用于读取一页网页,HEAD读取网页头信息,POST用于把消息加到指定的网页上;
    HTTPS基于SSL安全协议进行加密,其默认端口为443

    (5) 网络攻击和网络安全(Every year except 2009)

    1) 网络攻击分为主动攻击和被动攻击,主动攻击会导致某些数据流的篡改和虚假数据流的产生,这类攻击可分为篡改、伪造消息数据和终端(拒绝服务);被动攻击中攻击者不对数据信息做任何修改,截取/窃听是指在未经用户同意和认可的情况下攻击者获得了信息或相关数据。通常包括窃听、流量分析、破解弱加密的数据流、嗅探、嗅探等攻击方式;
    其中拒绝服务(DOS)攻击,目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击,DDoS是分布式拒绝服务的英文缩写,常见的DOS攻击有SYN Flood攻击、UDP、Ping洪水攻击、teardrop攻击等;
    2) 入侵检测技术:包括专家系统、模型检测、简单匹配;
    3) 防火墙功能:入侵检测功能、网络地址转换功能、网络操作的审计监控功能、强化网络安全服务,通常不包括查毒、漏洞扫描等功能;
    4) 系统安全措施:漏洞发现与补丁管理;
    5) DMZ:DMZ 区可以理解为一个不同于外网或内网的特殊网络区域,DMZ 内通常放置一些不含机密信息的公用服务器,比如 WEB 服务器、E-Mail 服务器、FTP 服务器等;
    6) 计算机病毒分类:主要有木马病毒、蠕虫病毒、系统病毒、脚本病毒等,木马病毒有冰河、灰鸽子、蜜蜂大盗、PassCopy和黑蜘蛛侠;蠕虫病毒有红色代码、爱宠病毒、熊猫烧香等;
    7) 安全协议中SSL与TLS类似;
    8) 公钥体系:公钥体系(PKI)中,私钥用于解密和签名、公钥用于加密和认证;
    9) 常用加密算法:分为对称加密算法、非对称加密算法和Hash算法;对称加密算法主要有:DES、3DES和AES;非对称加密算法有:RSA、ECC、DSA等;Hash算法代表MD5;ECC、DSA和RSA属于公开加密算法,DES属于私钥加密算法;

    (6)软件开发方法

    1) 结构化开发方法(SD):按软件生命周期划分,有结构化分析(SA),结构化设计(SD)和结构化实现(SP);
    其中数据流图(DFD)是结构化分析的一个重要模型:在分层数据流图中,遵循:
    ① 数据守恒:每个加工必须既有输入数据流,又有输出数据流;
    ② 加工守恒:每条数据流的起点或终点必须是加工,加工需要有一个加工规格说明,描述把输入数据流变换为输出数据流的加工规则,但不需要具体实现流程;
    ③ 必须保持子图和父图的平衡;
    与数据流图对应的是数据字典: 对数据流图中出现的全部被命名的图形元素在数据字典中作为一个词条加以定义,使每一个图形元素的名称都有一个确切的解释;
    2) 面向对象开发方法(OOD):对象是基本的运行时实体,
    类是在对象之上的抽象;
    消息是对象之间进行通信的一种规格说明;
    继承:子类会继承父类的某些特点,并在其他方面更具体化;
    封装:逻辑上相关的数据以及行为绑定在一起,并使信息对使用者隐蔽;
    多态:指由继承而产生的相关的不同的类,其对象对同一消息会做出不同的响应;
    抽象:简化复杂的现实问题的途径,它可以为具体问题找到最恰当的类定义,并且可以在最恰当的继承级别解释问题;
    常用的面向对象开发方法有Booch方法、Coad方法和OMT方法;
    3) 敏捷方法:基于快速迭代的思想,主要有水晶法,认为,每个项目都需要有一套不同的策略、约定和方法论;并列争球法:把每30天一次的迭代视为一个周期,并按需求的优先级实现产品多个小组并行;
    4) 原型法:针对需求不清晰且系统规模不大的项目;
    5) 内聚性:内聚性,又称块内联系,指模块的功能强度的度量,类型有偶然(巧合)内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚和功能内聚;(2014年有解释);划分模块时的原则是:一个模块的作用范围应该在其控制范围之内;
    6) 软件项目计划安排有两种常见的工具:甘特图和PERT图,甘特图可以清楚地表示任务的持续时间和并行情况,但不能清晰描述任务之间的依赖关系,PERT则反之;PERT图关键路径是消耗时长最长的那条路;而某条任务可延迟的最长时间是关键路径长度-通过该任务的最长路径长度;
    7) 常见软件开发模型:

    (7)专利权、著作权、商标权等等(Every year)

    1) 专利权:从功能角度进行保护;同时申请,协商,协商不成,同时驳回;
    计算机算法、游戏的规则和方法不能够取得专利权;
    2) 著作权:从软件作品角度保护;
    受他人委托开发的软件,且无书面协议,属于受委托者;
    软件著作权自软件产生之日起自动产生,无需登记注册;
    教师在课堂上的讲课属于著作权;
    在特定条件下,法律允许他人自由使用享有著作权的作品,叫做合理使用权;
    3) 商标权:从商品、商誉角度保护;
    商标权的保护期限为十年,若有效期满可以延长;
    中国商标权的获得必须履行商标注册程序,而且实行申请在先原则,同时申请,使用在先的获得注册,若同时使用或均未使用,协商,协商不成,抽签决定;
    4) 商业秘密权:秘密存在,权利即存在,从技术信息,经营信息等不为人所知角度保护;
    5) 发表权:一次性权利,发表权行使一次,不再享有发表权;
    6) 单纯以计算机程序为主题的发明创造是不能获得专利权的,但是通过予以运行用于控制生产过程的程序或者算法可以收到专利权的保护;
    7) 独家许可使用权,软件著作者可以使用,独占许可使用,软件著作者不可以使用;

    (8)存储器类型(Every year)

    1)主要存储器的分类及特点:

    2)磁盘工作方式介绍:硬盘读取数据时,读写磁头沿径向移动,移到要读取的扇区所在磁道的上方,这段时间称为寻道时间,与磁头起始位置与目标位置之间距离有关;磁头到达指定磁道后,然后通过盘片的旋转,使得要读取的扇区转到读写磁头的下方,这段时间称为旋转延迟时间;
    单次IO时间 = 寻道时间 + 旋转延迟 + 传送时间(读写数据块时间);
    3)计算SRAM芯片引出线的最小数目:地址线数目+数据位数目+片选线+读写控制线+电源线;
    4)RAM:断电将丢失其存储内容,RAM主要分为SRAM、DRAM和SDRAM;
    SRAM:无需刷新电路,数据不会丢失,用于CPU内部的一级缓存或者二级缓存,容量较小;
    DRAM:每隔一段时间就需要刷新电路,才能保存数据,容量较SRAM大,但读写速度相对慢;
    SDRAM:属于DRAM,数据的读写需要时钟同步;SDRAM为32位宽,外围设备地址线A0必须和SDRAM控制器的A2地址线相连;
    ROM:可编程只读存储器,断电存储内容不丢失;
    PROM:只能写一次,写错就报废;
    EPROM:可重复擦写,受到紫外线照射会清除数据,需要专用的写入工具;
    EEPROM:个人电脑中的电压即可以擦写和变成,可以以字节为单位进行访问和修改;
    FLASH:广义上的EEPROM,以块为单位进行访问和擦写,写操作只能将数据位从1变成0,写入之前需要擦写,分为NOR FLASH、NAND FLASH;
    NOR FLASH:数据线和地址线分开,可以实现ram一样的随机寻址功能,可以读取任何一个字节,但是擦除仍要按块来擦,擦写之前所有位置0;
    NAND FLASH:数据线和地址线复用,按块来擦除,按页来读,读取速度比nor flash慢一点,但是擦除和写入速度比nor flash快很多。nand flash内部电路更简单,因此数据密度大,体积小,成本也低。因此大容量的flash都是nand型的。小容量的2~12M的flash多是nor型的;最重要的,NAND FLASH不能直接运行运行内存;
    5)虚拟存储器调度方式有:页式、段氏、段页式三种:
    页式:逻辑和物理地址都分成固定大小;
    段氏:按照程序的逻辑划分地址空间;
    段页式:物理空间分为页,程序中按模块分段;

    (9)常见通讯协议(2017)

    1) 常见串行总线有RS232/RS422/RS485、I2C、SPI、IEEE94、USB、CAN;
    常见并行总线有ISA、PCI、VME;
    新一代高速串行总线有SATA、PCIE、IEEE 1394、RapidIO、USB3.0、AFDX、FC;
    2)RS232采取不平衡传输方式,即所谓单端通讯,适合本地设备之间的通信,最少3根数据线(接收线、发送线和信号地),通讯距离短(十米左右,与波特率相关);
    RS422采用差分信号进行通信(所以不需要信号地),采用单独的链路,最少4根数据线(TX+、TX-、RX+、RX-),通讯距离可达千米;
    RS485也采用差分信号进行通信,但收发使用相同链路,故最少2根数据线(TR+、TR-),通讯距离同RS232,真正实现多点结构总线的是RS485;
    3)IEEE1394分为两种传输方式:Backplane模式和Cable模式。Backplane模式最小的速率也比USB 1.1最高速率高,分别为12.5 Mbps 、25 Mbps、50 Mbps,可以用于多数的高带宽应用。Cable模式是速度非常快的模式,分为100 Mbps、200 Mbps和400 Mbps几种,这三种速率在标准中也称为S100、S200和S400;
    IEEE 1394具有64位寻址空间;
    EEE 1394B是1394A向下兼容的扩展、1394总线B最多支持64个结点地址,但只支持63个物理结点;
    IEEE 1394通讯协议包含事务层、链路层和物理层;
    4) 帧中继、DNN和X.25特点;
    5) Burst传输:多个数据单元当做一个单元(相当一个数据块)来传送,开头给一个首址;
    6) ARINC429总线是一种单向广播式的串行总线,只允许有一个发送设备和最多20个的接收设备;
    7) 同步通信技术要求双方具有同频同相的同步时钟,对于字符间的时序没有要求;
    8) 菊花链:串行仲裁;

    (10)DMA(2017/2016/2015)

    1) DMA控制器里面包含地址寄存器、状态寄存器、控制寄存器、字节寄存器;工作过程如下:
    ① 向CPU申请DMA传送;
    ② CPU允许后,DMA获得系统总线的控制权;
    ③ 在DMA控制器的控制下,主存和外部设备之间直接交换数据,传送过程当中不需要CPU的参与;
    ④ 传送结束后。向CPU返回DMA操作完成的信号;
    2) DMA请求的检测点设置是在每个机器周期,即总线周期结束时执行;

    (11)嵌入式系统需要记忆的知识点:

    1) 锁相环(PLL)不仅可以对输入时钟倍频,还可以改变输出时钟相位;
    2) 微内核可以支持多处理机运行,适用于分布式系统环境;
    3) P操作:申请资源,S信号量-1;V操作,释放资源,S信号量+1;
    4) 调试可使用串口或者网络;
    5) 看门狗的作用是防止程序跑飞或死锁,看门狗的定时走起大于软件的运行周期;
    6) 在数据上尽量使用C语言的数据类型,不利于系统移植;
    7) 响应时间、吞吐量、生存时间是衡量嵌入式系统的三个指标,其中生存时间是指数据有效等待时间、这段时间内数据是有效的;
    8) 带热备份的系统称为双重系统,工作时,两个子系统同步运行,当联机系统错误时,备份系统直接顶替上;

    (12)PCB布局和焊接

    1)遵循先复杂后简单原则,即先布局复杂器件,后布局外围简单器件,布线时核心器件和高速信号优先;
    2)减少信号辐射方法:电源和地级中间加电容,减少线长,增加线宽,在有脉冲电流的引线上串联小磁珠;

    (13)处理器体系结构

    1)CISC(复杂指令集计算机)、RISC(精简指令集计算机):
    2) MIPS(指令执行速度,单位百万次/s),用于描述计算机的定点运算速度,=1/kt(k:执行基本指令所需周期,t:机器周期微妙);
    3)指令系统中,程序控制指令用于改变程序执行的顺序;
    4)DSP芯片采用改进的哈佛结构,特点是程序和数据具有独立的存储空间,支持流水线操作,具有在单周期内操作的多个硬件地址产生器;
    5)流水线技术:

    流水线存在数据冒险、结构冒险和控制冒险三种冒险,数据冒险是指令上游结果未获得导致指令失败的现象,结构冒险是指硬件资源缺乏导致指令失败的现象,控制冒险是指指令不是所需要的导致指令失败的现象;
    6)Cache一般有3种地址映射方式:全相联映射、直接相联映射和组相联映射;
    直接映射:命中率低,利用率低,速度快;
    全相联映射:利用率高、方式灵活,使用成本高,速度慢;
    组相联映射:两者之间;
    7)内存与I/O统一编址,是靠不同地址来区分的;
    8)三总线结构计算机,总线结构包括数据、地址和控制总线;
    9)冯诺依曼计算机区分数据和指令:指令周期的不同阶段;

    (14)系统开发与维护

    1)常见软件开发模型:

    2) 软件需求分析:
    软件需求分析的任务是确定软件系统的功能、性能、接口等要求,分析软件系统的数据要求;输入是软件研制任务书,输出需求规格说明书;可用数据流图来分析数据运行情况,用结构化语言、判定表与判定树来描述数据流变换,用数据字典来定义元素;
    3) 软件测试:
    按照级别可分为单元测试、部件测试、配置项测试、系统测试;
    按照是否执行分为静态测试和动态测试:动态测试有功能确认与接口测试、覆盖率分析、性能分析、内存分析,静态测试有代码检查、静态结构分析和代码质量度量等;
    按照测试用例的设计方法分为黑盒测试和白盒测试:黑盒测试又称功能测试,白盒测试注重过程和结构;
    4) 项目质量保证人员在项目初期策划质量保证活动,贯穿整个项目生命期,给质量的持续改进过程提供保证;
    5) 基于模型的软件设计通常是以不确定方向进行迭代的;
    6) 软件的健壮性:在意外的扰动情况下,系统维持可接受水平的服务的能力;
    7) 软件可靠性与系统的输入和输出也有关;
    8) 软件项目开发采取开发库、受控库和产品库,三库物理隔离的策略:
    开发库存放开发过程中确定的文档合集;
    受控库中存放在软件开发过程中达到相对稳定、可以作为后续开发活动输入的软件工作产品;
    产品库中存放受控库中各阶段基线对应的文档、源程序和可执行代码;
    9) 基线:一组经过证实验证、确认,并可作为后续工作开展依据的产品,分为功能基线、分配基线和产品基线:
    功能基线:系统分析与软件定义阶段结束时产生;
    分配基线:需求分析阶段结束时产生;
    产品基线:综合测试阶段结束时产生;
    10) 软件的内部质量属性和外部质量属性可划分为:功能性、可靠性、易用性、效率、维护性、可移植性;
    11) Jackson设计方法是一种面向数据结构的软件设计方法;

    (15)文件相关知识点

    1)C语言文件读写方式:

    3) 文件系统:文件控制块(FCB)是文件系统中的唯一标志,它包括文件的标志信息、文件名、类型等,文件目录是文件控制块的有序集合;
    4) 段页式存储管理:
    5) 文件系统中,open命令的功能是将待访问文件的目录信息读入内存活动文件表中,建立用户和文件的联系;
    6) 大端存储指高位数据保存在内存的低地址(与人类习惯类似),小端存储反之;
    (15)逻辑电路
    1)组合逻辑电路与电路过去状态无关,时序逻辑电路与电路过去状态有关;
    2)时序逻辑电路的状态主要由存储电路来记忆和表示,触发器是构成时序逻辑电路的基本元件,时序逻辑电路还分为同步和异步,其差别在于各触发器的状态变化是否是同时发生的;
    3)某移位型计数器中移位寄存器触发器级数为n,则组成的环形计数器和扭型计数器的进位模数分别为n和2n;
    4)FPGA/CPLD在进行逻辑电路设计时,一般使用HDL(硬件描述语言)进行输入设计,综合后的结果是电路级的网表文件;
    5)TTL电路和CMOS电路
    ①TTL电路是电流控制器件,而coms电路是电压控制器件。
    ②TTL电路的速度快,传输延迟时间短(5-10ns),但是功耗大。
    COMS电路的速度慢,传输延迟时间长(25–50ns),但功耗低。
    COMS电路本身的功耗与输入信号的脉冲频率有关,频率越高,芯片集越热,这是正常现象。
    ③COMS电路的锁定效应:
    COMS电路由于输入太大的电流,内部的电流急剧增大,除非切断电源,电流一直在增大。这种效应就是锁定效应

    (16)汇编语言相关

    1)寻址方式:
    2)
    (*)无法归类的小知识点
    1)浮点数的计算:包含阶符、阶码、数符、尾数,阶码的位数决定浮点数能表示的数的范围,尾数决定浮点数的精度;
    2)数据库:数据一致性指的是同一数据的多个副本之间没有矛盾,完全一致;
    3)算法时间复杂度:算法执行过程中所需要的基本运算次数;
    4)高响应比优先算法综合考虑了进程的等待时间和执行时间;
    5)TLB:旁路转换缓冲;
    6)龙芯指令系统兼容MIPS指令集;

    下午卷:

    1)程序组成:

    一个程序本质上都是由 bss段、data段、text段三个组成的:
    bss段 -存放程序中未初始化的全局变量;
    data段-存放程序中已初始化的全局变量和常量;
    text段-存放程序执行代码;
    堆-存放进程运行中动态分配的内存段;
    栈-又称堆栈,是用户存放程序临时创建的局部变量;

    2)RapidIO逻辑层协议:

    逻辑层定义了操作协议和相应的包格式。RapidIO支持的逻辑层业务主要是:直接IO/DMA和消息传递。
    直接IO/DMA模式是最简单实用的传输方式,其前提是主设备知道被访问端的存储器映射。在这种模式下,主设备可以直接读写从设备的存储器。直接IO/DMA在被访问端的功能往往完全由硬件实现,所以被访问的器件不会有任何软件负担。
    消息传递模式则类似于以太网的传输方式,它不要求主设备知道被访问设备的存储器状况。数据在被访问设备中的位置则由邮箱号(类似于以太网协议中的端口号)确定。从设备根据接收到的包的邮箱号把数据保存到对应的缓冲区,这一过程往往无法完全由硬件实现,而需要软件协助,所以会带来一些软件负担。

    3)中断处理流程:

    ① 关中断:进入不可再次响应中断状态;
    ② 保存断点:当前程序计数器(PC)中的内容;
    ③ 识别中断源;
    ④ 保护现场和屏蔽字;
    ⑤ 设置新的屏蔽字;
    ⑥ 开中断:允许优先级更高的中断打断;
    ⑦ 执行中断服务程序主体;
    ⑧ 关中断:保证回复现场和屏蔽字时不被打断;
    ⑨ 恢复现场和屏蔽字;
    ⑩ 开中断;
    ⑪ 中断返回,回复断点;

    4)通讯协议详解:

    1)RS232采取不平衡传输方式,即所谓单端通讯,支持全双工通讯,适合本地设备之间的通信,最少3根数据线(接收线、发送线和信号地),通讯距离短(十米左右,与波特率相关);
    2)RS422采用差分信号进行通信(所以不需要信号地),采用单独的链路,最少4根数据线(TX+、TX-、RX+、RX-),通讯距离可达千米;
    3)RS485也采用差分信号进行通信,但收发使用相同链路,故最少2根数据线(TR+、TR-),RS485可以实现一对多半双工通信,传输距离可达千米以上;
    4)SPI是单主设备,IIC是多主设备,但是IIC总线上,不可以有多个相同IIC地址的设备;
    5)SPI是一种环形总线结构;
    6)IIC数据传输速率有标准模式(100kbps)、快速模式(400kbps)和高速模式(3.4Mbps);
    7)PCI总线:是由PCISIG推出的一种局部并行总线标准,
    PCI总线的基本传输机制是猝发式传输;
    PCI设备可以在主从设备之间转换,但某一时刻只能是主设备或者从设备;
    PCI总线有三种桥:HOST/PCI桥、PCI/PCI桥、PCI/LEGACY桥,对应的PCI总线中有三类设备,PCI主设备、PCI从设备和桥设备;
    PCI设备识别主要是对开发商代码和设备代码进行识别,从而实现即插即用;
    PCI桥可以实现不同总线之间地址空间映射;
    访问配置空间时,PCI桥应提供IDSEL信号以选择PCI设备;

    5)测试的基本概念

    ① 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求,依靠需求规格说明中的功能设计规格;
    ② 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查,基于软件源代码。
    ③ 灰盒测试:是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态;
    ④ 测试策略:对所有的测试而言,都必须进行正常测试和异常测试;
    ⑤ 测试内容:由题目得出;
    ⑥ 缺陷探测率(DDP)= 测试发现的软件问题/软件总的发现问题;

    6) 覆盖率测试(属于白盒测试)

    7) 预编译的一些概念

    条件编译:出于对程序代码优化的考虑.希望只对其中一部分内容进行编译.此时就需要在程序中加上条件,让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,这就是条件编译;

    8)运算符优先级

    对于优先级,有一个普遍的规律:
    算数运算符>关系运算符>逻辑运算符>赋值运算符。逻辑运算符中的 “逻辑非!”除外;

    9)圈复杂度计算

    圈复杂度是一种代码复杂度的衡量标准。它可以用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,计算方法有:
    ① 没有流程图:基数为1,碰到以下项加一:if、for、while和do while的分支数,switch中的case语句数;
    ② 给定流程图:V(G)=P+1,P是流程图中结点判定结点数量;

    10)变量存储类型

    总共有四种存储类型的变量,分别为自动变量(auto)、静态变量(static)、外部变量(extern)以及寄存器变量(register);
    从生存期看:
    自动变量:随着函数的进栈和出栈而创建和销毁,存储在动态存储区;
    静态变量:长期存在静态存储区,直到程序结束,存储在静态存储区;
    外部变量:长期存在静态存储区,直到程序结束,存储在静态存储区;
    寄存器变量:离开函数值就会消失,保存在寄存器中;

    11)信息安全措施

    ① 对称密钥:又叫专用密钥加密或共享密钥加密,即加密算法的加密密钥与解密密钥相同,对称密钥加密算法主要包括:DES、3DES、AES、IDEA、RC5、RC6等;
    ② 非对称密钥:非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密,加密和解密使用的是两个不同的密钥,非对称加密算法主要包括:RSA、PGP、DSA(椭圆曲线DSA)、ECC、Elgamal、背包算法、Rabin、D-H等等;
    ③ 访问控制:意指用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用;
    ④ 消息鉴别:利用消息鉴别函数产生鉴别符,接受者通过鉴别符鉴别消息的合法性、真实性和完整性;

    12)TCP/IP协议以及网络连接过程

    13)信号量

    ① 临界资源:各进程采取互斥的方式,实现共享的资源称作临界资源;访问临界资源的那段代码称为临界区;
    ②P操作的主要动作是:S减1;若S减1后仍大于或等于0,则进程继续执行; 若S减1后小于0,则该进程被阻塞后放入等待该信号量的等待队列中,然后转进程调度;
    V操作的主要动作是:S加1;若相加后结果大于0,则进程继续执行;若相加后结果小于或等于0,则从该信号的等待队列中释放一个等待进程,然后再返回原进程继续执行或转进程调度。

    展开全文
  • 软件项目管理系统-采购商品管理-三权分立

    软件项目管理系统-采购商品管理-三权分立

    展开全文
  • 在前两篇文章中,不少朋友对我的设计...这个系统是我在思考以前所做系统的权限管理部分中找到的一 些共性而想到的一个设计方案,当然还会有不少设计不到位的地方,在设计开发过程中会慢慢改进,这个系统权当学习只用
    在前两篇文章中,不少朋友对我的设计提出了异议,认为过于复杂,当然在实际的各种系统的权限管理模块中,并不像这里设计得那么复杂,我以前所做的系统中, 由只有用户和权限的,有只有用户、权限和角色的,还有一个系统用到了用户、权限、角色、组概念,这个系统是我在思考以前所做系统的权限管理部分中找到的一 些共性而想到的一个设计方案,当然还会有不少设计不到位的地方,在设计开发过程中会慢慢改进,这个系统权当学习只用,各位朋友的好的建议我都会考虑到设计 中,感谢各位朋友的支持。
    
        今天抽时间整了一份概念设计出来,还有一些地方尚未考虑清楚,贴出1.0版,希望各位朋友提出宝贵建议。
        大家也可以点击此处 《通用权限管理概要设计说明书》自行下载,这是1.0版本,有些地方可能还会进行部分修改,有兴趣的朋友请关注我的blog。
         

    1.      引言

    1.1 编写目的

    本文档对通用权限管理系统的总体设计、接口设计、界面总体设计、数据结构设计、系统出错处理设计以及系统安全数据进行了说明。

    1.2 背景

    a、 软件系统的名称:通用权限管理系统;

    b、 任务提出者、开发者:谢星星;

    c、 J2EEweb系统中需要使用权限管理的系统。

    1.3 术语

    本系统:通用权限管理系统;

    SSH:英文全称是Secure Shell

    1.4 预期读者与阅读建议

    预期读者

    阅读重点

    开发人员

    总体设计、接口设计、数据结构设计、界面总体设计、系统出错处理设计

    设计人员

    总体设计、接口设计、数据结构设计、系统安全设计

    1.5 参考资料

    《通用权限管理系统需求规格说明书》

    《通用权限管理系统数据库设计说明书》

    2.      总体设计

    2.1 设计目标

    权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新对系统的权限进行设计,以满足不同系统用户的需求,将会浪费我们不少宝贵时间,所以花时间来设计一个相对通用的权限系统是很有意义的。

    本系统的设计目标是对应用系统的所有资源进行权限控制,比如应用系统的功能菜单、各个界面的按钮控件等进行权限的操控。

    2.2 运行环境

    操作系统:Windows系统操作系统和Linux系列操作系统。

    2.3 网络结构

     通用权限管理系统可采用Java Swing实现,可以在桌面应用和Web应用系统中进行调用。如果需要要适应所有开发语言,可以将其API发布到WEB Service上。暂时用Java Swing实现。

    2.4 总体设计思路和处理流程

    在说明总体设计思路前,我们先说明本系统的相关概念:

    1. 权限资源

    系统的所有权限信息。权限具有上下级关系,是一个树状的结构。下面来看一个例子

    系统管理

            用户管理

                   查看用户

                   新增用户

                   修改用户

                   删除用户

    对于上面的每个权限,又存在两种情况,一个是只是可访问,另一种是可授权,例如对于“查看用户”这个权限,如果用户只被授予“可访问”,那么他就不能将他所具有的这个权限分配给其他人。

    2. 用户

    应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,可属于0~n个组。他的权限集是自身具有的权限、所属的各角色具有的权限、所属的各组具有的权限的合集。它与权限、角色、组之间的关系都是n对n的关系。

    3. 角色

    为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,例如系统管理员、管理员、用户、访客等角色。角色具有上下级关系,可以形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。父级角色的用户、父级角色的组同理可推。

    4.

    为 了更好地管理用户,对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。在实际情况中,我们知道,组也可以具有自己的角色信息、 权限信息。这让我想到我们的QQ用户群,一个群可以有多个用户,一个用户也可以加入多个群。每个群具有自己的权限信息。例如查看群共享。QQ群也可以具有 自己的角色信息,例如普通群、高级群等。

    针对如上提出的四种对象,我们可以整理得出它们之间的关系图,如下所示:


    总体设计思路是将系统分为组权限管理、角色权限管理、用户权限管理、组织管理和操作日志管理五部分。

    其中组权限管理包括包含用户、所属角色、组权限资源和组总权限资源四部分,某个组的权限信息可用公式表示:组权限 = 所属角色的权限合集 + 组自身的权限。

    角色权限管理包括包含用户、包含组和角色权限三部分,某个角色的权限的计算公式为:角色权限 = 角色自身权限。

    用户权限管理包括所属角色、所属组、用户权限、用户总权限资源和组织管理五部分。某个用户总的权限信息存在如下计算公式:用户权限 = 所属角色权限合集 + 所属组权限合集 + 用户自身权限。

    组织管理即对用户所属的组织进行管理,组织以树形结构展示,组织管理具有组织的增、删、改、查功能。

    操作日志管理用于管理本系统的操作日志。

    注意:因为组和角色都具有上下级关系,所以下级的组或角色的权限只能在自己的直属上级的权限中选择,下级的组或者角色的总的权限都不能大于直属上级的总权限。

    2.5 模块结构设计

    本系统的具有的功能模块结构如下图所示:

    2.6 尚未解决的问题

    无。

    3.      接口设计(暂略)

    3.1 用户接口(暂略)

    3.2 外部接口(暂略)

    3.3 内部接口(暂略)

    4.      界面总体设计

    本节将阐述用户界面的实现,在此之前对页面元素做如下约定:

    序号

    页面元素

    约定

    1

    按钮

    未选中时:[按钮名称]

    选中时:[按钮名称]

    2

    单选框

    ○ 选项

    3

    复选框

    □ 选项

    4

    下拉框

     [选项,…,] ▽

    5

    文本框

     |________|

    6

    TextArea

     |…………|

    7

    页签

    未选中时:选项名称

     选中时:选项名称

    8

    未选中链接

    链接文字

    9

    选中链接

    链接文字

    10

    说明信息

    说明信息

     

    4.1 组权限管理

    4.1.1包含用户

    组信息

       组1

           组11

           组12

           组…

       组2

           组21

           组22

           组…

     

    所选择组:组1

    [包含用户] [所属角色] [组权限] [总权限]

    [修改]

    用户名   姓名     手机号   最近登录时间 登录次数

    阿蜜果 谢星星 13666666666 2007-10-8    66

    sterning xxx    13555555555 2007-10-8    10 

    ……

    当用户选择“修改”按钮时,弹出用户列表,操作人可以通过勾选或取消勾选来修改该组所包含的用户。

    4.1.2所属角色

    组信息

       组1

           组11

           组12

           组…

       组2

           组21

           组22

           组…

     

    所选择组:组1

    [包含用户] [所属角色] [组权限] [总权限]

    [修改]

    角色ID   角色名称   角色描述

    1          访客       --

       2         初级用户    --

      

    当用户选择“修改”按钮时,弹出角色树形结构,操作人可以通过勾选或取消勾选来修改该组所属的角色。

    4.1.3组权限

    组信息

       组1

           组11

           组12

           组…

       组2

           组21

           组22

           组…

     

    所选择组:组1

    [包含用户] [所属角色] [组权限] [总权限]


                    [
    保存] [取消]

    4.1.4总权限

    组信息

       组1

           组11

           组12

           组…

       组2

           组21

           组22

           组…

     

    所选择组:组1

    [包含用户] [所属角色] [组权限] [总权限]


                    [
    保存] [取消]

    通过对已具有的权限取消勾选,或为某权限添加勾选,来修改组的权限信息,点击“保存”按钮保存修改信息。

    4.1.5组管理

           在下图中,选中组1的时候,右键点击可弹出组的操作列表,包括添加、删除和修改按钮,从而完成在该组下添加子组,删除该组以及修改该组的功能。

    组信息

       组1

           组11

           组12

           组…

       组2

           组21

           组22

           组…

     

    所选择组:组1

    [包含用户] [所属角色] [组权限] [总权限]

    [修改]

    用户名   姓名     手机号   最近登录时间 登录次数

    阿蜜果 谢星星 13666666666 2007-10-8    66

    sterning xxx    13555555555 2007-10-8    10 

    ……

    4.2 角色权限管理

    4.2.1包含用户

    角色信息

       角色1

           角色11

           角色12

           角色…

       角色2

           角色21

           角色22

           角色…

     

    所选择角色:角色1

    [包含用户] [包含组] [角色权限]

    [修改]

    用户名   姓名     手机号   最近登录时间 登录次数

    阿蜜果 谢星星 13666666666 2007-10-8    66

    sterning xxx    13555555555 2007-10-8    10 

    ……

    当用户选择“修改”按钮时,弹出用户列表,操作人可以通过勾选或取消勾选来修改该角色所包含的用户。

    4.2.2包含组

    角色信息

       角色1

           角色11

           角色12

           角色…

       角色2

           角色21

           角色22

           角色…

     

    所选择角色:角色1

    [包含用户] [包含组] [角色权限]

    [修改]

    组ID   组名称     组描述

    1      xxx1       --

    2       xxx2        -- 

    ……

    当用户选择“修改”按钮时,弹出用户列表,操作人可以通过勾选或取消勾选来修改该角色所包含的组。

    4.2.3角色权限

    角色信息

       角色1

           角色11

           角色12

           角色…

       角色2

           角色21

           角色22

           角色…

     

    所选择角色:角色1

    [包含用户] [包含组] [角色权限]

                     
                   [
    保存] [取消]

    通过对已具有的权限取消勾选,或为某权限添加勾选,来修改角色的权限信息,点击“保存”按钮保存修改信息。

    4.2.4管理角色

           在下图中,选中组1的时候,右键点击可弹出组的操作列表,包括添加、删除和修改按钮,从而完成在该组下添加子组,删除该组以及修改该组的功能。

    角色信息

       角色1

           角色11

           角色12

           角色…

       角色2

           角色21

           角色22

           角色…

     

    所选择角色:角色1

    [包含用户] [包含组] [角色权限]

    [修改]

    用户名   姓名     手机号   最近登录时间 登录次数

    阿蜜果 谢星星 13666666666 2007-10-8    66

    sterning xxx    13555555555 2007-10-8    10 

    ……

    4.3 用户权限管理

    4.3.1所属角色

    用户权限信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

    [修改]

    角色ID   角色名称   角色描述

    1          访客       --

       2         初级用户    --

    当用户选择“修改”按钮时,弹出角色树形结构,操作人可以通过勾选或取消勾选来修改该用户所属的角色。

    4.3.2所属组

    用户信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

    [修改]

    组ID   组名称     组描述

    1       组1         --

       2       组2         --

    当用户选择“修改”按钮时,弹出组的树形结构,操作人可以通过勾选或取消勾选来修改该用户所属的组。

    4.3.3用户权限

    用户信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

                     
                    [
    保存] [取消]

    通过对已具有的权限取消勾选,或为某权限添加勾选,来修改用户的权限信息,点击“保存”按钮保存修改信息。

    4.3.4总权限

    用户信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

                     
                    [
    保存] [取消]

    通过对已具有的权限取消勾选,或为某权限添加勾选,来修改用户的权限信息,点击“保存”按钮保存修改信息。

    4.3.5用户管理

           当选择了某用户时,点击右键,弹出菜单列表:修改、删除、取消,点击修改和删除按钮可以实现用户的删除和修改功能。

           选择某个组织,例如下表中的“广州分公司”,弹出菜单列表:添加子组织、删除组织、修改组织、添加用户、取消,点击添加用户按钮可以实现用户的添加功能。

    用户权限信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

    [修改]

    角色ID   角色名称   角色描述

    1          访客       --

       2         初级用户    --

    4.3.6组织管理

           选择某个组织,例如下表中的“广州分公司”,弹出菜单列表:添加子组织、删除组织、修改组织、添加用户、取消,点击添加子组织、删除组织、修改组织按钮可以实现组织的添加、删除和修改功能。

    用户权限信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

    [修改]

    角色ID   角色名称   角色描述

    1          访客       --

       2         初级用户    --

    4.4 操作日志管理

    4.4.1查询操作日志

    操作名称:|________|  操作人:|________|

    操作时间从 |________| 到 |________| [查询] [重置] [删除]

    编号    操作名称    操作内容    操作人    操作时间

    1        xx1         --        Amigo    2007-10-8

    2        xx2         --        xxyy     2007-10-8

    输入上图表单中的查询信息后,点击“查询”按钮,可查询出符合条件的信息。

    4.4.2删除操作日志

    操作名称:|________| 操作人:|________|

    操作时间从 |________| 到 |________| [查询] [重置] [删除]

    编号    操作名称    操作内容    操作人    操作时间

    1        xx1       --           Amigo      2007-10-8

    2        xx2       --           xxyy       2007-10-8

    输入上图表单中的查询信息后,点击“查询”按钮,可查询出符合条件的信息。而后点击“删除”按钮,可删除符合查询条件的操作日志。

    5.      数据结构设计

    数据库设计的模型请参见《通用权限管理系统_数据库模型.pdm》。表的说明请参见《通用权限管理系统数据库设计说明书》。

    5.1 设计原则

    5.1.1命名的规范

    数据库中表、主键、外键、索引的命名都以统一的规则,采用大小写敏感的形式,各种对象命名长度不要超过30个字符,这样便于应用系统适应不同的数据库平台。

    5.1.2数据的一致性和完整性

    为了保证数据库的一致性和完整性,往往通过表间关联的方式来尽可能的降低数据的冗余。表间关联是一种强制性措施,建立后,对父表(Parent Table)和子表(Child Table)的插入、更新、删除操作均要占用系统的开销。如果数据冗余低,数据的完整性容易得到保证,但增加了表间连接查询的操作,为了提高系统的响应时间,合理的数据冗余也是必要的。使用规则(Rule)和约束(Check)来防止系统操作人员误输入造成数据的错误是设计人员的另一种常用手段,但是,不必要的规则和约束也会占用系统的不必要开销,需要注意的是,约束对数据的有效性验证要比规则快。所有这些,需要在设计阶段应根据系统操作的类型、频度加以均衡考虑。

    5.2 数据库环境说明

    数据库:MySql5.0

    设计库建模工具:PowerDesigner12.0

    5.3 数据库命名规则

    表名以T开头,外键以FK开头,索引以INDEX开头。

    5.4 逻辑结构

    pdm文件的名称为:《通用权限管理系统_数据库模型》。

    5.5 物理存储

    通过数据库建模工具PowerDesigner12可以将pdm导出为文本文件,将数据库脚本放入文本文件中保存。

    5.6 数据备份和恢复

    数据库需定期备份(每天备份一次),备份文件格式为backup_yyyyMMdd,数据库被破坏时,利用最新的备份文件进行恢复。

    6.      系统出错处理设计

    6.1 出错信息

    错误分类

    子项及其编码

    错误名称

    错误代码

    备注

    数据库错误

    连接

    连接超时

    100001001

     

    连接断开

    100001002

     

    数据库本身错误代码

    数据库本身错误代码

    100002+数据库错误代码

     

    TCP连接错误

    连接

    连接超时

    101001001

     

    连接断开

    101001002

     

    其它TCP连接错误(socket自身错误代码)

     

    101002+ socket错误代码

     

    配置信息错误

    未配置输入参数

     

    102001

     

    未配置输出参数

     

    102002

     

    组管理部分自定义错误

      

    103001——103999

     

    角色管理部分自定义错误

      

    104001——104999

     

    用户管理部分自定义错误

      

    105001——105999

     

    操作日志管理

      

    106001——106999

     

    6.2 补救措施

    为了当某些故障发生时,对系统进行及时的补救,提供如下补救措施:

    a.后备技术   定期对数据库信息进行备份(每天一次),当数据库因某种原因被破坏时,以最新的数据库脚本进行恢复;。

    7.      系统安全设计

    7.1 数据传输安全性设计

    SSH可以通过将联机的封包加密的技术进行资料的传递; 使用SSH可以把传输的所有数据进行加密,即使有人截获到数据也无法得到有用的信息。同时数据经过压缩,大大地加快了传输的速度。通过SSH的使用,可以确保资料传输比较安全并且传输效率较高。

    7.2 应用系统安全性设计

    操作人的操作信息需要提供操作记录。对系统的异常信息需进行记录,已备以后查看。只有授权用户才能登录系统,对于某个操作,需要具有相应权限才能进行操作。

    7.3 数据存储安全性设计           

    对于用户的密码等敏感信息采用MD5进行加密。

     
    展开全文
  • 操作系统课程设计

    千次阅读 2020-06-05 13:23:36
    操作系统课程设计汇总 来源:网络收集 这次海轰选择是题目二,感觉有点难,得费一点时间 其他的题目以后有时间可以尝试一下 再不写C++,就快凉了 题目一:支持多个进程(线程)并发运行的简单进程(线程)管理模拟...

    操作系统课程设计汇总
    来源:网络收集
    这次海轰选择是题目二,感觉有点难,得费一点时间
    其他的题目以后有时间可以尝试一下
    再不写C++,就快凉了

    题目一:支持多个进程(线程)并发运行的简单进程(线程)管理模拟系统

    1.实验内容
            学习进程管理的设计与实现,学习和运用操作系统原理,设计一个操作系统子系统的模拟系统。通过该系统的设计调试可增加对操作系统实现的感知性。设计一个允许n个进程并发运行的进程管理的模拟系统。该系统包括简单的进程控制、同步及通信机构,其进程调度算法可任意选择。分析系统所需的数据结构、算法的流程以及划分各个功能模块。
    2.实验原理
            进程管理包括进程的创建、控制、阻塞、唤醒与撤消。进程在运行过程中状态在不断的变化。进程运行过程中,因为竞争资源而需对它们进行同步控制。所有这些在操作系统中用数据结构PCB来记录,系统通过PCB控制进程的运行。
            在单处理机系统中,多道程序的引入,需要进程的调度程序来选择一个进程进行运行。比如常用的先来先服务、短进程优和优先级优先等等,也可以选择它们的结合调度算法。

    题目二:文件系统设计

    1、实验内容
            通过一个简单的二级文件系统设计,加深对文件系统的内部功能以及内部实现的理解。要求模拟采用二级目录结构的磁盘文件系统的文件操作能实现以下几条命令,用输入命令来模拟用户程序中调用的文件操作:

    • Login 用户登录
    • Dir 列文件目录(列出文件名、物理地址、保护码和文件长度)
    • Create 创建文件
    • Delete 删除文件
    • Open 打开文件
    • Close 关闭文件
    • Read 读文件
    • Write 写文件
    • 源文件可以进行读写保护

    2、实验原理
            文件系统管理中用到的数据结构有:

    1. 首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。
    2. 用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2…并以编号作为物理地址,在目录中进行登记。

    题目三:模拟请求分页存储系统

    具体要求:
            模拟仿真请求分页调度算法OPT、FIFO、LRU、CLOCK等模拟页面调度算法,并提供性能比较分析功能。通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解。通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。

    题目四:磁盘调度算法

    具体要求:编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度,

    1. 先来先服务算法(FCFS)
    2. 最短寻道时间优先算法(SSTF)
    3. 扫描算法(SCAN)
    4. 循环扫描算法(CSCAN)

    题目五:编程序模拟银行家算法,要求能体现算法的全过程。

    实验内容:
            m个并发进程,P1,P2,……PM;他们共享n类资源,通过银行家算法在资源分配前检测是否安全,在安全的前提下进行分配,避免死锁的产生。
    具体要求:

    1. 实现银行家算法,能判断系统的安全状态,避免系统死锁。
    2. 能显示每个进程的当前分配状况,能显示系统空闲的资源数量。
    3. 能输入或自动产生资源请求,并利用银行家算法进行分配。

    题目六:进程通信

    具体要求:

    1. 进程的创建和控制
    2. 进程的软中断通信
    3. 进程的管道通信

    题目七:读者-写者问题

    具体要求:
            使用多线程和信号量机制实现经典的读者写者问题,每个线程代表一个读者或一个写者。每个线程按照相应测试数据文件的要求进行读写操作。请用信号量机制分别实现读者优先和写者优先的读者-写者问题。

    题目八:SPOOLing假脱机输入输出模拟

    具体要求:
            设计一个SP00LING输出进程和两个请求输出的用户进程,以及一个SP00LING输出服务程序。当请求输出的用户进程希望输出一系列信息时,调用输出服务程序,由输出服务程序将该信息送入输出井。待遇到一个输出结束标志时,表示进程该次的输出文件输出结束。之后,申请一个输出请求块(用来记录请求输出的用户进程的名字、信息在输出井中的位置、要输出信息的长度等),等待SP00LING进程进行输出。

    题目九:基于静态优先权和响应比的进程管理系统的设计

    要求:

    1. 设计一个完整的进程调度系统,系统中至少包括5个进程;
    2. 定义PCB,在PCB中定义进程的初始优先权(用整数表示);
    3. 采用链表管理就绪队列;
    4. 结果要能够显示出进程的调度序列及初始优先权、响应比等必要信息
    5. 设计的输入数据要能体现算法的思想

    题目十:基于多级反馈队列的进程管理系统的设计

    要求:

    1. 设计三级队列,每一队列至少三个进程;
    2. 定义PCB
    3. 为每一队列设置不同的时间片,后一队列通常是前一队列的2倍,依次类推
    4. 采用链表管理就绪队列;
    5. 结果要能够显示出进程的调度过程

    题目十一:基于固定分区分配的存储器管理系统的设计

    要求:

    1. 建立一张分区说明表;
    2. 至少提供4个作业;
    3. 模拟作业的分配过程;
    4. 模拟作业的回收过程
    5. 能够显示每一次分配和回收的结果

    题目十二:基于首次适应算法的存储器管理系统的设计

    要求:

    • (1)建立一张空闲分区链;
    • (2)至少提供4个作业;
    • (3)模拟作业的分配过程;
    • (4)模拟作业的回收过程(4种回收情况,考虑空间合并)
    • (5)能够显示每一次分配和回收的结果

    题目十三:基于循环首次适应算法的存储器管理系统的设计

    要求:

    • (1)建立一张空闲分区链;
    • (2)至少提供4个作业;
    • (3)模拟作业的分配过程;
    • (4)模拟作业的回收过程(4种回收情况,考虑空间合并)
    • (5)能够显示每一次分配和回收的结果

    题目十四:基于最佳适应算法的存储器管理系统的设计

    要求:

    • (1)建立一张空闲分区链;
    • (2)至少提供4个作业;
    • (3)模拟作业的分配过程;
    • (4)模拟作业的回收过程(4种回收情况,考虑空间合并)
    • (5)能够显示每一次分配和回收的结果

    题目十五:基于最坏(差)适应算法的存储器管理系统的设计

    要求:

    • (1)建立一张空闲分区链;
    • (2)至少提供4个作业;
    • (3)模拟作业的分配过程;
    • (4)模拟作业的回收过程(4种回收情况,考虑空间合并)
    • (5)能够显示每一次分配和回收的结果

    题目十六:基本分页存储管理系统的设计

    要求:

    • (1)建立页表;
    • (2)设计地址变换机构;
    • (3)将变换后的结果显示出来。

    题目十七:基本分段存储管理系统的设计

    要求:

    • (1)建立段表;
    • (2)设计地址变换机构;
    • (3)将变换后的结果显示出来。

    题目十八:基于二级文件目录的文件管理系统设计

    要求:

    • (1)实现建立文件、打开文件、关闭文件、撤消文件;
    • (2)建立相应的数据结构;

    题目十九:基于多级文件目录的文件管理系统设计

    要求:

    • (1)实现建立文件、打开文件、读文件、写文件;
    • (2)建立相应的数据结构

    题目二十:请求分页存储管理系统的设计

    要求:

    • (1)从置换算法中任选2种;
    • (2)建立页表;
    • (3)设计的输入数据要能体现算法的思想
    • (4)事先假定分配的物理块是空闲的;
    • (5)求出各置换算法中的缺页次数和置换次数

    题目二十一:模拟实现一个简单的shell

    要求

    • ①实现一条内部命令完成将某文件内包含指定字符串的行复制形成一个新文件的功能
    • ②实现一条外部命令

    题目二十二:操作系统整体设计

    要求:
            设计一个小型的操作系统,重点关注接口处的设计,主要包括打开文件(文件管理)、为文件分配内存(存储管理,选择任意的内存分配方法)和进程调度(处理机管理,选择任意的调度算法),至少3个进程。

    题目二十三:哲学家进餐问题

    要求:
            建立相应的数据结构,编程实现哲学家进餐的过程。

    题目二十四:linux任务管理器

    要求:
            实现一个linux任务管理器界面操作 可查看当前系统进程并且可以简单的管理进程

    题目二十五:文件加密系统

    要求:

    • 1.采用置换或对称算法对文件进行加密和解密(如凯撒,RSA等等)。
    • 2.加密后文件的大小不变,采用界面设计模拟出一个简单的系统
    • 3.解密时输入解密密钥,完成对密文进行解密。
    展开全文
  • saas平台由于其本身“按需购买”的特性,在设计规划限时,需要考虑统一配置权限如何规避企业没有购买的应用,以及如有部分应用存在数据权限不同的问题。现在,本文简单总结一下当前saas模式下权限的几种设计方式。...
  • 鉴权中心系统设计

    千次阅读 2018-03-23 19:54:23
    鉴权中心系统设计转至元数据结尾转至元数据起始一、现有业务流程由于和钱相关的事件(借入、贷出、赚利差、转帐、扫码付款等)都需要前置校验,目前已有的鉴权方式有如下几项:拒绝操作短信交易密码(类型有:只有...
  • 2011年下半年11月份系统架构设计师上午试题答案之 试题一:著作 2007年上半年系统分析师上午试题12 ●甲公司的程序员在不影响本职工作的条件下,在乙公司兼职并利用其兼职单位的物质技术条件开发了一套应用...
  • 消息系统设计与实现

    万次阅读 2016-07-18 17:05:50
    欢迎关注公众号: ----------------------------------------------正文-------------...消息系统设计与实现 文/JC_Huang(简书作者) 原文链接:http://www.jianshu.com/p/f4d7827821f1 著作归作者所有,转...
  • 让程序开发也来个三权分立

    千次阅读 热门讨论 2005-07-18 21:12:00
    让程序开发也来个三权分立我想说的是,这里是三权分立,不是指政治体制里面的立法、行政、司法,而是指程序开发中的系统设计、系统开发、系统测试。在这里,系统设计有点类似于立法,系统开发有点类似于行政,而系统...
  • 嵌入式系统设计

    千次阅读 2017-04-30 17:46:57
    根据加工规格说明和控制规格说明进行过程设计,根据数据字典和实体关系进行数据设计,根据数据流图进行接口设计,根据数据流图进行体系结构设计。 甘特图是进行项目进度管理的一个重要工具,他对项目进度进行描述...
  • 通讯录管理系统设计

    千次阅读 2014-06-12 18:48:55
    系统分析  1.1 问题描述 通讯录管理系统是单机版,主要功能是管理学生的通讯方式,并且提供相关的统计分析。要求前端GUI采用Swing技术,数据存储采用文件系统(可以是文本文件、可以是xml文件或其他自定义格式...
  • 系统架构设计

    千次阅读 2018-11-29 15:20:35
    应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次: 企业级的应用架构:企业层面的应用架构起到了统一规划、承上启下的作用,向上承接了企业战略发展方向...
  • 权限系统设计

    千次阅读 2006-11-27 20:31:00
     权限系统设计 权限系统(1)--基本模式 在系统中发生的事情,抽象的说都是某个主体(subject)在某个资源(resource)上执行了某个操作(operation)。 subject --[operation]--> resource 所谓权限管理,就是在这...
  • 通用权限管理系统设计

    万次阅读 2012-08-31 17:50:25
    在前两篇文章中,不少朋友对我的设计...这个系统是我在思考以前所做系统的权限管理部分中找到的一些共性而想到的一个设计方案,当然还会有不少设计不到位的地方,在设计开发过程中会慢慢改进,这个系统权当学习只用,各
  • 嵌入式系统设计师考试完美笔记

    万次阅读 多人点赞 2014-03-14 22:16:23
    嵌入式系统设计师考试笔记之嵌入式系统基础知识 1、嵌入式系统的定义 (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。...
  • 章 电子政务系统的架构设计

    千次阅读 2012-09-18 13:43:28
    3.1 构建统一的政务管理系统  通过上一章对政务系统的工作流分析可以看出,工作流技术的应用是构建政务管理系统的核心,是实现审批业务统一管理的基础。事实上,本文所研究的内容就是要基于工作流技术构建统一的...
  • windows server 2003 系统

    千次阅读 2018-08-09 21:30:40
    系统》作业 课程名称:《系统》 【要求】 对Windows Server2003操作系统MS08_067、MS03_026漏洞进行提渗透测试; 对MS03_026漏洞开启远程桌面服务; 操作过程可自由发挥; ...
  • 一 : 术在内而道在外 Android系统的精髓在源码之外,而不在源码之内,代码只是一种实现人类思想的工具,仅此而已…… 近来发现很多关于Android文章都是以源码的方向入手分析...如果让你去设计Android系统,你会
  • 让程序开发也来个三权分立

    千次阅读 2007-02-02 18:32:00
    让程序开发也来个三权分立 我想说的是,这里是三权分立,不是指政治体制里面的立法、行政、司法,而是指程序开发中的系统设计、系统开发、系统测试。在这里,系统设计有点类似于立法,系统开发有点类似于行政,而...
  • 基于BS结构下的邮件系统设计开发

    千次阅读 2019-04-18 23:13:10
    获取项目源文件,学习交流联系Q:1415736481,可指导毕设,课设 ...因此,本次设计是通过对SMTP、pop3协议的熟悉和理解、以及对JSP编程和网页设计技能的掌握,开发出一个简单的B/S结构下的邮件服务系统。能完成邮件...
  • 模块分解原理与三权分立

    万次阅读 热门讨论 2007-04-26 14:18:00
    模块分解原理与三权分立 相关文章链接:模块分解原理探索前一篇模块分解原理探索的文章中谈到了模块需要按专业领域分解,...在软件中,有需求,设计,编程,测试这几个大的核心专业领域,再来看三权分立,立法、司法、
  • 操作系统之进程调度——优先法和轮转法(附上样例讲解) 操作系统之银行家算法—详解流程及案例数据 操作系统之多线程编程—读者优先/写者优先详解 操作系统之存储管理——FIFO算法和LRU算法 操作系统之磁盘...
  • 三权分立”模型的概述

    千次阅读 2018-09-27 13:36:56
    在云计算出来之前,大多数的商业模式、计算模式都是自家的机器服务自家。云计算出来之后,这一场景发生了变化,人们开始依赖于把自己需要的服务放在别人...三权分立,是西方一种关于权力架构和权力资源配置的政治学...
  • 今年八月底版权中心系统升级,新系统相对好用一些,至少不用再拿IE访问了,但是多了一项实名认证。下面介绍新系统的操作流程。 目录注册、登录和实名认证注册登录实名认证软件登记申请申请表填写鉴别材料身份证明...
  • 学习Verilog HDL有一些时间,大概一年前的的这个时候开始的吧,从一点都不懂开始学,主要还是看夏宇闻老师的这本书入的门——《Verilog数字系统设计教程》,书写的特别好。然后就是看网上的一些资料,学习语言,学习...
  • 背景: ...由此带来的主要问题就是登录系统如何设计?以前项目都是通过Shiro框架内部控制cookie、session、登陆状态、页面权限等一系列资源,现在前端页面脱离后端项目后,我们要做出哪些改变呢? ...
  • 操作系统实验 进程调度

    万次阅读 多人点赞 2015-11-17 22:21:15
    1、 设计进程控制块PCB的结构,分别适用于优先调度算法和时间片轮转调度算法。 2、 建立进程就绪队列。 3、 编制两种进程调度算法:优先调度算法和时间片轮转调度算法。 、实验报告要求 1、 优先调度算法和
  • 嵌入式系统设计-测试题2

    万次阅读 2011-10-09 17:28:42
    1.嵌入式处理器指令的执行周期包括(B) A.启动、运行、退出 B.取指令、指令译码、执行指令、存储 C....D....2.下列不属于嵌入设计处理器本身带有的基本接口是(C) A.串口;B.并口;C.PCIE;D.AD/DA

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 159,146
精华内容 63,658
关键字:

系统设计三权