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

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

时间:2023-09-10 18:56:03浏览次数:50  
标签:源代码 第一周 信息安全 笔记 生成 编译 进程 执行 链接

   </d     第一章 知识点归纳: 1。进程: 进程是计算机中正在运行的程序的实例。在操作系统中,每个进程都有自己独立的内存空间和执行环境。进程可以包含一个或多个线程,每个线程执行进程的一部分任务。进程之间是相互独立的,它们通过进程间通信(IPC)来进行数据交换和协调。

每个进程都有一个唯一的标识符,称为进程ID(PID)。操作系统使用进程管理来调度进程的执行,分配资源,并提供进程间的通信机制。进程可以处于不同的状态,如就绪、运行、阻塞等,根据调度算法,操作系统会在这些状态之间进行切换。

进程可以执行各种任务,例如运行应用程序、处理用户输入、进行文件操作、进行网络通信等。多进程编程可以提高系统的并发性和响应性,但也需要合理地管理系统资源,以避免过多的进程竞争和资源浪费。

总结来说,进程是计算机中正在运行的程序的实例,它具有独立的内存空间和执行环境,可以包含多个线程,通过进程间通信进行数据交换和协调,操作系统通过进程管理来调度和管理进程的执行。
最有收获的内容:
GCC是一种广泛使用的编译器,它将源代码转换为可执行程序。GCC的编译过程可以分为三个主要步骤:预处理、编译和链接。

