- 博客(38)
- 收藏
- 关注
原创 任务调度算法等概念
任务调度算法:抢占式调度,高优先级的任务优先执行,并且可以打断低优先级的任务执行。进行时间片轮转,优先级相同的任务拥有相同的时间片,当时间片耗尽时就会退出当前任务。空闲任务是指当系统中没有其他任务执行时,就会执行当前的空闲任务,在开启调度器的时候被创建,可以防止cpu进入空转状态,节约资源,并且回收释放的任务资源。Suspended:任务被挂起,无法执行,但当前任务仍然存在。Ready:当任务被创建出来后,就会进入就绪态。Running:当任务正在执行时就是运行态。Blocked:等待某一事件。
2024-02-15 21:54:38 331
原创 串行通信等概念
串行通信是用一根线来进行数据的发送或接收,串行通信传输数据是一位一位进行传输的。并行通信是用多根先进行数据的发送和接收,并行通信可以一次传输多个数据位。波特率是指每秒传输数据的位数决定串口发送数据的快慢。串行通信的结构简单,成本低,但是传输的速率慢。全双工通信,支持同时进行数据的接收和发送。半双工通信在同一时刻只能进行发送或接收。并行通信的成本高,传输速率快。单工通信只能发送或者接收。
2024-02-15 21:52:03 203
原创 C++封装,继承,多态概念
封装是把函数和变量中的数据,定义到类中包裹起来,提供特定的接口,对象才能访问,将不面向对象的信息隐藏起来。子类从父类中继承的成员放在子类中的首地址上,父类的指针可以指向子类的成员,但是只能访问父类的空间。多态,通俗的来说是有多种形态,不同的对象去完成不同的功能,同样的事件,不同的对象会有不一样的做法。子类的指针指向子类的成员,但可以访问从父类继承中的内容,也可以访问此类自己拓展的内容。继承是指子类会继承父类中的所有成员。类之间的继承关系可以理解为包含关系。多态需要有继承关系,发生在继承之间。
2024-02-07 22:01:33 222
原创 TCP三次握手,四次挥手
第二次握手:服务器收到SYN包,确认客户端的SYN,发送ACK包,同时发送一个SYN包,进入SYN_RCVD状态。第三次握手:客户端接收到服务器的SYN包,以及ACK包,进入establish状态,同时向服务器发送ACK包。第二次挥手:被动方接收FIN包,给主动方发送一个ACK包,进入CLOKSE_WAIT状态。第一次握手:客户端发送SYN包给服务器,进入SYN_SENT状态,等待服务器返回确认包。第一次挥手:主动关闭方发送一个FIN包给被动方,进入FIN_WAIT_1状态。收发是同步的,不会沾包。
2024-02-07 21:54:50 287
原创 进程间通信的7种方式
有两种通信方式TCP和UDP,TCP可以准确无误的通信,无重复,无乱序,无丢失,要进行三次握手和四次挥手。只适用于亲缘进程间的通信,要在fork之前将管道文件打开,子进程继承一份管道文件描述符才可以使用通道。每一个灯,都控制一个进程,并维护一个value值,value值为0,进程阻塞,大于0通信,效率高。削峰:数据库可以缓慢获取消息队列中的数据,允许短暂的高峰期积压,不会造成数据库连接异常。软件模拟的中断,收到信号后由三种操作:忽略,捕获,默认。异步:实现异步运行,加快响应速度,提高效率。
2024-02-03 19:40:28 276
原创 C语言指针,函数指针,指针函数,指针数组区别
这是一个指针数组,从p开始看p 和 []先结合(运算优先级),所以是数组,再和*结合,所以是整型的数组指针。这是一个数组指针,从p开始看p 和 * 先结合, 是指针,再和 [] 结合,是数组,所以是整形的指针数组。这是一个整型数据的指针,指针指向的内容是int类型从p开始看,与*先结合,所以是整型数据的指针。这是一个指针函数,按照上述运算优先级结合,先函数,再指针,所以是整型的函数指针。用来指向二维数组的地址,多用于传参和返回。这是一个函数指针,由与运算优先级可知。它的返回值是指针的函数。
2024-02-02 20:42:30 443
原创 使用三个进程进行文件拷贝
/读取下半部分的内容。//读取上半部分的内容。//定义一个拷贝的文件描述符。//定义被拷贝的文件描述符。//打开被拷贝的文件。
2023-12-06 22:07:34 51 1
原创 创建三个进程进行文件的拷贝
/读取下半部分的内容。//读取上半部分的内容。//定义一个拷贝的文件描述符。//定义被拷贝的文件描述符。//打开被拷贝的文件。
2023-12-06 22:05:08 77 1
原创 使用文件IO完成对图像的读写操作
printf("文件权限 硬链接 用户ID 组ID 文件大小 月份 日期 时间 文件名\n");//读取该图片的大小,需要将光标向后偏移2个字节。//定义一个文件指针,用于存储读取的文件信息。//前54字节是文件头和信息头所占的空间。//将当前文集你的信息打印出来。//循环读取当前目录下的所有文件。//想要对图像内容进行读写操作。//需要将光标向后偏移。//定义一个状态结构体。//读取出图片的大小。
2023-12-05 22:33:06 61 1
原创 打印时间日志 和 使用fread、fwrite完成两个文件的拷贝
/以返回值的形式将时间返回。//将时间字符串写入文件中。fflush(fp);//将秒数分解成时间结构体。//定义时间的容器和时间结构体指针。使用fread、fwrite进行文件的拷贝。//获取系统时间的秒数。//判断操作是否正确。//定义一个文件指针。//定义两个文件指针。//开始进行文件复制。//定义一个行号函数。
2023-12-04 21:14:40 62
原创 关于使用文件指针fgets、fputs进行行号的计算和文件的拷贝
/定义行号的变量和一个装字符串的容器。//判断文件是否读到最后一个字。//判断文件是否结束。//判断文件是否输入有误。//定义两个文 件指针。
2023-12-01 20:10:37 86 1
原创 select实现tcp并发服务器
/ 将双方都文件描述符放入。//将0号文件描述符放入。printf("接收数据为:%s\n", rbuf);//使用sekect阻塞等待集合中的文件描述符有事件发生。//接收select的返回值。//终端输入数据发送服务器事件。//定义一个用于检测文件描述符的集合。//将要检测的文件描述符放入到集合中。//从服务器接收数据事件。//将结合内容复制一份。//创建用于接收链接的套接字。//清空容器中的内容。
2023-11-22 22:26:20 63 1
原创 C语言高级 day 1
在 etc/passwd中查找以bash字符串结尾的行。在/etc/passwd中查找sys用户,显示行号。定义三个文件和一个目录。
2023-10-26 21:09:16 180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人