随笔分类 - 嵌入式软件学习心得
摘要:三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。 见过比较典型的面试场景是这样的: 面试官:请介绍下三次握手求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报
阅读全文
摘要:一. 嵌入式软件层次 1) Bootloader->引导加载程序 整个嵌入式系统的加载启动任务完全交给Bootloader完成,它的主要任务是将内核映象从硬盘读到RAM中,然后跳转到内核入口启动内核(操作系统)!通俗来讲,Bootloader的作用就是初始化硬件,启动操作系统。 U-BOOT是Boo
阅读全文
摘要:并发:即同时 并发服务器:实现多客户端同时连接,同时处理多个请求。 利用多进程或多线程的方式处理连接成功后的任务,主程序继续等待连接。 多进程: >>>创建子进程,任务函数交给子进程执行 多线程: >>>创建线程,将任务放置线程执行函数中,传递new_fd给执行函数!!
阅读全文
摘要:1.Linux网络模型 Linux网络编程 >>>socket套接字的编程 2.TCP网络模型 UDP网络模型 在创建套接字后,服务器与客户端都得初始化网络地址 3.网络编程 服务器端: 客户端: 实际编程过程中确保稳定连接,配上故障信息
阅读全文
摘要:标准五层协议结构 TCP/IP协议四层结构: 功能 每层功能概览 ↓ ↓ ↓ ↓ ↓ ↓ 依 次 加 首 部 向 下 运送!再 向 上 拆 解 传 输! 应用层 在用户空间利用进程交互实现,为应用进程规定并提供相关通信的细节。 数据单元:报文 针对每个应用的协议: 电子邮件协议->SMTP (cli
阅读全文
摘要:进程与线程: 进程是一个拷贝的流程,需要更大的系统开销。具有互斥性,某一进程使用着资源其他均需等待。 线程就是把一个进程分为多片,每一片都是一个独立的流程,线程相较于进程没有拷贝这些额外的系统开销。他们共享着进程的代码段、数据段,但每个线程都有属于自己的堆、栈段。所以并发程序设计师常用多线程实现!
阅读全文
摘要:进程控制理论 pid: 标识进程的唯一数字;父进程pid>0,子进程id=0。 进程互斥:若干进程都需要使用同一资源,一个进程运行使用,其他今后才能则需要等待资源释放。 死锁: 多个进程因竞争资源而形成的一种僵局,导致全都无法运行->僵尸进程 为使进程有序进行 >>>多进程程序设计 fork产生子进
阅读全文
摘要:文件编程 文件描述符 fd >>>数字(文件的身份证,代表文件身份),通过 fd 可找到正在操作或需要打开的文件。 基本函数操作: 1)打开/创建文件 2)读文件 3)写文件 发送、接收文件 Linux时间编程
阅读全文
摘要:Linux应用程序需要调用外部函数,主要来源:系统调用、函数库。 函数库的链接方式有:静态函数库、动态函数库两种! 动态函数库:副档名为 .so,文件放置于"/lib/"目录中。 通过内存链接的方式进行调用,避免重复复制,灵活,节省运行空间,主推 >>>不可独立运行 静态函数库:副档名为 .a,文件
阅读全文
摘要:Makefile描述整个程序的编译、链接规则 其中还包括了工程中用到的那些源文件及需要产生的目标文件 1)Makefile编程规则 目标(唯一):依赖(可多个) 命令... 伪目标 2)用变量代替连续出现的东西 3)默认变量 $@ : 代表目标 $^ : 代表所有依赖 $< : 代表第一个依赖 例子
阅读全文
摘要:GDB三个功能 1.启动欲被调试的程序; 2.令程序在指定位置停住; 3.程序被停时,可检查此时程序状态(如变量值)。 GDB调试流程: " - g "编译选项使生成的可执行文件具备可调试信息 按照以上步骤进行,运行后即可输入GDB命令进行调试! GDB调试命令如下:
阅读全文
摘要:基本操作命令如:useradd、userdel、passwd、su 添加用户、删除用户、修改密码、切换用户 ls、ll、cd、cp、mv、chmod ps、kill、man mkdir、touch、tar mount、umonut 加载光盘内容、卸载光盘 基本工具应用 1.Linux文件编辑器——V
阅读全文
摘要:3大特征+1性质: 特征:1)以应用为中心(特定应用) 性质:1)专用的计算机系统 2)软硬件可裁减(适应用需求) 3)功能功耗、体积、成本和可靠性有严格要求
阅读全文

浙公网安备 33010602011771号