1、选择并发模型
并发服务器可以通过多进程,多线程或I/O多路复用来处理多个客户端请求:
多进程模型:每个客户端连接创建一个独立进程,隔离性强,但资源开销大;
多线程模型:每个客户端连接创建一个线程,线程间共享内存,开销比进程小;
IO多路复用模型:通过select()、poll()、或epoll()监控多个连接,适合高并发场景;
2、服务器初始化
创建监听套接字,绑定服务器IP和端口号;
调用listen()开始监听客户端连接请求;
3、并发处理
4、处理客户端请求
5、资源同步与错误处理
对于多线程/多进程服务器,使用锁或信号量防止资源竞争,并处理客户端断开、超时等异常情况,确保服务器稳定运行。
6、循环运行
1、UART
一种常见的异步串行通信协议。
使用两根信号线:TX (发送) 和 RX (接收)。
通常用于嵌入式系统和计算机之间的简单数据通信。
2、I2C
一种多主从半双工串行通信协议。
使用两根信号线:SDA (数据线) 和 SCL (时钟线)。
常用于连接集成电路,如微控制器和传感器。
3、SPI
一种高速全双工同步串行通信协议。
使用 MOSI (主发送从接收)、MISO (主接收从发送)、SCLK (时钟)、SS (片选) 四根信号线。
常用于与传感器、存储器等外设的通信
4、RS-232
5、RS-485
6、CAN
1、串口硬件连接
2、 配置串口通信参数
在使用串口通信时,通常需要设置以下参数:
- 波特率 (Baud Rate):每秒传输的位数,如 9600、 等。
- 数据位 (Data Bits):通常为 8 位,但也可以是 5、6、7 或 9 位。
- 停止位 (Stop Bits):指示每个数据包的结束,通常为 1 位或 2 位。
- 校验位 (Parity Bit):用于错误检测,可以是无校验 (None)、奇校验 (Odd) 或偶校验 (Even)。
- 流控 (Flow Control):可以是硬件流控 (如 RTS/CTS) 或软件流控 (如 XON/XOFF)。
3、使用串口编程 (C 语言示例)
代码解释
打开串口:使用 open() 函数打开 /dev/ttyS0(串口设备文件)。
配置串口:使用 termios 结构设置波特率、数据位、停止位和校验位。
发送数据:使用 write() 函数向串口发送数据。
接收数据:使用 read() 函数从串口读取数据。
关闭串口:使用 close() 关闭串口。
同:
都是同步串行总线
都采用主从模式架构
scl信号都是由主机产生,作用给从机完成数据传输(按位进行数据传输)
都是完成两个芯片之间通信
异:
IIC总线为半双工通信方式(一根双向数据线)
SPI总线为全双工通信方式(两根单向数据线)
IIC总线通过高低电平传输数据,SPI总线边沿触发边沿采样
IIC总线通过寻址和哪一个从机进行通讯
SPI总线通过片选线选择和哪一个从机进行通讯
IIC总线进行数据传输时,必须先发送高位在发送低位
SPI总线进行数据传输时,可以先发送高位在发送低位,也可以先发送低位在发送高位
全双工通信的特点包括:
数据可以在两个方向上同时传输。
需要通信双方各自有独立的发送和接收通道。
通信效率高,没有等待时间。
适用于需要高效数据传输和即时双向通信的场合。
半双工通信的特点包括:
数据可以在两个方向上传输,但同一时间只能在一个方向上传输。
设备会交替地在发送和接收模式之间切换。
通信效率较低,有等待时间。
适用于资源受限或成本敏感的环
1、处理器管理:
最基本的功能是处理中断事件,配置了操作系统后,就可对各种事件进行处理。
另一个关键功能是处理器调度,即根据不同情况采取不同的调度策略,为用户合理分配处理器时间,提高处理器工作效率。
2、存储器管理:
主要指针对内存储器的管理,负责为用户分配主存空间。
还包括保护主存中的程序和数据不被破坏,提高主存空间的利用率。
内存扩充技术如虚拟存储器也是存储器管理的一部分。
3、设备管理:
负责管理各类外围设备,包括分配、启动和故障处理等。
当用户使用外部设备时,必须提出要求,待操作系统进行统一分配后方可使用。
设备管理还包括虚拟设备的实现等高级功能。
4、文件管理:
是操作系统对信息资源的管理,负责文件的创建、删除、读写等操作。
文件管理支持文件的存储、检索和修改等操作,以及文件的保护功能。
通过文件系统,用户可以方便地按文件名存取信息,并合理分配文件的存储空间。
5、作业管理(或用户接口):
每个用户请求计算机系统完成的一个独立的操作称为作业。
作业管理包括作业的输入和输出,作业的调度与控制,这是根据用户的需要来控制作业运行的。
用户接口则提供了用户与操作系统之间的交互方式,使用户能够方便地提交作业、查询系统状态等。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/71361.html