process environ.c environvar.c consumer.c 管道写端 producer.c 管道读端 testmf.c listargs.c pipedemo.c 管道 pipedemo2.c stdinredir1.c stdinredir2.c whotofile.c sigactdemo.c sigactdemo2.c exec1.c forkdemo4.c psh1.c waitdemo2.c…
2017-2018-1 20155337<信息安全系统设计基础>第5周学习总结 教材学习内容总结 不论我们是在用C语言还是用JAVA或是其他的语言编程时,我们会被屏蔽了程序的机器级的实现.机器语言不需要被编译,可以直接被CPU执行,其执行速度十分 快.但是机器语言的读写性与移植性较高级语言低.高级语言被编译后便成为了汇编语言,汇编语言十分接近机器语言.之后汇编代码会转化为机器语言.虽然现代 的编译器能帮助我们将高级语言转化为汇编语言,解决了不少问题,但是对于一个严谨的程序员来说,需要做到能够阅…
2017-2018-1 20155239 <信息安全系统设计基础>第五周学习总结+mybash的实现 mybash的实现 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 首先通过man命令了解fork.exec和wait 命令行输入:man fork 命令行输入:man exec 命令行输入:man wait 伪代码 while(1) { fgets(命令行输入): if(内置的shell命令) {…
2018-2019-1 20165212 <信息安全系统设计基础>第八周学习总结 一.知识点总结 1.三种并发方式 构造并发程序的方法有三种: 进程 线程 I/O多路复用 进程:用内核来调用和维护,有独立的虚拟地址空间,显式的进程间通信机制. 线程:运行在一个单一进程上下文中的逻辑流.由内核进行调度,共享同一个虚拟地址空间. I/O多路复用:应用程序在一个进程的上下文中显式地调度控制流.逻辑流被模型化为状态机. 2.C/S编程模型 客户端和服务器都是进程,C/S编程模型由一个服务器进程和一个或…
20145314郑凯杰<信息安全系统设计基础>第9周学习总结 PART B 明确教材学习目标 注意每个系统调用的参数.返回值,会查帮助文档 阅读教材,完成课后练习(书中有参考答案),考核:练习题把数据变换一下 学习视频,掌握两个重要命令: man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用 grep -nr XXX /usr/include :查找宏定义,类型定义 教材中相关代码运行.思考一下,读代码的学习方法见「代码驱动的程序设计学习」. 代码重点:课…
20145314郑凯杰<信息安全系统设计基础>第7周学习总结 part B 上篇博客反思与深入 首先根据本周第一篇博客,娄老师给我的评论,我开始进行局部性的深入研究: 分为两个步骤,一是知识点深入,二是用实践深入: ①知识点 1.局部性有两种形式:时间局部性(temporal locality)和空间局部性(spatial locality).在一个具有良好时间局部性的程序中,被引用过一次的存储器位置很可能在不远的将来再被多次引用:在一个具有良好空间局部性的程序中,如果一个存储器位置被引用了一…
20155228 2017-2018-1 <信息安全系统设计基础>第六周学习总结&课下作业 教材学习内容总结 异常及其种类 异常可以分为四类:中断(interrupt) ,陷阱(trap).故障(fault)和终止(abort ) 中断是异步发生的,是来自处理器外部的I/U设备的信号的结果.硬件中断不是由任何一条专门的指令造成的,从这个意义上来说它是异步的.硬件中断的异常处理程序常常称为中断处理程序(interrupt handler) 陷阱是有意的异常,是执行一条指令的结果.就像中断…
2017-2018-1 20155307 <信息安全系统设计基础>第三周学习总结 教材学习内容总结 无符号数和有符号数的特性,数字如何表示,IEEE标准,浮点数格式.(我感觉我把课下测试做完之后已经把书翻了一遍了) 教材学习中的问题和解决过程 (一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题). 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验). 但是我还是不太懂,我的困惑是(说明困惑).[或者]我反对作者的观点(提出作者的观点,自己的观点,…
20145307<信息安全系统设计基础>第五周学习总结PT2: 教材学习内容总结 之前有第一部分学习总结: http://www.cnblogs.com/Jclemo/p/5962219.html 以下为第二部分 执行汇编命令:gcc –s xxx.c –o xxx.s反汇编命令:objdump –d xxx 64位处理器得到32代码的命令:gcc –m32 –s xxx.c Ltme: 1.三种操作数: 立即数:常数值.表示为$c标准表示的整数. 寄存器:表示某个寄存器的内容. 存储器:根据…
20145307陈俊达<信息安全系统设计基础>第5周学习总结 教材学习内容总结 X86寻址方式经历三代: DOS时代的平坦模式,不安全,原因是没有区分用户空间和内核空间 8086的分段模式: IA32的带保护模式的平坦模式 程序编码命令 gcc是Linux上默认的编译器,gcc -01 告诉编译器使用第一级优化.优化等级越高,程序运行的越快,编译时间越长,用调试工具调试程序越困难.但是,从得到程序性能方面考虑,第二级优化被认为是较好的选择. 汇编器将汇编代码转换成二进制目标代码,目标代码是机器…