Linux操作系统
文章平均质量分 63
淡蓝色的经典
这个作者很懒,什么都没留下…
展开
-
Linux操作系统之mysql数据库简介
mysql数据库模型:关系型数据库:指采用了关系模型来组织数据的数据库,关系模型就是指二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。关系型数据库核心元素:数据行(一条记录),数据列(字段), 数据表(数据行的集合),数据库(数据表的集合)。非关系型数据库: 指非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。非关系型数据库以键值对存储,且结构不固定。(ACID,指 原子性,一致性,隔离性,持久性)原创 2023-04-26 13:29:08 · 630 阅读 · 0 评论 -
Linux操作系统之tcp并发编程
因为在服务端与客户端都存在发送缓冲区与接收缓冲区。为什么会出现以上的现象呢?原创 2023-02-12 20:10:14 · 72 阅读 · 0 评论 -
Linux操作系统之网络编程基本流程
数据链路层是两个相邻节点进行数据的传输(A-B),而网络层是两个不相邻的节点(A-D)选择哪一条路径(ip 路由,转发),传输层解决了两个进程(A-D)间数据的传输。MAC地址:48位 物理地址(虽然物理地址也可以唯一标识一台主机,但是物理地址不会随着位置的变化而变化,因此。端口号:应用程序的代号。归根结底网络间的通讯就是不同主机间进程的通讯。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口所提供的服务。网络协议:一组网络规定的规则的集合。网络模型:实际使用的是tcp/ip模型。原创 2023-02-07 17:26:51 · 461 阅读 · 0 评论 -
Linux操作系统之线程生产者消费者
此时子进程已经成为加锁状态,所以在一次上锁,程序变成阻塞状态。那么如何解决这个问题?我们需要保证fork之后,父子进程都有一个清楚的锁状态。计数信号量dfull用来表示有数据的缓冲区的数量,其初值为0。,如果使用的是通一个锁,此时等待5s后,子进程会输出加锁成功。答案先执行p操作,原因当我们先加锁的时候当缓冲区已满的时候,此时生产者p操作阻塞,消费者也上不了锁,程序变为。根据上图我们发现,子进程变为阻塞状态,所以验证了进行fork之后,判断父子线程fork之后,是否使用的同一个锁,首先我们看一段代码。原创 2023-02-04 10:17:06 · 512 阅读 · 0 评论 -
Linux操作系统之线程安全
原因如下:在strtok内部会有一个全局变量静态指针(static char* ptr),一开始指针指向主线程的a,等到后面子线程开始分割时,这个指针又指向了子线程的数字,覆盖掉了ptr。(所以这个函数不能在多线程中使用),所以这类函数我们称为。修改方法:可以设置各自的ptr,自己用自己的ptr ,而不使用全局变量静态指针ptr,这时候我们可以使用stotok_r函数,像这类。如果有时候我们直接创建,并且后面不使用pthread_join的时候,可以设置属性。非线程安全函数,或者不可成重用函数。原创 2023-01-29 16:41:09 · 656 阅读 · 0 评论 -
Linux操作系统之线程同步
一、线程的实现:用户级、内核级、组合二、线程的同步(通讯):信号量,互斥锁,条件变量,读写锁1)信号量2)互斥锁操作:加锁,解锁。3)读写锁4)条件变量原创 2023-01-28 02:10:26 · 480 阅读 · 0 评论 -
Linux操作系统之C语言实现shell命令解释器项目
一、实现原理二、具体实现过程原创 2023-01-12 11:35:25 · 1369 阅读 · 0 评论 -
Linux操作系统之线程创建
一、了解线程二、线程的创建原创 2023-01-11 16:50:28 · 1071 阅读 · 0 评论 -
Linux操作系统之进程间通讯—共享内存与消息队列
一、共享内存1、共享内存的原理2、共享内存的实现三、消息队列1、消息队列原理2、消息队列实现原创 2023-01-10 21:47:45 · 649 阅读 · 0 评论 -
Linux操作系统之进程间通信—信号量
一、信号量的定义?二、信号量的使用三、ipcs的使用原创 2022-12-28 23:11:26 · 513 阅读 · 0 评论 -
Linux操作系统之进程间的通讯—管道
进程间通讯(IPC机制)有哪几种方式?1、管道有名管道无名管道2、信号量原创 2022-12-25 01:27:03 · 881 阅读 · 0 评论 -
Linux操作系统之信号与进程间通信
一、什么是信号二、常见信号的值三、响应信号的方式:signal() 函数四、发送信号:kill()五、子进程给父进程发送信号 SIGCHLD原创 2022-12-13 16:45:36 · 155 阅读 · 0 评论 -
Linux操作系统之进程替换(fork+exec系列函数)
一、什么是进程替换二、exec系列函数1、execl2、execle3、execlp4、execv5、execve6、execvp原创 2022-12-10 00:57:23 · 618 阅读 · 0 评论 -
Linux操作系统之文件操作
一、文件的读操作二、文件的写操作三、文件拷贝操作四、文件操作加fork1)先打开文件,在进程复制2)先复制进程,再打开文件原创 2022-11-27 16:57:07 · 447 阅读 · 0 评论 -
Linux操作系统之僵尸进程
一、什么是僵尸进程?二、僵尸进程带来的危害三、如何解决僵尸进程四、什么是孤儿进程?原创 2022-11-26 12:50:13 · 767 阅读 · 0 评论 -
Linux操作系统之进程复制
一、逻辑地址与物理地址间的映射关系1)什么是逻辑地址和物理地址2)分页存储管理二、进程复制(面试重点)1)进程复制2)引入写时拷贝(面试重点)3)进程复制(fork)与缓冲区的结合(面试笔试重点)原创 2022-11-22 00:04:04 · 455 阅读 · 0 评论 -
Linux操作系统之内存管理
一、程序运行过程二、回顾上节知识点(刷新缓冲区)三、计算机基本组成四、进程管理(重点)1、PCB进程控制块2、进程状态转移图五、虚拟内存与物理内存原创 2022-11-16 02:17:03 · 173 阅读 · 0 评论 -
Linux操作系统之基础理论
一、main主程序的三个参数二、shell 终端三、并发和并行串行四、printf 隐藏的缓冲区原创 2022-11-14 01:08:23 · 399 阅读 · 0 评论 -
Linux操作系统之进程命令和库文件
一、有关进程命令1、ps命令:显示当前终端信息2、ps -ef命令:查看当前终端进程的详细信息二、前台程序和后台程序模式的切换1、首先了解前台后台命令2、前后台的切换1)kill 命令2)进程前后台切换三、runlevel 查看系统运行级别(了解)四、静态库文件和动态库文件(面试可能会考)1、什么是库文件?2、静态库动态库的创建原创 2022-11-13 20:24:39 · 293 阅读 · 0 评论 -
Linux操作系统之c程序的编译与调试
一、程序的编译链接过程二、编译链接在Ubntu上的具体实现三、c程序在Linux上的调试四、makefile文件:实现自动化编译五、find 命令六、grep 命令七、关机 :showdown -h now 立刻关机八、重启:showdown -r now九、文件压缩和解压原创 2022-11-05 22:03:05 · 1789 阅读 · 0 评论 -
Linux操作系统之基础命令二
一、man查看帮助手册二、cp 拷贝三、mv 重命名、文件移动(剪切)四、cat 查看本文件所有内容,内容打印到终端上五、wc 统计单词个数六、head 展示文件内容七、cat和tail的结合使用(面试重点)原创 2022-11-04 11:58:25 · 111 阅读 · 0 评论 -
Linux操作系统之基础命令
一、初识LInux操作系统Linux操作系统和Windows操作系统的区别Linux:分为内核版本和发行版本目录结构命令二、常用命令1.ls命令:查看路径下所存在的文件2.cd命令 :切换路径3.clear:清屏命令4.pwd 命令:查看当前路径5.mkdir 命令 :创建目录6.rmdir 命令:删除文件夹(必须空目录)7.rm 删除文件命令8.touch 命令 创建普通文件9.man:查看函数使用(帮助手册)三、文件类型分类四、文件权限五、vim 使用原创 2022-10-22 02:21:49 · 308 阅读 · 0 评论