• 2021-2022-1 20191315《信息安全系统设计与实现(上)》学习笔记1


    第一章 引言

    系统编程

    本书目标

    • 强化编程背景知识
    • 动态数据结构应用:C结构、指针、链表、链树
    • 进程概念和进程管理
    • 并行计算:线程
    • 定时器和定时功能
    • 信号、信号处理和进程间通信
    • 文件系统
    • TCPIP和网络编程:TCPIP协议、套接字API、UDP和TCP套接字编程,以及网络计算中的服务器-客户机模型

    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
    • 双启动的Slackware和Ubuntu Linux

    使用linux

    • Linux内核映像:vmlinuz-generic-VERSION_NUMBER *一个可启动的内核映像有三部分组成:|BOOT|SETUP|linux kernel|
    • 启动程序:GRUB LILO HD
    • 启动
    • 运行级别:单用户模式启动
    • 登录进程:三个文件流stdin、stdout、stderr,等待用户登录
    • 命令执行:执行命令解释程序sh,后者将提示用户执行命令

    使用Ubuntu Linux

    • UnixLinux文件系统组织
      树形组织结构

    • 命令

    • 手册页

    Ubuntu Linux系统管理

    • 用户账户
    • 添加新用户:sudo adduer username
    • sudo命令

    第二章 编程背景

    文本编辑器

    • vim
    • gedit
    • emacs

    程序开发

    开发步骤

    1. 创建源文件
    2. 用gcc把源文件转换成二进制可执行文件a.out

    什么是gcc

    一个程序,包含三个步骤:将源文件转换为汇编代码文件;把汇编代码转换成目标代码;链接

    静态与动态链接

    创建二进制可执行文件的方式有两种:静态链接和动态链接分别使用静态库和共享库。

    可执行文件格式

    • 二进制可执行平面文件
    • a.out可执行文件
    • ELF可执行文件

    a.out文件的内容

    • 文件头、代码段、数据段、符号表

    程序执行过程

    1. 读取a.out文件,一标记字符串作为命令行参数
    2. sh从总大小中分配一个内存区给执行映像
    3. sh放弃旧映像,开始执行新映像
    4. 执行从crt0.o开始,调用main,将argc和argv作为采纳数传递给main

    程序终止

    • 正常终止
    • 异常终止

    链接库

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

    makefile

    make工具是一个程序,它按照顺序读取makefile,以自动有选择的执行编译链接

    • 格式
      make文件有一系列目标项、依赖项和规则组成

    • 程序
      当make程序读取makefile时,通过比较依赖项列表中源文件的时间戳来确定要构建哪些目标项

    GDB调试工具

    C语言相关知识

    • 函数调用
    • 结构体指针
    • 链表处理
    • 树、二叉树
  • 相关阅读:
    设计模式- 结构型模式,装饰器模式(5)
    设计模式- 结构型模式,装饰器模式(5)
    jar/war/ear包的区别
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/harperhjl/p/15259888.html
Copyright © 2020-2023  润新知