
Linux的系统学习
文章平均质量分 87
主要介绍了Linux下的基础指令、基础工具、进程、线程
bfsm
这个作者很懒,什么都没留下…
展开
-
Linux多线程(下)——线程应用
目录 pthread_create:第二个参数为线程属性,一般置为空,第三个参数为函数指针 pthread_self:返回线程的tid,这是一个地址——线程独有空间的首地址,这个返回值不能使用%d来打印,而要使用%p来打印 -ps -ef -L:查看线程具体信息 -ps -ef -L | grep 进程名字:查看线程具体信息 子进程不会复制父进程中的线程 常用操作:在父进程的线程中创建子进程执行代码,保证线程的安全性 ...原创 2021-05-05 15:45:58 · 199 阅读 · 1 评论 -
Linux多线程(中)——线程安全
目录概念线程互斥抢票代码举例互斥量概念互斥量操作抢票代码改进死锁概念产生的四个必要条件预防死锁避免死锁线程同步条件变量条件变量操作一个厨师与一个顾客的例子多个厨师与多个顾客的例子生产者与消费者模型介绍实现信号量基本概念接口认识举例信号量与条件变量区别 概念 线程安全:描述的是进程中的线程对临界资源的访问操作是否是安全的; 临界资源:多线程执行流共享的资源就叫做临界资源; 临界区:每个线程内部,访问临界资源的代码,就叫做临界区; 原子性(后面讨论如何实现):不会被任何调度机制打断的操作,该操作只有两种状态,原创 2021-04-24 10:12:47 · 479 阅读 · 1 评论 -
Linux多线程(上)——概念与操作
目录线程概念基本概念多线程优缺点多线程用途Linux 进程 VS 线程进程与线程进程中多线程的共享进程与线程关系图线程控制编译问题创建线程线程创建函数线程ID退出线程线程等待线程分离 线程概念 基本概念 概念:借助进程理解线程: 线程是进程中的一条执行流程,在 Linux 下线程是由 pcb 来实现的,相较于我们之前所学的进程 pcb 而言,线程 pcb 更加轻量化,因此 Linux 下的线程被称之为轻量级进程; 一切进程至少都有一个执行线程,这些线程在进程地址空间内运行,共享了进程的大部分资源,将进程原创 2021-04-23 11:46:58 · 182 阅读 · 0 评论 -
进程信号
kill -l:显示系统中所有的信号; jobs:显示当前作业信息; fg 数字:继续运行某个暂停的进程,这个数字是使用jobs命令显示出来的作业前面的数字序号; kill pid:杀死某个进程; 停止的进程是不会处理发送过来的信号的,等到运行了才会处理发送过来的信号; kill -9 pid:强制杀死,除了僵尸进程,其他都能杀死; 僵尸进程是杀不死的,因为它本身就已经死了; ...原创 2021-04-10 17:24:42 · 205 阅读 · 0 评论 -
进程间通信
目录 为什么进程间不能直接通信? 因为进程之间具有独立性,每个进程访问的都是自己的独立的虚拟地址空间,使用的都是虚拟地址,通过页表映射到物理内存,因此就算将数据的内存交给其他进程,它们也无法使用,当然其实也是无法直接给的 只能通过操作系统提供的几种方式来进行: 本质上来说是操作系统为多个进程提供了一处公共的数据传输媒介,这个媒介就是内存; 因为通信场景不同,因此提供了许多方式: 管道:用于传输数据 特性:半双工通信——可以选择方向的单向通信 本质:就是内核中的一块缓冲区(内存) 分类: 匿名管道:管原创 2021-04-07 11:57:21 · 314 阅读 · 0 评论 -
基础I/O
目录库函数I/O接口系统调用I/O接口`open`函数 库函数I/O接口 在之前 C 语言进阶中,我们学习了文件的许多操作,包括fopen、fclose、fread、fwrite、fseek等等,这部分在这里就不做赘述,如果还有小伙伴不懂得可以先看看我的那篇博客:点此跳转 系统调用I/O接口 open函数 int open(const char* pathname, int flags, mode_t mode); pathname:要打开文件的路径名; flags: 必选其一: `` uma原创 2021-04-01 13:26:59 · 222 阅读 · 0 评论 -
进程操作
目录创建进程`pid_t vfork()``pid_t fork()` 创建进程 pid_t vfork() 概念:通过复制调用该函数的进程创建一个子进程,调用的进程为父进程,父子进程共用同一块虚拟地址空间和同一张页表,这样子创建进程的速度是非常快的,但是在有了新技术之后,这种创建进程的方法就被淘汰了; 行为:通过该函数创建子进程后,父进程会受到阻塞,直到子进程退出或者子进程程序替换之后才会恢复运行; 注意:因为共用同一块内存,所以父子进程运行有先后顺序,子进程先运行,父进程后运行;并且子进程不能在 ma原创 2021-03-24 20:46:48 · 297 阅读 · 1 评论 -
进程概念
目录冯诺依曼体系结构 冯诺依曼体系结构原创 2021-03-18 15:10:07 · 286 阅读 · 0 评论 -
Linux基础学习图
原创 2021-03-11 08:54:28 · 125 阅读 · 0 评论 -
Linux开发工具
目录软件包管理工具什么是软件包注意事项操作指令:编辑器插入模式底行模式普通模式编译器gcc 软件包管理工具 什么是软件包 在 Linux 下安装软件,一个通常的办法是下载到软件程序的源代码,并进行编译, 然后得到可执行程序,这样就可以使用某个软件了;但是这样太麻烦了, 于是出现了一些大佬,他们把一些常用的软件提前编译好,做成软件包(可以理解成 windows 上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包,此时只需直接进行安装就可使用这个软件程序了。 软件包和软件原创 2021-02-02 17:07:06 · 1090 阅读 · 0 评论 -
Linux指令学习
目录Linux的目录文件信息基础指令:1、文件显示2、文件信息3、清空屏幕4、跳转目录5、复制粘贴快捷键6、创建文件7、写入8、读取文件9、删除10、创建目录11、显示路径12、移动13、拷贝14、重定向15、压缩解压16、查找匹配17、帮助指令 Linux的目录 上面展示的是在你输入命令前,一定出现的信息,而这三个部分都有不同的含义: 红色:用户名 黄色:主机名 紫色:当前所在目录 所以,这三个信息非常重要,在输入命令的时候,一定要注意自己所在的目录,不要犯操作错目录这种低级错误。 而在Lin原创 2020-12-25 15:36:23 · 156 阅读 · 0 评论 -
Linux学习前言
目录Linux介绍事先说明 Linux介绍 Linux 是一个操作系统的内核,即一个操作系统最为核心的部分,如常见的 Android 操作系统用的则就是 Linux 内核,而 Linux 的发行版则是以 Linux 为操作系统内核的一系列操作系统的合集。 Linux 之所以出名有很多原因,可以说现在只要牵扯服务端开发,则 Linux 就是我们必不可少需要接触的东西。 他继承了 Unix 的很多思想,可以说是 Unix 的子孙后代之一,在 Unix 这个强大的内核下派生出了很多后辈,他们被统称为原创 2020-12-25 15:35:55 · 423 阅读 · 0 评论