首页 > 其他分享 >20211421《信息安全系统设计与实现》第一周学习笔记

20211421《信息安全系统设计与实现》第一周学习笔记

时间:2023-09-10 17:46:51浏览次数:37  
标签:文件 第一周 代码 信息安全 GDB Unix 20211421 Linux out

知识点总结

第一章

关于本书

  • 研究Unix/Linux系统编程的专著,涵盖Unix/Linux的所有基本组件,包括进程管理、并发编程、定时器和时钟服务、文件系统、网络编程和MySQL数据库系统。

本书目标

  • 强化学生编程背景知识
  • 动态数据结构的应用
  • 进程概念和进程管理
  • 并发编程
  • 定时器和定时功能
  • 信号、信号处理和进程间通信
  • 文件系统
  • TCP/IP和网络编程

关于Unix

  • AT&T Unix
  • Berkeley Unix
  • HP Unix
  • IBM Unix
  • Sun Unix

关于Linux

  • Debian Linux
  • Ubuntu Linux
  • Linux Mint
  • 基于RPM的Linux
  • Slackware Linux

虚拟机上的Linux

  • VirtualBox
  • VMware

Unix/Linux命令

Ubuntu Linux系统管理

  • 添加新用户

第二章

Linux的文本编辑器

  • vim
    • 命令模式:用于输入命令
    • 插入模式:用于输入和编辑文本
    • 末行模式:用于保存文件并退出
  • gedit
  • emacs

使用emacs

程序开发步骤

  1. 创建源文件
  • 全局变量
  • 局部变量
  • 静态变量
  • 自动变量
  • 寄存器变量
  • 易失性变量
  1. 用gcc把源文件转换成二进制可执行文件
  2. gcc三个主要步骤
  • 第一步:将C源文件转换为汇编代码文件
  • 第二步:把汇编代码转换成目标代码,生成的.o文件称为目标代码。每个.o文件包含:
    • 一个文件头
    • 一个代码段
    • 一个数据段
    • 一个BSS段
  • 第三步:链接

静态与动态链接

  • 动态链接的主要优点
    • 可减小每个a.out文件的大小
    • 许多执行程序可在内存中共享相同的库函数
    • 修改库函数不需要重新编译源文件

可执行文件格式

  • 二进制可执行平面文件:仅包含可执行代码和初始化数据。便于直接执行。
  • a.out可执行文件:包含文件头,代码段,数据段和bss段
  • ELF可执行文件:更适合动态链接

程序执行过程

在类Unix操作系统中,在sh命令行a.out one two three执行a.out文件,以标记字符串作为命令行参数。为执行命令,sh创建一个子进程并等待改子进程终止。子进程运行时,sh使用a.out文件执行新的执行映像。

  • 读取a.out文件头,以确定所需的总内存大小,包括堆栈空间大小
  • sh从总大小中分配一个内存区给执行映像
  • sh放弃旧映像,开始执行新映像
  • 执行从crt0.o开始,调用main,将argc和argv作为参数传递给main

程序终止

  • 正常终止:若程序执行成功,main最终会返回到crt0.o,调用库函数exit(0)来终止进程
  • 异常终止

C语言中的函数调用

  • long jump

C语言与汇编代码的链接

用汇编代码编程

  • 将C代码编译成汇编代码
  • 汇编代码说明,gcc生成的汇编代码由三部分组成:
    • 入口代码
    • 函数体代码
    • 退出代码
      用汇编语言实现函数
      从汇编中调用C函数

链接库

  • 静态链接库
  • 动态链接库

makefile

  • makefile格式:一个make文件由一系列目标项、依赖项、和规则组成
  • make程序:当make程序读取makefile时,它通过比较依赖项列表中源文件的时间戳来确定要构建哪些目标项

GDB调试工具

  • 在emacs IDE中使用GDB
    • 源代码:在X—Windows下,打开一个伪终端,使用emacs创建makefile
    • 编译源代码
    • 启动GDB
    • 多窗口GDB
      • Gud-t:用户命令和GDB消息的GDB缓冲区。
      • t.c:显示执行进度的程序源代码。
      • 栈帧:显示函数调用序列的栈帧。
      • 本地寄存区:显示当前执行函数中的局部变量。
      • 输入/输出
      • 断点:显示当前断点设置
    • 附加GDB命令 :

