![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux学习笔记
文章平均质量分 93
ld0524
这个作者很懒,什么都没留下…
展开
-
IO/多路复用(select/poll/epoll)
五种基本的IO模型为什么需要IO多路转接呢?三种IO转接模型的优缺点 select/poll/epoll原创 2022-07-30 10:55:24 · 1233 阅读 · 0 评论 -
多线程(下)
一、信号量1.回忆下互斥锁+条件变量实现生产者与消费者模型的代码我们在判断资源是否可用的时候是程序员使用while循环来进行自己判断的,那么我们不想每次在访问资源的时候手动进行判断,那么我们就需要用到信号量了。2.信号量的原理资源计数器+PCB等待队列资源计数器:执行流获取信号量,获取成功,信号量计数器减1操作,获取失败,执行流放入到PCB等待队列中,执行流释放信号量成功之后,计数器加1操作。生产者与消费者原理图:3.信号量的接口初始化接口:int sem_原创 2022-05-10 10:00:00 · 715 阅读 · 1 评论 -
Linux小王-----多线程(上)
一、线程概念1.线程和进程的关系(工厂与流水线的关系)线程是依附于进程才能存在的,如果没有进程,则线程不会单独存在。(没有工厂就没有流水线) 多线程的存在是为了提高整个程序的运行效率的。线程也被称之为执行流,因为在执行用户自己写的代码。(一个工厂可以建造多条流水线来提高效率)2.曾经学习过的线程(你却不知道)理解之前的:进程在内核当中就是一个task_struct,在该结构体当中的成员变量pid被我们称之为进程号。现在需要理解的:>>1.操作系统当中没有线程的概念,程原创 2022-04-23 22:51:18 · 1546 阅读 · 1 评论 -
Linux进程信号
一、信号的概念信号是一个软中断,只是告诉有这样一个信号,但是这个信号具体怎么处理,什么时候处理由进程决定的,所以是软中断。举个不恰当的例子:看到了红灯你可以选择走也可以选择不走,绿灯你也可以选则走,也可以选择不走。二、信号的产生1.硬件产生(键盘敲):例如:ctrl + c:2号信号 SIGINT(退出一个进程)ctr + z:20号信号 SIGTSTP(终止一个进程),可以通过ps aus | grep “进程名”查看(运行着的进程)进程状态ctr + | :3号信号SIGQU原创 2022-03-27 00:17:43 · 324 阅读 · 0 评论 -
系统章节-----进程间通信
1.为什么需要进程间通信?每一个进程的数据都是存储在物理内存之中的,进程通过各自的进程虚拟地址空间进行访问,访问的时候,通过各自的页表的映射关系,访问到物理内存。从进程的角度看,每个进程都认为自己有独立的4G的空间,至于物理内存当中如何存储,页表如何映射,进程是不清楚的。这也造成了进程的独立性:好处:让每个进程在运行的时候都是独立运行的,数据不会窜。坏处:如果两个进程之间需要数据交换,那么由于进程独立性,就没有那么方便了所以:进程间通信本质上是进程和进程之间交换数据的手段。2.常见的进程原创 2022-03-22 10:40:37 · 4308 阅读 · 0 评论 -
系统章节-----基础IO
1.复习下C的文件接口fopen:打开文件 FILE *fopen(const char *path,const char *mode)path:带有路径的文件名称(如果说不带有路径,打开的文件可以是在当前路径下)mode:打开文件的方式下表为一些常见的mode文件使用方式 含义 如果指定文件不存在 “r”(只读) 为了输入数据,打开一个已经存在的文本文件 出错 “w”(只写) 为了输出数据,打开一个文本文件 (输出...原创 2022-03-05 21:23:44 · 895 阅读 · 0 评论 -
系统章节------2.进程控制
1.进程创建1.1回顾fork让正在运行的进程创建出来一个子进程。它从已存在的进程中创建一个新进程。新进程为子进程,原进程为父进程。pid_t fork(void):返回值:创建成功:>0:返回值大于0,返回给父进程,父进程的fork的返回值。==0:返回值等于0,返回给子进程,子进程的fork的返回值。创建失败:返回-11.2fork内部完成的事情创建子进程,子进程拷贝父进程的PCB分配新的内存块和内核数据结构(task_struct)给子程序 将父进程部分结构原创 2022-03-01 20:30:17 · 264 阅读 · 0 评论 -
系统章节------1.进程概念
1.操作系统概念与定位1.1操作系统是什么?操作系统 = 操作系统内核(win/linux) + 一堆应用操作系统内核:也就是代码程序,代码的作用就是(进程管理,内存管理,文件管理,驱动管 理等等)一堆应用:依附在操作系统内核上完成的某些功能,例如:QQ,微信,飞书等等。1.2操作系统在做什么事情操作系统在管理计算机的软硬件资源硬件资源:CPU,内存,硬盘,网卡,显示器等等软件资源:进程资源,驱动程序1.3操作系统是怎么完成这些事情的通过管理管理 = 描述(tas原创 2022-02-24 15:26:31 · 741 阅读 · 0 评论 -
Linux学习笔记2(工具章节)-------linux环境下代码的编辑、编译与调试
一、包安装器:yum1.yum 就是一个应用商店, 类似于华为商店, 苹果商店等等,里面有经过yum源认证的软件包。如果程序员想要用哪软件包,可以使用yum搜索和安装。由于是从yum源下载到本地进行安装 ,所以必须要有网络2.yum三板斧yum list : 查看yum都有哪些安装包(加上管道进行过滤)例如 : yum list | grep “tree”指令 用法 备注 yum install yum install [-y] [待要安装的软件包.原创 2022-01-10 18:42:09 · 373 阅读 · 0 评论 -
Linux学习笔记1(命令与权限)
一、命令ls :“.”代表当前目录“..”代表上级目录“/”代表Linux操作系统的根目录命令行参数:-l :罗列详细的信息-a : 罗列隐藏的文件-al :既罗列详细信息也罗列隐藏信息-lrt :对文件按照时间排序,修改时间最新的在最下面结论:在Linux操作系统下,不是以文件的后缀来区分文件的类型-l :罗列详细信息-a :罗列隐藏文件Linux操作系统下,隐藏文件是以“ . ”开头的,使用ls...原创 2022-01-09 16:28:54 · 617 阅读 · 2 评论