linux服务器 中低端的应用服务器
嵌入式linux系统 信息家电 智能仪表 网络安全产品
多用户 多任务 linux编程接口 shell ssh
多看书 多动脑 多动手...
1.上电
2. reset 特殊的硬件电路产生一个逻辑值 CPU复位 ROM中 启功代码处
bios 代码
3.固化rom中的启动代码
bootloader 装载内核 省去BIOS uboot
3.内核装入内存 /sbin/init init 进程
linux shell 分为两种模式
1. 交互模式
终端输入的每一命令 都由shell 先解释 然后传给 linux内核
内核再调用相应的系统程序后返回结果给用户
2. 非交互模式
命令行运行脚本 shell 自动化 批量解释命令。
预处理 编译 汇编 链接 g++的基本使用
在Linux下程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。
ulimit -c unlimited
2.1. /proc/sys/kernel/core_uses_pid可以控制core文件的文件名中是否添加pid作为扩展
gdb exe core
3. 文件偏移
FILE* fp = NULL;
fp = fopen(CHASSIS_UPGRADE_FILE_PATH, "r");
if (NULL == fp) {
pr_err("file open failed.\n");
return -1;
}
fseek(fp, file_offset_, SEEK_CUR);
fread(arr, 1, 256, fp);
fclose(fp);
file_offset_ += 256;
fseek(fp, file_offset_, SEEK_CUR);
fread(arr, 1, (file_max_ - file_offset_), fp);
fclose(fp);
4.创建进程
fork exec system
前台进程 需要和用户交互的进程
后台进程
守护进程 运行在后台的一种特殊进程
独立于控制终端 并且周期性地执行某种任务 或者 等待处理某些发生地事情