首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

软件评测师笔记(四)—— 操作系统

其中语义错误可分为静态语义和动态语义错误 语法错误:语言结构上的错误 静态语义错误:编译时能发现的程序含义上的错误 动态语义错误:只有程序运行时才能表现出来 程序编译过程 过程:词法分析、语法分析、语义分析 词法分析:从左到右逐字符读入源程序...,如读/写 地址总线:传送地址,寻址空间 CPU CPU其他部件 指令寄存器IR:保存当前正在执行的一条指令,位数取决于指令字长 数据寄存器MDR:保存操作数和运算结果信息 地址寄存器AR:保存当前CPU...、取数周期 **一个指令周期由若干个总线周期组成,而一个总线周期时间又包含若干个时钟周期 **一个总线周期包含一个(只有取址周期)或多个机器周期(CPU响应DMA请求是在总线周期) 防火墙 功能 1、包过滤...2、审计和报警过程,记录访问过程 3、代理 4、流量控制 防护墙不能过滤的是 存在安全威胁的URL地址(属于应用层数据) 防火墙能过滤的是 源和目的IP、IP协议号、源和目的端口 防火墙功能不包含 不提供漏洞扫描功能...编译和解释区别 是否生成目标程序文件,解释 cache系统 由硬件实现并完成

80820
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    AT&T汇编语言与GCC内嵌汇编简介

    我们将上面的内嵌代码放到一个C源文件中,然后使用gcc –c–S得到该C 文件源代码相对应的汇编代码,然后查看一下汇编代码,看看GCC是如何处理的。...C源文件如下内容如下,注意该代码没有实际意义,仅仅作为例子。...2.3.2 输出部分 输出部分描述输出操作数,不同的操作数描述符之间用逗号格开,每个操作数描述符由限定字符串和 C语言变量组成。每个输出操作数的限定字符串必须包含“=”表示他是一个输出操作数。...2.3.3 输入部分 输入部分描述输入操作数,不同的操作数描述符之间使用逗号格开,每个操作数描述符由 限定字符串和C语言表达式或者C语言变量组成。...破坏描述符由逗号格开的字符串组成,每个字符串描述一种情况,一般是寄存器名;除寄存器外 还有“memory”。例如:“%eax”,“%ebx”,“memory”等。

    2.1K10

    2.1 PE结构:文件映射进内存

    ,在早期DOS操作系统中,是以COM文件的格式存储的,该文件格式限制了只能使用代码段,堆栈寻址也被限制在了64KB的段中,由于PC芯片的快速发展这种文件格式极大的制约了软件的发展。...为了应对这种局面,微软的工程师们就发明了新的文件格式(EXE文件),该文件格式在代码段前面增加了文件头结构,文件头中包括各种说明数据,如程序的入口地址,堆栈的位置,重定位表等,显然可执行文件的格式是操作系统工作方式的真实写照...在PE文件中将同样属性的数据分类放在一起是为了统一描述这些数据装入内存后的页面属性,由于数据是按照属性在节中放置的,不同用途但是属性相同的数据可能被放在同一个节中,PE文件头被放置在节和节表的前面,上面介绍的是真正的...,所谓的映射则是将一个磁盘中的部分数据读入内存,当需要使用该片区域时由操作系统动态的装载一部分,该方式也是笔者推荐的一种实现模式; 一般来说映射文件的流程是,使用CreateFile()打开一个磁盘文件...HANDLE hTemplateFile // 模板文件句柄 ); 其中,各个参数的含义如下: lpFileName:指向null结尾字符串的指针,该字符串是文件名或文件的路径

    44440

    2.1 PE结构:文件映射进内存

    ,在早期DOS操作系统中,是以COM文件的格式存储的,该文件格式限制了只能使用代码段,堆栈寻址也被限制在了64KB的段中,由于PC芯片的快速发展这种文件格式极大的制约了软件的发展。...为了应对这种局面,微软的工程师们就发明了新的文件格式(EXE文件),该文件格式在代码段前面增加了文件头结构,文件头中包括各种说明数据,如程序的入口地址,堆栈的位置,重定位表等,显然可执行文件的格式是操作系统工作方式的真实写照...在PE文件中将同样属性的数据分类放在一起是为了统一描述这些数据装入内存后的页面属性,由于数据是按照属性在节中放置的,不同用途但是属性相同的数据可能被放在同一个节中,PE文件头被放置在节和节表的前面,上面介绍的是真正的...,所谓的映射则是将一个磁盘中的部分数据读入内存,当需要使用该片区域时由操作系统动态的装载一部分,该方式也是笔者推荐的一种实现模式; 一般来说映射文件的流程是,使用CreateFile()打开一个磁盘文件...HANDLE hTemplateFile // 模板文件句柄 ); 其中,各个参数的含义如下: lpFileName:指向null结尾字符串的指针,该字符串是文件名或文件的路径

    27720

    2.1 PE结构:文件映射进内存

    ,在早期DOS操作系统中,是以COM文件的格式存储的,该文件格式限制了只能使用代码段,堆栈寻址也被限制在了64KB的段中,由于PC芯片的快速发展这种文件格式极大的制约了软件的发展。...为了应对这种局面,微软的工程师们就发明了新的文件格式(EXE文件),该文件格式在代码段前面增加了文件头结构,文件头中包括各种说明数据,如程序的入口地址,堆栈的位置,重定位表等,显然可执行文件的格式是操作系统工作方式的真实写照...在PE文件中将同样属性的数据分类放在一起是为了统一描述这些数据装入内存后的页面属性,由于数据是按照属性在节中放置的,不同用途但是属性相同的数据可能被放在同一个节中,PE文件头被放置在节和节表的前面,上面介绍的是真正的...,所谓的映射则是将一个磁盘中的部分数据读入内存,当需要使用该片区域时由操作系统动态的装载一部分,该方式也是笔者推荐的一种实现模式;一般来说映射文件的流程是,使用CreateFile()打开一个磁盘文件,...HANDLE hTemplateFile // 模板文件句柄);其中,各个参数的含义如下:lpFileName:指向null结尾字符串的指针,该字符串是文件名或文件的路径。

    26710

    零拷贝

    MMU 的核心思想是利用虚拟地址替代物理地址,即 CPU 寻址时使用虚址,由 MMU 负责将虚址映射为物理地址。...,在 32 位 CPU 的机器上他的寻址范围在 0x00000000 ~ 0xFFFFFFFF 这一段地址中(约 4G),其中高1G的空间为内核空间,由操作系统调用,低3G的空间为用户空间,由用户使用。...Java 与 Page Cache image 由上图可知 FileChannel#map 方法映射出来的文件并没有使用虚拟内存的空间(SwapCache),那总不能 2G 文件全部放内存吧,所以他是不是把那个文件本身当做了虚拟空间的一部分...java 本身并不具备 IO 读写能力,因此 read 方法调用后,要从 java 程序的 用户态 切换至 内核态 ,去调用操作系统(Kernel)的读能力,将数据读入 内核缓冲区 。...第一次访问address所指向的内存区域,导致缺页中断,中断响应函数会在交换区中查找相对应的页面,如果找不到(也就是该文件从来没有被读入内存的情况),则从硬盘上将文件指定页读取到物理内存中(非jvm堆内存

    86900

    基本排序算法总结

    以下排序算法模版都会用Comparable接口数据类型,只要实现了Comarable接口的数据类型比如Integer、Double、String和其他许多高级数据类型(如File和URL),这些数据类型的数组可以作为参数调用排序方法...因为读取花费的时间太大,主要时间都在读取上面了,不如直接读入然后在进行转换操作来得快 * 如果直接字符串排序就不需要接下来的转换操作了。...因为读取花费的时间太大,主要时间都在读取上面了,不如直接读入然后在进行转换操作来得快 * 如果直接字符串排序就不需要接下来的转换操作了。...因为读取花费的时间太大,主要时间都在读取上面了,不如直接读入然后在进行转换操作来得快 * 如果直接字符串排序就不需要接下来的转换操作了。...但因为子数组是相互独立的,一个更简单的方法是h子数组中将每个元素交换到比它还大的元素之前去(将比它大的元素向右移动了一格)。只需要在插入排序的代码中将移动元素的距离由1改为h即可。

    24010

    Java 语言基础(异常机制和File类,IO流,多线程,网络编程,反射机制)

    File类 基本概念 java.io.File 类主要用于描述文件或目录路径的抽象表示信息,可以获取文件或目录的特征信息,如:大小等。...read(char[] cbuf, int offset, int length) 从输入流中将最多 len 个字符的数据读入一个字符数组中,返回读取到的字符个数,返回 -1 表示读取到末尾 int...read(char[] cbuf) 从此输入流中将最多 cbuf.length 个字符的数据读入字符数组中,返回读取到的字符个数,返回 -1 表示读取到末尾 void close() 关闭流对象并释放有关的资源...int read(byte[] b, int off, int len) 从此输入流中将最多 len 个字节的数据读入字节数组中,返回读取到的字节个数,返回 -1 表示读取到末尾 int read(byte...[] b) 从此输入流中将最多 b.length 个字节的数据读入字节数组中,返回读取到的字节个数,返回 -1 表示读取到末尾 void close() 关闭流对象并释放有关的资源 int available

    79120

    Ajax技术的优缺点

    Javascript是由网景公司开发的一种脚本语言,它和sun公司的java语言是没有任何关系的,它们相似的名称只是一种行销策略。...在 Ajax应用中信息是如何在浏览器和服务器之间传递的 通过XML数据或者字符串 ,8,在浏览器端如何得到服务器端响应的XML数据 XMLHttpRequest对象的responseXMl...第二个参数是请求页面的URL。...(如果你对Java新的代理事件模型比较清楚的话,就会很容易理解这种机制了) 在XMLReader接受XML文档,在读入XML文档的过程中就进行解析,也就是说读入文档的过程和解析的过程是同时进行的,这和...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.4K30

    学 Linux 必会的 ARM 汇编指令

    1、【LDR指令】 LDR 目的寄存器, LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。 LDR R0,[R1] ;将存储器地址为R1的字数据读入寄存器R0。...LDR R0,[R1,R2] ;将存储器地址为R1+R2的字数据读入寄存器R0。 LDR R0,[R1,#8] ;将存储器地址为R1+8的字数据读入寄存器R0。...2、【STR指令】 STR 源寄存器, STR指令用于从源寄存器中将一个32位的字数据传送到存储器中。该指令在程序设计中比较常用,且寻址方式灵活多样,使用方式可参考指令LDR。...其中,表达式的值用于指定对齐方式,可能的取值为2的幂,如 1 、2 、4 、8 、16 等。...在一个完整的汇编程序中至少要有一个 ENTRY (也可以有多个,当有多个 ENTRY 时,程序的真正入口点由链接器指定),但在一个源文件里最多只能有一个 ENTRY (可以没有)。

    4K10

    解决方案:TypeError: a bytes-like object is required, not str

    通过这个示例,我们可以看到如何在实际应用场景中将字符串对象转换为字节对象来解决TypeError: a bytes-like object is required, not 'str'错误,以确保请求发送和数据处理的正常进行...下面我会对两者进行详细介绍:bytes类型:bytes类型是不可变的字节序列,它是由一系列0-255范围内的整数构成的。bytes对象可以通过字面量表示,如b'hello'。...bytes类型有自己的一些方法,如decode()方法用于将字节序列解码为字符串,hex()方法用于将字节序列转换成十六进制字符串等。...str类型:str类型是表示字符串的数据类型,它是由Unicode字符构成的不可变序列。str对象可以通过字面量表示,如'hello'。str类型常用于表示文本,是我们在编程中经常使用的字符串类型。...str对象可以通过索引访问单个字符,也可以通过切片访问子字符串。str类型有自己的一些方法,如encode()方法用于将字符串编码为字节序列,upper()方法用于将字符串转换为大写等。

    2.3K10

    零拷贝

    MMU 的核心思想是利用虚拟地址替代物理地址,即 CPU 寻址时使用虚址,由 MMU 负责将虚址映射为物理地址。...,在 32 位 CPU 的机器上他的寻址范围在 0x00000000 ~ 0xFFFFFFFF 这一段地址中(约 4G),其中高1G的空间为内核空间,由操作系统调用,低3G的空间为用户空间,由用户使用。...Java 与 Page Cache image 由上图可知 FileChannel#map 方法映射出来的文件并没有使用虚拟内存的空间(SwapCache),那总不能 2G 文件全部放内存吧,所以他是不是把那个文件本身当做了虚拟空间的一部分...程序,并且Java程序不负责通知JVM何时可以释放这个对象的空间,垃圾对象内存空间的回收由JVM进行。...java 本身并不具备 IO 读写能力,因此 read 方法调用后,要从 java 程序的 用户态 切换至 内核态 ,去调用操作系统(Kernel)的读能力,将数据读入 内核缓冲区 。

    77340

    零拷贝是什么?

    MMU 的核心思想是利用虚拟地址替代物理地址,即 CPU 寻址时使用虚址,由 MMU 负责将虚址映射为物理地址。...,在 32 位 CPU 的机器上他的寻址范围在 0x00000000 ~ 0xFFFFFFFF 这一段地址中(约 4G),其中高1G的空间为内核空间,由操作系统调用,低3G的空间为用户空间,由用户使用。...Java 与 Page Cache image 由上图可知 FileChannel#map 方法映射出来的文件并没有使用虚拟内存的空间(SwapCache),那总不能 2G 文件全部放内存吧,所以他是不是把那个文件本身当做了虚拟空间的一部分...程序,并且Java程序不负责通知JVM何时可以释放这个对象的空间,垃圾对象内存空间的回收由JVM进行。...java 本身并不具备 IO 读写能力,因此 read 方法调用后,要从 java 程序的 用户态 切换至 内核态 ,去调用操作系统(Kernel)的读能力,将数据读入 内核缓冲区 。

    76620

    IO流总结

    在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛: 标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等,java中将输入输出抽象称为流,就好像水管...类和FileDescriptor等类; 3.其他类--文件读取部分的与安全相关的类,如:SerializablePermission类,以及与本地操作系统相关的文件系统的类,如:FileSystem...非流式文件类--File类 在Java语言的java.io包中,由File类提供了描述文件和目录的操作与管理方法。...Reader 输出流 OutputStream Writer Java中其他多种多样变化的流均是由它们派生出来的: ?...程序说明: 从键盘读入字符,并写入到文件中BufferedReader类的方法:String readLine() 作用:读一行字符串,以回车符为结束。

    1.3K70

    Java(2)-Java IO输入输出流

    在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛: 标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等,java中将输入输出抽象称为流,就好像水管...标准I/O Java程序可通过命令行参数与外界进行简短的信息交换,同时,也规定了与标准输入、输出设备,如键盘、显示器进行信息交换的方式。而通过文件可以与外界进行任意数据形式的信息交换。 1....类和FileDescriptor等类; 3.其他类--文件读取部分的与安全相关的类,如:SerializablePermission类,以及与本地操作系统相关的文件系统的类,如:FileSystem类和...非流式文件类--File类 在Java语言的java.io包中,由File类提供了描述文件和目录的操作与管理方法。...//若从标准输入读入的字符串为 "ok"则停止循环 while(!

    81010

    10 道 BAT 大厂海量数据面试题(附题解+方法总结)

    (百度)•如何在大量的数据中找出不重复的整数?(百度)•如何在大量的数据中判断一个数是否存在?(腾讯)•如何查询最热门的查询串?(腾讯)•如何统计不同电话号码的个数?...往下看~ 题目1 题目描述 给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同的 URL。...题目3 题目描述 现有海量日志数据保存在一个超大文件中,该文件无法直接读入内存,要求从中提取某天访问百度次数最多的那个 IP。...解答思路 每个查询串最长为 255B,1000w 个串需要占用 约 2.55G 内存,因此,我们无法将所有字符串全部读入到内存中处理。 方法一:分治法 分治法依然是一个非常实用的方法。...import lombok.Data; import java.util.Arrays;import java.util.PriorityQueue; /** * @author https://github.com

    3.1K30

    使用FileReader对象的readAsDataURL方法来读取图像文件

    readAsDataURL方法会使用base-64进行编码,编码的资料由data字串开始,后面跟随的是MIME type,然后再加上base64字串,逗号之后就是编码过的图像文件的内容。...使用Img显示图像文件 若想要将读取出来的图像文件,直接显示在网页上,您可以透过JavaScript建立一个标签,再设定src属性为Data URL,再将标签加入DOM之中, 例如以下范例所示...FileReader用来把文件读入内存,并且读取文件中的数据。...; return false; } var reader = new FileReader(); //将文件以Data URL形式读入页面 reader.readAsDataURL(file); reader.onload...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.8K30

    前端工程化-构建

    这个过程可以使用一些框架,比如近期较流行的React、Vue等;也使用较轻量级的JavaScript模板工具,比如的underscore template、jsmart、Mustache等;甚至可以直接拼接字符串...利用md5算法对比静态资源更改,给文件名加上hash指纹,并产出资源定位表; release。将构建后的文件产出到指定目录,这个目录通常是本地的,经本地测试通过后可以push到线上服务器。...4.1 模板由前端构建 如果模板由前端构建工具进行编译,交到后端开发者手里的模板中对静态资源的引用地址是已经更新后的url,后端开发者不需要对模板进行额外操作便可以直接进行下一步流程(测试、部署)。...比如: 上述代码中将index.js的url用类ubb...4.2 模板由后端构建 模板有后端构建的意思是,后端开发人员对模板引擎进行扩展,书写一个模板引擎语法的资源寻址function。比如php使用smarty模板引擎实现一个cdn方法: <?

    1.1K60
    领券