自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Day37

⭐prhread_create函数本身不调用线程过程函数,而是在内核中开启独立线程并立即返回,后续在该线程中执行线程过程函数(多个子进程自由并发执行)线程是进程的子任务,进程有自己的内存区,一个进程内的所有线程共享进程的代码区,数据区、BSS区、命令行参数、环境变量,只有栈区是一个线程一个。⭐main函数其实是主线程的线程过程函数,main函数一旦返回意味着进程即将结束,所有子进程都会结束。start_routine 线程过程函数,所指向函数将在被创建的线程中执行。retval 输出线程过程函数的返回值。

2024-05-06 19:46:54 213

原创 Day36

原理:利用TCP协议三次握手的漏洞,不断发送大量孤立的SYN数据包,而不应答,服务器会认为自己对SYN的回应丢失,不断发送回应ACK占用大量资源。Accept:告诉服务器自己接受什么类型的介质,*/*表示任何类型,type/*该类型下的所有子类型。原理:借助多台被植入攻击木马的傀儡主机向一个目标主机发起集团作战式的拒绝服务攻击。组成:请求方法字段,URL字段、HTTP协议版本字段,用空格分割。返回值:成功返回实际接收的字节数,失败返回-1。返回值:成功返回实际发送的字节数,失败返回-1。

2024-05-04 19:23:19 1005

原创 Day35

参数:sockfd 套接字描述符,调用此函数前是一个主动套接字,不能感知连接请求,调 用并成功返回后是一个被动套接字,具有感知连接请求的能力。ser.sin_addr.s_addr的宏可以指定某一个IP地址,但是更多情况下,取宏INADDR_ANY,可以接收任何一个IP地址的数据。完成4次挥手后,客户端收到ACK应答后,收发循环退出,服务器子进程终止,并在主进程的SIGCHLD(17)信号处理函数中被销毁。返回值:成功返回可用于后续通信的连接套接字描述符,失败返回-1。

2024-05-03 17:50:24 487

原创 Day34

机器与机器、进程与进程通信可以抽象地看成套接字与套接字的通信,套接字可以看成一个文件描述符,通信可以看成对套接字的读写,IP地址区分不同设备,端口号区分同一个设备不同进程(端口号是一个16位无符号整数,0~65535之间,1024之前的被系统占用了)sa_family_t sun_family;//地址族(AF_LOCAL/AF_UNIX)sa_family_t sin_family;本地地址结构,用于AF_LOCAL/AF_UNIX域的本地通信。

2024-05-02 20:08:40 885 1

原创 Day33

msgflg 接收标志,一般取0,取IPC_NOWAIT在没有消息时则不会阻塞,而是返回-1,errno为EAGAIN,有MSG_NOERROR时,类型匹配而消息数据太长则只截取前面msgsz位,其余丢失,如果不包含MSG_NOERROR则不处理该消息并直接返回-1,errno为E2BIG。为了多个进程能够在同一个IPC对象会合,引用了键,每个IPC对象都与一个键相关联,由内核维护,键作为该对象的外部名,键的类型为key_t,在中被定义为int。

2024-05-01 21:58:11 5 1

原创 Day32

也成为FIFO,时一种特殊文件,存在于文件系统中,实质时一块内存伪装成文件形式,使之可以被任何进程调用,大小为0。int pipefd[2]中存放着读端和写端的文件描述符,通过文件描述符去进行读写操作。在通过exec创建新进程时候可以指定命令行参数,实现将创建者进程的某些数据传入新进程。⭐管道就是一种这样的特殊文件,属于半双工通信,只有i节点,没有数据块,不存储数据。⭐负责读的进程要关闭写的文件描述符,负责写的进程要关闭读的文件描述符。无名管道用于父子进程或同父进程的兄弟进程间通信。

2024-04-30 15:29:16 308

原创 Day31

每个进程都有一个信号掩码,位于信号掩码的信号产生后不会被递送到相应进程,而是阻塞在未决状态,当取消屏蔽后,处于未决状态的信号会被送到进程(信号处理函数执行期间就会有一个信号屏蔽的过程)⭐调用进程睡眠seconds秒,除非有信号终止了调用进程或被其捕获,信号处理函数返回时,sleep函数才会返回,且返回值为剩余秒数,否则返回0表示睡眠充足。⭐有信号终止了调用进程或被其捕获,信号处理函数返回时,pause函数才会返回,且返回值为-1,同时置errno为EINTR,表示阻塞的系统调用被信号中断。

2024-04-29 19:10:18 455

原创 Day30

typedef void(*sighandler_t)(int) //信号处理函数的声明,不能缺少,实质上没有返回值,参数为int类型的信号编号的函数。signum 信号编号,取0可以检测进程是否存在,不存在返回-1,且errno为 ESRCH,进程以僵尸形式存在也是存在。指的是一个进程的终止向其父进程发送SIGCHDL(17)信号,可以在信号处理函数中高效回收子进程僵尸。捕获:收到信号的进程会暂停执行,转向一段事先写好的处理代码,执行完后再转回暂停的地方继续执行。返回值:成功返回0,失败返回非0。

2024-04-24 18:26:13 561

原创 Day29

⭐system函数调用了vfork、exec、waitpid(vfork和fork的区别在于vfork不复制副本而是先共用一块表,但此时父进程不能使用,当子进程有了自己的表,再还给父进程)char* const envp[] 为新进程配置的环境参数,用字符串数组形式存储表达,以空指针结束,不指明环境变量则从调用进程复制。exec函数创建一个新进程,用自己的全部地址空间覆盖调用进程的地址空间,但进程的PID不变。新进程的创建就是先用fork函数创建子进程,子进程再用exec函数变成一个新进程。

2024-04-23 21:26:06 411

原创 Day28

参数:function 函数指针,指向退出处理函数,其第一个参数为函数退出码,第二个参数 来自传递给on_exit函数的arg参数。真:正常终止 WEXITSTATUS(status) -> 进程退出码。假:正常终止 WEXITSTATUS(status) -> 进程退出码。参数:status 输出型参数,进程退出码,相当于main函数返回值。假:异常终止 WTERMSIG(status) -> 终止进程的信号。真:异常终止 WTERMSIG(status) -> 终止进程的信号。

2024-04-22 16:06:00 469 1

原创 Day27

⭐父子进程关系:除代码区外其他区均属于子拷父的拷贝副本内存,代码区属于父子共享内容(文件描述符也会复制一份,父子进程均指向同一份文件表项,因此要避免文件读写位置的相互影响)父进程创建子进程,子进程先于父进程终止,子进程的终止状态还保留在内存中,没有被父进程回收,被称为僵尸进程。父进程有子进程的话,直接再创建子进程,父子两个进程分别会创建一个对应的子进程。返回值:成功在父进程返回子进程PID,在创建的子进程中返回0,失败返回-1。//返回进程的父进程PID。0号进程:调度进程,所有进程的根进程。

2024-04-21 18:16:49 445 1

原创 Day26

⭐文件锁是一个君子协议,大家都遵循加锁——读写——解锁按部就班执行才能生效,当一个进程对一个被其他进程已加锁的文件直接进行读写操作时,不会被约束。作用:解决多个进程对文件的操作冲突,执行文件之前加锁,,能加上锁再操作,上锁后,其他进程无法对文件进行操作。//锁区偏移起点:SEEK_SET/SEEK_CUR/SEEL_END。//锁类型:F_RDLCK/F_WRLCK/F_UNLCK。//加锁进程的PID,-1表示自动设置。

2024-04-20 17:16:58 708

原创 Day25

2、用close函数删除关联一个文件表项的所有文件描述符,文件表项才会被销毁,.v文件释放同理。⭐1、只是复制文件描述符,不复制文件表项和v节点,新旧文件描述符均指向同一个文件表项和v节点。3、文件读写位置保存在文件表项中,因此被关联的文件描述符读写操作相互影响。⭐目标文件描述符表项为空则直接复制,非空则先关闭文件描述符newfd再复制。功能: 复制文件描述符到文件描述符表中的最小可用项。返回值:成功返回目标文件描述符,失败返回-1。返回值:成功返回文件描述符,失败返回-1。

2024-04-18 20:45:48 305

原创 Day24

mode 权限模式 用0XXX表示,从高到低依次表示拥有者用户、同组用户和其他用户,读r用4表示、写w用2表示、执行x用1表示,最后加到一起。⭐调用进程自动会用掩码屏蔽掉指定权限位,如初始掩码值为0002,当指定权限为0666时候,系统不会给其他用户写权限,掩码可以改。内核通过文件描述符找到在文件描述符表中找到对应文件的文件表项指针 -> v节点指针 -> i节点。进程表->文件描述符表:文件描述符标志、文件表项指针。返回值:成功返回实际读取的字节数,失败返回-1。O_EXCL 不存在即创建,存在即报错。

2024-04-17 12:40:14 505 1

原创 Day23

返回值:成功返回映射区虚拟内存的起始地址,失败返回MAP_FAILED(-1)参数:start:映射虚拟内存的起始地址,一般用NULL,系统自动选定。MAP_PRIVATE 对映射区的写操作只反映到缓冲区,不会写入文件。length:映射区地址字节数,自动按页园整算(4096)MAP_SHARED 对映射区的写操作直接反映到文件中。需要#include <sys/mman.h>length:映射区字节数,自动按页圆取整。参数:start:映射区虚拟地址的起始地址。⭐允许对映射区的一部分进行解除映射,

2024-04-16 20:16:11 287 1

HTTP_LED.ino

HTTP_LED.ino

2023-11-23

04-混淆矩阵的实现.ipynb

04-混淆矩阵的实现.ipynb

2023-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除