• 《信息安全系统设计与实现》学习笔记1


    第1章 引言

    教材学习内容总结

    第1章主要介绍的是一个关于本书系统编程的综述以及Unix、Linux、虚拟机安装的讲解。

    一、系统编程总体介绍

    系统编程是学习计算机不可或缺的一部分,通过对该书目录的浏览,不难看出系统编程是一门结合多门知识体系的课程,涉及许多在大一、大二学习的课程,如C语言程序设计、数据结构、信息安全导论等等。在这两年的学习生活中,通过和其他系同学的接触,我们能感受到编程实践能力相对较弱,即将想法付诸实现较困难,我想通过阅读系统编程这本书,能够有效提高自身高级编程所需的背景知识和技能。

    二、Unix介绍

    Unix是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。Unix作为一种开发平台和台式操作系统获得了广泛使用,目前主要用于工程应用和科学计算等领域。

    Unix版本:

    Open Solaris
    Oracle Solaris
    IBM AIX
    HP-UX
    UNIX V6
    BSD UNIX
    Solaris
    

    三、Linux介绍

    Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

    Linux版本:

    Ubuntu Linux
    Linux Mint
    基于RPM的Linux
    Slackware Linux
    

    四、Unix/Linux命令

    第2章 编程背景

    教材学习内容总结

    第2章主要介绍的是Linux中文本编辑器的使用以及C语言在Linux下的安装、运行和实现

    一、Linux中的文本编辑器

    1、vim

    Vim有三种模式:命令模式、插入模式、末行模式
    系统启动时默认是命令模式,输入i或是a切换到插入模式,退出插入模式则需按Esc键。在命令模式下输入;则切换到末行模式。

    (1)命令模式
    h:左移一个字符
    j:下移一个字符
    k:上移一个字符
    l:右移一个字符
    
    (2)插入模式
    i:插入文本
    a:追加文本
    
    (3)末行模式
    :w:保存文件
    :q:退出文件
    :wq:保存并且退出
    :q!:表示强制退出,刚才做的修改操作不做保存。
    

    2、WYSIWYG

    Ctrl+C: 中断程序运行
    Ctrl+K: 删除从光标所在位置到行末
    Ctrl+Y: 
    Ctrl+S: 
    

    3、gedit

    GNOME桌面默认环境默认的文本编辑器

    4、emacs

    命令行输入 apt-get install emacs进行安装

    二、在Linux下使用C语言

    安装

    三、程序开发

    1、程序开发步骤

    创建源文件
    用gcc把源文件转化成二进制可执行文件(默认的二进制可执行文件名为a.out)
    

    2、a.out文件

    文件头:文件加载信息和大小
    代码段:程序的可执行代码
    数据段:初始化全局变量和静态数据
    符号表:非必要,运行调试所需
    

    四、Unix/Linux make工具、makefile

    1、makefile格式

    目标项
    依赖项
    规则
    

    五、GDB调试工具

    在emacs IDE中使用GDB

    创建makefile:
    t:t.c    
    gcc -g -o t t.c
    
    生成一个二进制可执行文件:
    gcc -g-o t t.c
    
    预处理
    gcc -E xx.c -o xx.i
    
    编译
    gcc -S xx.i -o xx.s
    
    汇编
    gcc -c xx.s -o xx.o
    
    链接
    gcc xx.o -o xx
    

    六、C语言、数据结构相关知识应用

    1、结构体和指针

    2、链表

    3、树和二叉树

    问题与解决思路

    问题:无法安装emacs

    使用书本上的安装代码 sudo apt-get install emacs 显示出错

    解决思路:

    1、尝试更新软件,然而依然无法安装。


    2、尝试卸载后再重装,依然不行。 卸载代码 sudo apt-get remove --auto-remove emacs

    3、网上查找相关报错语句的解决方案,但在尝试过后依然报相同错误。

    https://blog.csdn.net/qq_16759959/article/details/103370681

    4、重新下载一个新的虚拟机,再尝试下载,成功下载emacs并运行。

  • 相关阅读:
    Linux下卸载mysql
    ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
    Centos系统创建用户oracle后,用该用户登陆系统,页面加载报错GConf error
    Java Web 深入分析(6) Tomcat
    CSS 类选择器
    myeclipse 破解
    Java Web 深入分析(5) Java ClassLoader 工作机制
    JFinal(2)JFinal 学习资料
    JFinal(1)JFinal helloworld
    Java Web 深入分析(4) Java IO 深入分析
  • 原文地址:https://www.cnblogs.com/daijunxi2019/p/15259568.html
Copyright © 2020-2023  润新知