预处理(Preprocessing): 在这个步骤中,GCC会对源代码进行预处理。预处理器会执行以下操作:
去除注释:将源代码中的注释(以"//"或"/* */"形式表示)删除,使其不包含在后续的编译过程中。
处理宏定义:将源代码中定义的宏替换为其对应的实际内容。例如,对于#define PI 3.14159,预处理器会将所有出现的PI替换为3.14159。
处理条件编译指令:根据条件编译指令(如#ifdef、#ifndef、#if等)的结果,选择性地包含或排除某些部分的代码。
处理头文件引用:将#include指令所引用的头文件插入到源代码中。预处理器会递归地处理所有引用的头文件,直到所有相关的代码都被包含进来。 预处理的结果是一个经过处理的源文件,其中已经消除了注释、替换了宏定义,并且 所有的头文件都已被包含。
编译(Compilation): 在这个步骤中,GCC将预处理后的源文件转换为汇编代码。编译器会执行以下操作:
词法分析:将源代码分解成多个记号(tokens),如关键字、标识符、运算符等。
语法分析:根据编程语言的语法规则检查记号组成的语法结构,并生成一棵抽象语法树(AST)。
语义分析:检查语法树是否符合语义规则,如变量使用是否正确、函数调用是否匹配等。
优化:对生成的中间表示进行优化,以提高可执行程序的效率。
生成汇编代码:将优化后的中间表示翻译成目标机器的汇编代码。
链接(Linking): 在这个步骤中,GCC将编译阶段生成的汇编代码和库链接到一起,生成最终的可执行程序。链接器会执行以下操作:
符号解析:将引用的函数和变量与其定义进行匹配。如果某个符号在当前文件中找不到定义,链接器会在其他目标文件或库中查找。
地址重定位:根据实际的内存地址,修改汇编代码中的地址引用,以便正确地访问函数和全局变量。
符号表生成:生成一个包含所有符号及其地址信息的符号表,以供其他程序使用。
最终,链接器将所有模块组合在一起,生成可执行文件(或共享库),该文件可以在相应的操作系统上运行。
这是我对gpt的苏格拉底提问。


2、程序的执行过程。
程序的执行过程可以分为编译阶段和运行阶段两个主要步骤。

编译阶段:

预处理:源代码会首先经过预处理器进行处理,包括宏替换、条件编译等操作。
编译:经过预处理后的代码会被编译器翻译成汇编语言或机器语言的形式,生成目标文件。编译过程中会进行词法分析、语法分析、语义分析、优化等操作。
汇编:目标文件会经过汇编器将其转换成机器语言指令的形式,生成可重定位目标文件(例如ELF格式)。
链接:如果程序依赖于其他目标文件或库文件,链接器会将所有相关的目标文件和库文件进行链接,生成可执行文件。链接过程包括地址分配、符号解析、重定位等操作。最终得到可以在特定平台上运行的可执行文件。
运行阶段:

加载:操作系统会将可执行文件加载到内存中,并分配必要的资源。
执行:CPU从程序的入口点开始执行指令,按照指令的顺序逐步执行。
运行时库:程序在运行过程中可能会使用到一些系统提供的库函数,这些函数由运行时库提供支持。
终止:程序执行完成后,操作系统会回收相关资源,并将控制权返回给用户。
需要注意的是,不同的编程语言和运行环境可能有所不同,但一般遵循上述的编译和执行过程。此外,有些编程语言还可以进行解释执行,即在运行阶段逐行解释执行源代码,而不需要先进行编译生成可执行文件。

总之,程序的执行过程涵盖了从源代码到可执行文件再到实际运行的多个步骤,每个步骤都有特定的任务和操作,最终实现了程序的执行。
苏格拉底提问:





实践过程:
虚拟机在大一时已经安装过,就不再安装。
安装emacs的过程:

检验emacs的版本:

emacs的创建文件的询问过程:

创建一个新的用户名:

ls的使用方法:

标签:源代码,第一周,信息安全,笔记,生成,编译,进程,执行,链接
From: https://www.cnblogs.com/ljy12392/p/17691663.html

相关文章

  • 《信息安全系统设计与实现》第一周学习笔记
    《信息安全系统设计与实现》第一周学习笔记第一章摘要本章介绍了Unix的历史,包括贝尔实验室开发的Unix早期版本以及其他版本。此外,还介绍了Linux的开发及其各种发行版本,列出了适用于Linux的开发的各种硬件平台和虚拟机,并展示了如何将UbuntuLinux同时安装到MicrosoftWindows......
  • 学习笔记1
    学习笔记1第一章本书目标强化编程背景知识动态数据结构的应用进程概念和进程管理并发编程定时器和定时功能信号、信号处理和进程间的通信文件系统TCP/IP和网络编程关于UnixAT&TUnixBerkeleyUnixHPUnixIBMUnixSunUnix关于LinuxDebainLinuxUbuntu......
  • 第1、2章学习笔记
    教材第一、二章读书笔记主要内容第一章主要学习了Unix的历史、开发及其各种发行版,列出了适用于Linux的各种硬件平台和虚拟机,揭示了常用的命令和文件系统组织、文件类型。第二章主要学习了基于GUI的编辑器,展示了如何在命令和GUI模式下使用EMACS编辑器来边集、编译和执行C语言......
  • 学习笔记1
    1.知识点归纳①Ubuntu②如何安装虚拟机③如何下载VMwareWorkstation④Unix/Linux命令2.问题与解决过程......
  • 经典接雨水-刷题笔记
    leetcode42按行求(测试用例通过,但超时)classSolution{publicinttrap(int[]height){intres=0;intn=height.length;intmaxh=0;for(inti=0;i<n;i++){maxh=Math.max(maxh,height[i]);}for(intr......
  • 20211421《信息安全系统设计与实现》第一周学习笔记
    知识点总结第一章关于本书研究Unix/Linux系统编程的专著,涵盖Unix/Linux的所有基本组件,包括进程管理、并发编程、定时器和时钟服务、文件系统、网络编程和MySQL数据库系统。本书目标强化学生编程背景知识动态数据结构的应用进程概念和进程管理并发编程定时器和定时功能......
  • 学习笔记1
    ChatGpt的苏格拉底挑战:有关内核:linux系统的核心是内核。内核控制着计算机系统的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。内核主要负责以下4种功能。·系统内存管理·软件程序管理·硬件设备管理·文件系统管理  有关GCC:GNUCompilerCollection,编译器集合......
  • Node.js+Express+Koa2开发接口学习笔记(二)
    搭建开发环境从0开始搭建,不适用任何框架使用nodemon监测文件变化,自动重启node使用cross-env设置环境变量,兼容maxlinux和windows创建项目文件夹blog-1,在终端输入命令npminit-y在根目录下创建bin=>www.js文件,将初次运行的文件www.js存放在bin目录下。同时需要修改pack......
  • 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......
  • 【学习笔记】折半搜索 Meet In The Middle
    点击查看目录目录算法实现杂题乱写[CEOI2015Day2]世界冰球锦标赛题单oi-wiki算法实现我们正常的搜索应该是一个指数级的:\(2^n\)。然而我们可以把这个搜索拆成两半,设小于整张图的限制\(limit\)为合法:对于上半搜索,我们有若干符合限制的答案\(sum_1\),对于下半搜索,我......