《信息安全系统设计与实现》第一周学习笔记
第一章
关于本书
内容:研究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下载文本编辑器

下载成功

程序开发
程序开发步骤
-
创建源文件
![]()
-
用gcc把源文件转换成二进制可执行文件
![]()
![]()
![]()
gcc
gcc是一个程序主要包含三个步骤:
1. 将从源文件转换为汇编代码文件
2. 将汇编代码转换为目标代码
3. 链接
下载gcc

静态与动态链接
创建二进制可执行文件的方式有两种:静态链接和动态链接
GDB调试工具
是一个交互式调试工具,可以调试用c、c++和其他几种语言编写的程序。
- 使用EMACS创建makefile
- 编译源代码。
3.启动GDB
4.多窗口GDB
5.附加GDB命令
ChatGPT苏格拉底挑战









浙公网安备 33010602011771号