自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 双向循环链表

不同版本的双向循环链表

2022-07-30 17:57:33 254 1

原创 顺序表、链表

顺序表、链表表

2022-07-24 23:37:02 130

原创 进程间通信(管道、XSI--->SysV、网络套接字)

进程间通信(管道、XSI--->SysV、网络套接字)

2022-07-24 22:56:49 351

原创 爬虫(requests、re、bs4、xpath)

爬虫(requests、re、bs4、xpath)

2022-07-10 23:31:16 851

原创 管道实例(不是内核提供的管道)

管道(非内核提供的管道)

2022-07-05 22:55:12 64

原创 高级IO(非阻塞IO,有限状态机编程、多路转接、其他读写函数、存储映射IO)

高级IO(非阻塞IO,有限状态机编程、多路转接、其他读写函数、存储映射IO)

2022-07-04 23:08:34 168

原创 信号(信号常用函数、信号集、信号屏蔽字以及pending集的处理、扩展函数、实时信号)

信号(信号常用函数、信号集、信号屏蔽字以及pending集的处理、扩展函数、实时信号)

2022-07-03 23:50:07 232

原创 并发(信号概念、signal、信号的不可靠、可重入函数、信号的响应过程)

并发(信号概念、signal、信号的不可靠、可重入函数、信号的响应过程)

2022-06-26 22:55:38 260

原创 进程三(用户权限以及组权限、解释器文件、进程会计、进程时间、守护进程、系统日志的书写)

进程知识点(用户权限以及组权限,解释器文件,进程会计,进程时间,守护进程,系统日志的书写)

2022-06-21 19:54:34 136

原创 进程二(进程的消亡以及释放资源,exec函数族的使用)

进程的消亡以及释放资源,exec函数族的使用

2022-06-04 19:42:15 271

原创 进程一(pid、进程创建)

进程的介绍以及进程的创建

2022-06-01 16:18:56 1337

原创 进程环境二(环境变量、C程序的存储空空间布局、库、函数跳转、资源的获取以及控制)

环境变量,C程序的存储空间布局,库,函数跳转,资源的获取以及控制

2022-05-31 18:35:48 86

原创 进程环境(main、进程终止、钩子函数、命令行参数分析)

main函数 int main(int argc,char *argv[])进程的终止情况正常终止:从main函数返回调用exit调用_exit或_Exit最后一个线程从其启动例程返回异常终止:调用abort接到一个信号并终止最后一个线程对其取消请求做出响应echo $?//打印上一条语句的执行状态#include <stdio.h>#include <stdlib.h>int main(){ printf("hello\n

2022-05-30 23:05:44 222

原创 文件系统三(/etc/passwd、group、shadow,时间戳)

二、系统数据文件和信息/etc/passwd函数:getpwuid()getpwnam();;#include <sys/types.h>#include <pwd.h>struct passwd *getpwnam(const char *name);//传一个name得到这个用户的详细信息struct passwd *getpwuid(uid_t uid);//传一个id 获得用户的详细信息//通过uid和name查询用户信息 struct passwd

2022-05-29 23:45:36 188

原创 文件系统二

umaskumask是一个命令,可以得到当前的umask值作用:防止产生权限过松的文件也有同名函数文件权限的管理/更改Chmod:chmod 666 .c(文件)改变一个文件的权限fchmod:以上都有同名函数文件系统:FAT,UFS定义:文件或是数据的存储格式问题和管理FAT16/32:是一个静态存储的单链表单链表最大的缺陷是单向的,承载能力有限轻量级,比较容易实现UFS:实际生产环境当中一块的大小4K起步一个文件的几乎所有信息都存放在一个文件的inode当中Inode它

2022-05-27 22:45:08 128

原创 文件系统一(文件属性、文件的访问权限)

文件属性相关函数:stat, fstat, lstat, fstatat------------------------------------- get file status #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int stat(const char *pathname, struct stat *buf);//通过文件名获得文件的属性信息,放

2022-05-15 16:11:59 340

原创 IO学习五(文件共享、原子操作、重定向、同步、fcntl、ioctl、虚目录)

IO的效率问题:习题:mycp(read版本的)里面的BUFSIZE值为1和10的区别,10和100的区别,当BUFSIZE达到一个值,这个时候如果在增大BUFSIZE就会出现性能下降。观察进程所消耗的时间注意性能最佳拐点出现时的BUFSIZE值,以及何时程序会出问题。文件共享:多个任务共同操作一个文件或是协同完成任务。写程序删除一个文件的第十行。文件的存放有点像数组的存放数组当中我们删除一个元素,实际上是把删除的元素覆盖掉,将删除元素后面的元素逐个向前移动。这个数组最终还是那么大的空间,但是会

2022-05-14 20:11:16 255

原创 IO学习四(系统调用IO(文件IO))

