(linux struct)-编程之家

linux怎么定义16位数字?

将结构体声明用编译参数括起来就可以让它双字节对齐:

#pragma pack(2)

struct data

{

time_t sTime;

unsigned char uiPipeIndex;

float Press; //#define sample_num 50

float Temp;

unsigned int Flow;

float AnalogFlow;

float Density;

}SAMPLE_DATA;

#pragma pack()

限定是什么意思啊?

全限定名有绝对路径的意思,比如一个文件file的存放路径,其绝对路径可能是/usr/local/sbin/file;这个名词也用在其他地方,比如Java类包的定名:com.linux.struct.sort.bubblesort,从最原始最上层的地方援引到具体的对象,这就是全限定名了。

linux四大基本功能?

一个Linux包含进程管理、内存管理、文件管理、输入输出管理四大基本功能。

1.进程管理

提到进程,首先要介绍进程映像的概念。进程映像由程序段、相关数据段和进程控制块(PCB)组成。所谓创建进程,本质上是创建进程映像中的PCB;而撤销进程,本质上是撤销进程的PCB。因此,PCB是进程存在的唯一标志。

在Linux操作系统中,当一个进程被创建时,系统就为该进程建立一个 task_struct任务结构体。 当进程运行结束时,系统撤消该进程的任务结构体。进程的任务结构体是进程存在的唯一标志。进程的任务结构体为内核管理进程,提供了内核所需了解的进程信息。

2.内存管理

内存管理是操作系统设计中最重要和最复杂的任务之一。有效的内存管理不仅方便用户使用存储器,提高内存效率,还可以通过虚拟内存技术从逻辑上扩充存储器。

在Linux操作系统中,每个进程都有独自的内存空间,使用虚拟内存技术。该操作系统为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存中不经常使用的数据块自动交换到虚拟内存中,而将经常使用的信息保留到物理内存。根据”最近最经常使用“算法,将一些不经常使用的页面交换到虚拟内存。

3.文件管理

文件是操作系统中的一个重要概念,是以计算机硬盘为载体存储在计算机上的信息集合。

Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统(VFS),为各类文件系统提供一个统一的操作界面和应用编程接口。

4.输入输出管理

IO设备管理是操作系统中最凌乱也最具挑战性的部分。由于它包含了很多领域的不同设备及与设备相关的应用程序,很难有一个通用且一致的设计方案。输入输出设备的管理离不开中断这一操作系统最重要的机制。

中断是指在CPU正常运行期间,由于内外部事件或由程序预先安排的事件引起的CPU暂时停止正在运行的程序,转而为该内部或外部事件或预先安排的事件服务的程序中去,服务完毕后再返回去继续运行被暂时中断的程序。Linux中通常分为外部中断和内部中断。