C语言中常见错误

  • 未初始化的指针或含有错误值的指针
  • 数组下标越界
  • 字符串指针和char数组使用不当
  • assert宏
  • 在程序代码中使用fprintf和getchar

苏格拉底提问





问题及解答

使用virtualbox无法打开Linux虚拟机,提示:No bootable medium found
解决思路:


通过询问AI可知,应该是我的虚拟机启动盘出现了问题,然后检查发现我的启动盘中缺少提到的几种镜像文件,可能是以前误删,最后我重新设置了VDI的镜像文件,解决了问题。

标签:文件,第一周,代码,信息安全,GDB,Unix,20211421,Linux,out
From: https://www.cnblogs.com/wenxinhe/p/17691551.html

相关文章

  • 20211314王艺达信息安全系统设计与实现学习笔记(1)
    作业要求链接https://www.mosoteach.cn/web/index.php?c=interaction_homework&m=s_write&clazz_course_id=97072AE7-2C45-11EE-8539-1C34DA7B3F7C&id=F3080EAA-E3B7-414E-B311-938F0B8988F0&order_item=group&status=IN_PRGRS第一章学习总结及自测知识点归纳什么是Unix/Linux......
  • 《信息安全系统设计与实现》第一周学习笔记
    第一章引言关于本书本书是一部研究Unix/Linux系统编程的专注系统编程的作用系统编程是计算机科学和计算机工程教育不可或缺的一部分本书目标强化学生变成背景知识动态数据结构的应用进程概念和进程管理并发编程定时器和定时功能信号、信号处理......
  • 《信息安全系统设计与实现》第一周学习笔记
    《信息安全系统设计与实现》第一周学习笔记第一章关于本书介绍Unix/Linux的功能,着重探讨了编程实践,让学生通过实践来练习系统编程,涵盖Unix/Linux的所有基本组件,包括进程管理、并发编程、定时器和时钟服务、文件系统、网络编程和MySQL数据库系统。系统编程的作用系统编......
  • 信息安全系统设计与实现(上) 学习笔记1(教材1,2章)
    学习笔记1 知识点总结 第一章《Unix/Linux系统编程》教材第一章中介绍了Unix和Linux系统的基本概念以及编程环境的设置,介绍了系统编程的重要性和目标,旨在强化学生的编程背景知识,特别关注动态数据结构、进程管理、并发编程、定时器、信号处理、文件系统、TC......
  • 《信息安全系统设计与实现》第一周学习笔记
    《信息安全系统设计与实现》第一周学习笔记一、知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图第一章关于本书涵盖Unix/Linux的所有基本组件,包括进程管理、并发编程、定时器和时钟服务、文件系统、网络编程和MySQL数据......
  • 虚化及信息安全学习历程--Apple的学习笔记
    一,前言先做了一个基本方向的定义,然后我就开始玩qemu,基于qemu做二次开发。在学习qemu的过程中主要学习hypervisor,然后再学习信息安全相关内容。二,过程记录tbd三,新路历程2023/09/01:开学咯,之前的blog我写了5年,由于不好用,所以我换了blog同时也换了新的学习大方向,正好再来一个5年。 ......
  • 20211325 2023-2024-1 《信息安全系统设计与实现(上)》第一周学习笔记
    202113252023-2024-1《信息安全系统设计与实现(上)》第一周学习笔记一、任务要求任务详情自学教材第1,2章,提交学习笔记(10分),评分标准如下1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)......
  • WorkPlus——高效私有化办公平台,实现即时协作与信息安全的完美结合
    在当今数字化时代,办公效率已成为企业追求发展的重要标准之一。为了满足企业对内部信息流畅传递的需求,私有化部署的即时通讯软件成为了不可忽视的核心工具。WorkPlus作为一款功能强大的办公平台,为企业打造了一个支持局域网的自主控制办公环境,提供了即时通讯、文件共享、视频会议等丰......
  • 信息安全概述
    1、信息安全:防止任何对数据进行未授权访问的措施,或者防止造成信息有意无意泄漏、破坏、丢失等问题的发生,让数据处于远离危险、免于威胁的状态或特性2、网络安全:计算机网络环境下的信息安全3、信息安全的脆弱性原因:网络环境的开放性协议栈自身的脆弱性操作系统的自身漏洞......
  • 8、企业信息安全中级篇(敏捷开发)
    1、2、3、......