传输层协议使用带外数据(out-of-band,OOB)来发送一些重要的数据,如果通信一方有重要的数据需要通知对方时,协议能够将这些数据快速地发送到对方.为了发送这些数据,协议一般不使用与普通数据相同的通道,而是使用另外的通道.linux系统的套接字机制支持低层协议发送和接受带外数据.但是TCP协议没有真正意义上的带外数据.为了发送重要协议,提供了一种称为紧急模式(urgentmode)的机制.TCP协议在数据段中设置位,表示进入紧急模式.接收方可以对紧急模式采取特殊的处理.很容易看出来,这种方
2024-11-19时下缓冲区溢出攻击已经增加,越来越多的程序员使用带有 size 或长度边界的字符串函数,例如: strncpy 和 strncat 。这的确是一个趋势,但标准的 C 字符串函数并不是真正为这些任务而设计的。本文描述一个专门设计用于安全字符串复制的可选的、直觉的和一致的 API 。 将 strncpy 和 strncat 作为 strcpy 和 strcat 安全版本有几个问题。两个函数都是以不同的和非直觉的方法来处理 NULL 结尾的和长度参数,即使有经验的程序员都有时迷惑;而检查什么时候发生截
2024-11-19计算机执行机器代码,用字节序列编码低级的操作,包括处理数据、管理存储器、读写存储设备上的数据,以及利用网络通信。编译器基于编程语言的原则、目标机器的指令集和操作系统遵循的规则,经过一系列的阶段产生机器代码。 GCC C语言编译器以汇编代码的形式产生输出,汇编代码是机器代码的文本表示,给出程序中的每一条指令。然后GCC调用汇编器和链接器,从而根据汇编代码生成可执行的机器代码。在本章中,我们会近距离地观察机器代码,以及人类可读的表示-——汇编代码。 高级语言编程,机器会屏蔽程序实现的细节, 且我们使
2024-11-19今天给同事装server2003的时候遇到一个奇怪的问题。同事的机器为dell E5420笔记本,此前一直运行正常。但是今天重装系统的时候遇到问题了,无论是用硬盘原装工具安装操作系统还是用刻录的光盘安装操作系统都在装载完成文件进入Windows的时候就蓝屏了。蓝屏代码为0X0000007B,最开始以为是硬盘或者内存有问题,但是通过运行笔记本自带的检测程序,发现硬件一切都ok。最后通过在网上找资料有人说可能是硬盘的运行模式不对导致的。于是尝试在bios中将硬盘运行模式从ahic改为ata模式,终于
2024-11-19进程创建时机 进程创建,是指操作系统创建一个新的进程。UNIX系统用fork()系统调用,而windows系统用CreatProcess()。进程创建的时机有: (1)系统初始化。系统的调度进程创建init进程。 (2)执行中的进程调用了fork()系统函数。程序中有fork()函数。 (3)用户登录,用户命令请求创建进程。例如:用户双击一个图标。 (4)一个批处理作业初始化。大型机、高性能计算机用户提交一个课题,则系统建立作业控制块,在作业调度后在系统内存中创建进程
2024-11-19Shell基础 三、Bash的基本功能 1、命令别命与快捷键 2、历史命令 3、输出重定向 4、多命令顺序执行 5、Shell中特殊符号 1、命令别与快捷键 (1)alias:查看系统中命令的别名 (2)alias 别名= '原命令':设定命令别名 例如: ls='ls --color=auto':系统显示的时候的颜色是按照这个选项来显示的,我们可以修改 alias ls = 'ls --color=never' :这条命令就是修改显示出来的颜色是白色 (3)vi ~/.bash
2024-11-19问题 在一个Linux服务器上有shell 脚本如下: 直接执行脚本 sh start.sh 是没有问题的 但是在另一个服务器上,执行这个服务器上的脚本,就会出现 解决办法 无法识别java命令,填写全路径就可以 nohup /usr/java/jdk1.8.0_131/bin/java -jar test.jar >> ./nohup.out 2>&1 & 用了下面的方法无效1、source /etc/profile 和 source /root/.bash_profile
2024-11-19在Ubuntu中,启动项等待时间通常指的是GRUB引导加载程序显示启动菜单的时间。要修改这个等待时间,你需要编辑GRUB配置文件。 完成这些步骤后,GRUB菜单的等待时间将会是你设置的新值。如果你将GRUB_TIMEOUT设置为-1,GRUB菜单将一直显示,直到你手动选择一个启动项。
2024-11-19linux下查看中断请求记录。通过cpu的中断请求的响应,可以看出cpu都在为哪些设备干活,干的活有多少量等信息。 [~]$ cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 0: 1383283707 0 0 0 IO-APIC-edge timer 1: 3 0
2024-11-19本节学习需要注意的三个方面: 一、存储空间的划分与初始化 存储空间的划分(为磁盘分区):将物理磁盘划分为一个个文件卷(逻辑卷、逻辑盘) 目录区:主要存放文件目录信息(FCB)、用于磁盘存储空间管理的信息文件区:主要存放文件数据 有些系统支持超大型文件,可支持由多个物理磁盘组成一个文件卷,如下图。 二、存储空间管理——空闲表法 空闲表法:即用一张表记录磁盘中空闲的盘块。此方法适用于“连续分配方式”。 空闲表的表项由空闲盘的起始块号和空闲盘块数组成。如下图所示 Q:采用这种
2024-11-19