系统调用IO(文件IO),文件描述符在文件IO中贯彻始终(fd)每个文件都有一个唯一的inode。打开一个文件也会产生一个结构体文件描述符的概念:实质是一个整形数,是一个数组下标。每次执行一个打开的动作,都会关联一个结构体,这个结构体包含了这个文件的所有属性,将结构体的指针保存在数组当中,所有最后给用户的是一个整形数(数组的下标),操作文件就使用这个整型数,通过这个整数,可以找到指针,这个指针可以知道结构体,通过这个结构体我们操作的就是这个文件。比如当我们fopen打开一个文件的时候,会产生一

2022-05-14 00:38:19 556

原创 IO学习三(fseek、ftell、rewind、fflush、 getline、临时文件)

我们现在要做这样一件事:fp=fopen();打开一个文件fputc(fp) 10;每次写进一个字符,写10次,就往文件中写了10个字符fgetc() 10;想要读出写进去的字符,那么就读10次上面的逻辑是错误的,因为文件当中有一个文件位置指针,写的时候是依次向后移动,读的时候也是,像是一个游标。读和写一定是从当前位置开始的,上面伪码在写完以后,位置指针最终指向的是第十个位置,然后读的时候,就会从第十一个位置开始。读的内容不知道。有一个很笨拙地方法:fp=fopen();fputc(f

2022-05-12 14:53:16 342

原创 IO学习二(fgetc,fputc,fgets,fputs,fread,fwrite,fprintf,fscanf)

作为字符输入输出的相关函数会想到getchar(getchar() is equivalent to getc(stdin))。和putchar(putchar© is equivalent to putc(c, stdout))。fgetc();----------------------input of characters #include <stdio.h> int fgetc(FILE *stream);返回值:fgetc(), getc() and ge

2022-05-11 18:28:56 191

原创 IO学习一(fopen,fclose,文件权限)

I/O:input and ouput,是一切实现的基础分为两种1、标准I/O(stdio):2、系统调用I/O(文件IO)(sysio):若在一个环境下两个IO都可以使用,那么优先使用标准IO看一下,标准IO和系统调用IO之间的联系和区别如果user需要对话kernel时,kernel提供了一组函数让user可以对话kernel这组函数就是sysio(系统调用IO),如果kernel不一样,那么提供的系统调用IO就不一样,就比如说Linux和Windows的内核不一样,那么实现的时候就要顾

2022-05-10 13:31:48 823

原创 线程学习五(线程属性、重入、进程与信号的关系,openmp标准)

线程属性在使用函数pthread_create()int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg);第二个项就用到了属性,是pthread_attr_t类型。之前都是用的NULL,跟着默认来。相关函数:pthread_attr_init();pthread_attr_destroy ();- initialize and d

2022-05-09 13:53:14 529

原创 线程学习四(条件变量,信号量、读写锁)

条件变量(通知法)查询法,需要反复等着一个事件的发生:不停查看状态。上文的任务池就是一直查看状态。下面介绍通知法,使用的是线程的条件变量,pthread_cond_t:相关函数:pthread_cond_init();pthread_cond_destroy();---------------------- destroy and initialize condition variables #include <pthread.h> int pthread_cond_d

2022-05-08 19:07:24 200

原创 线程学习三:互斥量的使用

线程同步解决竞争问题就要用到线程同步,用到互斥量pthread_mutex_t这个机制。互斥量:相当于有一把琐,当一个线程抢到了这把锁,就把门锁上,然后再操作。出来再解锁,再由其他的线程抢锁。是限制一段代码,以独占的形式实现.相关函数:pthread_mutex_destroy();pthread_mutex_init();— destroy and initialize a mutex#include <pthread.h> int pthread_m

2022-05-07 16:00:18 394

原创 线程学习二(线程取消、分离、竞争)

线程取消选项一个线程在运用的过程中一般都会用到线程取消比如说一棵二叉树,查找某个结点,一个查找太累,用多个线程进项查找,会有一个找到,那么其他的线程就需要线程取消,然后在收尸。正在运行的线程是无法收尸收回来的函数pthread_cancel();pthread_cancel - send a cancellation request to a thread#include <pthread.h> int pthread_cancel(pthread_t thread);

2022-05-06 15:25:01 197

原创 线程学习一(线程概念、创建、终止、收尸,栈的清理)

1、线程概念:线程就是一个正在运行的函数一个进程里面至少会有一个线程多个线程的内存是共享的posix线程是一套标准,不是实现openmp线程也是一种标准线程标识:pthread_t(类型不清楚,但是在Linux下是整形数)相关函数介绍:pthread_equal():pthread_equal - compare thread IDs #include <pthread.h> int pthread_equal(pthread_t t1, pthread_t t2)

2022-05-05 15:55:17 687

空空如也

空空如也

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

TA关注的人

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