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

第一章

关于本书
内容:研究Unix/Linux系统编程
涵盖:Unix/Linux所有基本组件。包括进程管理。并发编程、定时器和时钟服务、文件系统、网络编程和MySQL数据库系统。
系统编程的作用

两个目的:

  • 使学生能够与操作系统内核交互,从而有效利用系统资源来开发应用软件。
  • 为学生打下扎实的专业基础。
本书的目标
  • 强化学学生的编程背景知识
  • 动态数据结构的应用
  • 进程概念和进程管理
  • 并发编程
  • 定时器和定时功能
  • 信号、信号处理和进程间通信
  • 文件系统
  • TCP/IP和网络编程
Unix
是一种通用操作系统。大多数Unix系统都是专有的,并且与特定的硬件平台相关联。
+ AT&Unix
+ Berkeley Unix
+ HP Unix
+ IBM Unix
+ Sun Unix
Linux
是一个类Unix系统。
+ Debian Linux
+ Ubuntu Linux
+ Linux Mint
+ 基于RPM的Linux
+ Slackware Linux
虚拟机上的Linux
  • VirtualBox
    我使用的是VirtualBox
    但是当我下载并安装成功后,发现无法打开终端,暂时使用备用终端Xterm使用

  • VMware

Unix/Linux文件系统组织
Unix/Linux文件系统采用树形组织结构。将所有能够存储或提供信息的事物都视为文件。
Ubuntu Linux 系统管理
  • 添加新用户 sudo adduer username
  • sudo命令 允许用户以另一个用户(通常是超级用户)的身份执行命令。

第二章

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

通过sudo下载文本编辑器

下载成功

程序开发
程序开发步骤
  1. 创建源文件

  2. 用gcc把源文件转换成二进制可执行文件


gcc
gcc是一个程序主要包含三个步骤:
                             1. 将从源文件转换为汇编代码文件
                             2. 将汇编代码转换为目标代码
                             3. 链接
下载gcc

静态与动态链接

创建二进制可执行文件的方式有两种:静态链接和动态链接

GDB调试工具

是一个交互式调试工具,可以调试用c、c++和其他几种语言编写的程序。
  1. 使用EMACS创建makefile
  2. 编译源代码。
    3.启动GDB
    4.多窗口GDB
    5.附加GDB命令

ChatGPT苏格拉底挑战



posted @ 2023-09-10 20:53  20211328-张树杰  阅读(15)  评论(0)    收藏  举报