嵌入式安防监控项目——前期知识复习

目录

一、概述

二、C语言

三、数据结构

四、IO进程

五、网络

六、ARM体系结构和接口技术

七、系统移植

八、内核驱动


一、概述

         我再报班之前学过51和32,不过都是自学的。报班开始先从应用层入手的,C语言和数据结构。只要是个IT专业的大学这都是必学课程。之后学习了一些Linux中好用的工具和shell命令。还有makefile。然后学习了内核的执行单位,进程线程。线程是Linux借助C库实现的。本身没有这个机制。其实它本身就是C和汇编写的说它有这个机制我感觉也没啥毛病。然后还有文件的操作IO操作。一些进程线程间的通信机制。有名管道、无名管道、信号、信号量、socket、共享内存、消息队列一共七种通信机制。

        然后又学习了网络编程,以TCP/IP和UDP/IP为基础的通信协议。进程间的同步互斥机制、之后又进行了裸机开发。感觉除了分配CPU的时候其它机制还没32难度大呢。之后是bootloader最后又学了驱动,向下操作硬件。向上提供接口。

二、C语言

注意几个点

运算符的优先级口诀

 

这几个关键字很重要,面试和笔试会考很多,而且也会经常再项目中使用

静态变量被extern修饰也不能被其它文件的函数使用。

 

 

后面那个更常用

还有指针数组是个数组,数组指针是个指针,指针函数是个函数。函数指针是个指针。

然后面试还有一个常见问题就是计算结构体的大小。

 

define没有错误检测,只用再具体使用时才会发现。

typedef再声明结构时就会发现错误

 

 

三、数据结构

链表: 单链表、双链表、单向循环链表、双向循环链表

顺序表:

栈和队列

增删改查

这部分再面试时也会大量的考

这四个排序一定要能手敲 

还有顺序查找和哈希查找也一定要能手敲出来

四、IO进程

 应用层的缓冲区是开辟一片空间用于数据交换

流缓冲是直接刷新进内核

标准IO

 这个FILE进行溯源发现它是一个结构体,里面有读写的buf

守护紧进程一般运行在极端环境下 

 

 

 

 

 

 共享内存和信号量经常同步使用。

 

exec可以了解一下fork的实现

五、网络

IPV4的根服务器全球有13台,美国自己就占了十台,其它三台再欧洲和日本。我们曾经申请拥有一台,但是被拒绝了,这么大的国家一台都没有显然是不合理的。

如果真的被美国关停网络可能会引起更大的混乱,甚至导致战争的彻底失败,对于寻求崛起的中国来说,随时被竞争对手卡着脖子,显然不符合国家利益,为此中国开始在互联网上做出了自己的努力。

为了防止美国关停我们的网络。一是拥有根镜像服务器,根镜像和根服务器的作用和功能几乎完全相同,甚至可以替代本地根服务器完成IP地址的解析工作。目前世界上总共拥有1100多个根镜像服务器,我国自己拥有10个,足以支撑起国内互联网的实用需求。

二是推动国际互联网进入IPV6时代,相比IPV4,IPV6的地址数量更为庞大,甚至能做到赋予全世界每一粒沙子一个独立的地址。IPV6最初是美国推出的全新技术架构,我国却在此基础上推动了打破根服务器垄断局面的雪人计划,确保国际互联网能够实现多边共治,而非掌握在一国手里。

2017年11月28日,由下一代互联网国家工程中心牵头发起的“雪人计划”已在全球完成25台IPv6(互联网协议第六版)根服务器架设,中国部署了其中的4台,由1台主根服务器和3台辅根服务器组成,打破了中国过去没有根服务器的困境。

ping就是ICMP协议

 

 

现在主流的协议大公司都在用epoll可以再1G的内存空间监听几十万个客户端。利用红黑树加链表来实现的. 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

六、ARM体系结构和接口技术

PC是通用计算机系统,所以不属于嵌入式。

 嵌入式领域的五朵金花

 

这些设备现在已经没法分那么细致了,比如USB上插入一个带网口读卡器的拓展坞上面的USB又插了鼠标键盘,这是什么设备? 

 

 

 这块我前面写的还挺细的

 可以看看前面的文章

七、系统移植

uboot是面试经常问的。面试驱动岗内核岗他会问你uboot而不是问你内核

 

这部分很难,而且对未来发展不是很有必要。但是你是芯片厂商开发bootloader的就不一样了。真的很牛。而且不会少挣的。

这些程序写的都挺好的,感兴趣可以追一下看看。

 

八、内核驱动

 

其实我没太明白这个问题。我记得当同一时刻多个任务访问这个设备文件的时候会产生竞态,有一些并发机制可以解决。

字符设备驱动基础(三)_宇努力学习的博客-CSDN博客 

 

 

 

IIC面试时主要问两个方面

协议和驱动

协议上是怎么读写

驱动就是它程序编写的框架

MAssage

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宇努力学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值