![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux/操作系统
文章平均质量分 94
0x5A0x420x42
这个作者很懒,什么都没留下…
展开
-
多线程
线程概念:线程是进程中的一条执行流在linux中,pcb是调度程序运行的描述,一个pcb就可以调度一段程序的运行;线程是进程中的一条执行流,而这个执行流linux下就是通过pcb实现的,因此线程是一个pcb;并且这些pcb共享了进程中的大部分资源,因此相较于传统的pcb更加轻量化,所以称之为轻量级进程在linux操作系统中,其实没有线程的概念,只有轻量级进程的概念,在linux下pcb可以实现程序的调度运行,因此在实现线程的时候,使用了pcb来实现;创建线程会伴随在内核中创建一个pcb来实现程序的调原创 2020-08-09 20:48:20 · 362 阅读 · 0 评论 -
进程间通信的方式
文章目录进程间通信管道管道的特性匿名管道命名管道共享内存消息队列信号量进程间通信进程间通信(IPC):操作系统为用户提供的几种进程间通信方式为什么操作系统要为用户提供进程间通信方式?因为进程的独立性(每个进程都有自己的独立虚拟地址空间,操作的都是自己的虚拟地址),因此进程之间无法直接通信如何提供进程间通信方式?给多个进程之间提供一个大家都能访问到的传播介质进程间通信的方式:从unix借鉴而来:管道(资源传输)systemV标准的进程间通信方式:共享内存,消息队列,信号量命令原创 2020-08-09 16:20:28 · 216 阅读 · 0 评论 -
Linux下文件输入输出操作
基础IO:文件输入输出操作C标准库IO接口:fopen、fclose、fwrite、fread、fseek、stdin、stdout、stderrfopen:FILE* fopen(char* filename,char* mode);(文件名称,打开方式)打开方式:r只读 r+读写 w只写 w+读写 a追加写 a+追加读写 b二进制操作追加写:每次写入数据总是写入到文件末尾r+的读写和w+的读写有什么区别:r+读写打开文件时若文件不存在则报错,w+读写打开文件时若不存在则创建,若存在则清空原有原创 2020-08-09 14:26:07 · 541 阅读 · 0 评论 -
实现一个简单的shell
shell:命令行解释器,是一段程序,获取标准输入,进行解析,得到用户想要运行的shell命令程序名称,以及运行参数,然后运行这个指定的程序,将参数赋予其中。minishell编写思路:1.获取标准输入,得到用户输入的字符串--------gets从标准输入获取一行数据2.对输入的数据进行解析,得到指令程序名称以及运行参数--------按照空格对字符串进行分割,定义一个字符串指针,指向输入数据的起始位置,如果是空格,指针就往后移动,直到不是空格,然后将非空格走完,直到遇到空格为止,则认为这次的字符串原创 2020-06-13 15:04:00 · 493 阅读 · 0 评论 -
Linux下进程的相关操作
进程的相关代码操作创建:pid_t fork(void);----通过复制父进程创建子进程----父子进程数据独有,代码共享写时拷贝技术:子进程创建出来后,各个虚拟地址在物理内存中的指向与父进程完全相同,这是为了提高子进程的创建效率(否则要为子进程开辟物理内存,拷贝数据、更新页表,整个过程比较慢,并且有可能子进程根本不会用这些数据),若某一块物理内存中的数据即将发生改变(某个进程要对这块内存进行写操作),则给子进程相应的数据开辟物理内存,将数据拷贝过来代码共享:主要因为代码是只读的,不能改变的。返原创 2020-05-31 20:12:09 · 295 阅读 · 0 评论 -
进程、环境变量和程序地址空间
目录进程程序的描述信息中都包含哪些信息怎么样来创建和查看进程?linux下进程状态:几个特殊的进程环境变量命令操作:代码操作:程序地址空间虚拟地址空间是什么?为什么要使用虚拟地址空间页表如何映射虚拟地址和物理地址、如何通过虚拟地址找到物理内存进程进程实际上就是一个程序的运行中的描述信息----pcb,通过这个描述信息可以实现对程序的运行调度和管理,linux下这个pcb就是一个task_struct结构体;为什么需要对程序的运行进行调度和管理呢?这就需要了解cpu的运行机制。cpu分时机制:操作系统原创 2020-05-31 19:58:24 · 439 阅读 · 0 评论 -
Linux常用基础指令
Linux操作系统因为其开源和免费的特性,在企业级服务器市场占据了很大份额,因此我们需要学习在Linux下的编程以适应企业用人需求;而在学习linux时,我们首先需要了解一些常见的指令目录标题标题...原创 2020-05-26 19:51:18 · 460 阅读 · 0 评论 -
Linux权限
目录linux下权限的认识Linux系统的操作权限:Linux下文件的操作权限文件权限的基本操作umaskchmod粘滞位linux下权限的认识权限是什么–对用户的一种权力限制(出于系统安全考虑)Linux系统的操作权限:管理员用户(root)普通用户Linux下文件的操作权限文件对用户进行分类:所有者(u)/所属组(g)/其它(o)对用户所能进行的操作进行分类:可读(r)/可写(w)/可执行(x)权限的表示方法:打开终端,敲下ls -l查看文件详细信息在上面的图片中,以a.o原创 2020-05-27 16:12:23 · 279 阅读 · 0 评论 -
Linux常用工具
目录软件包管理工具yum个人编程工具编辑器:vim编译器:gcc/g++调试器:gdb项目的管理工具项目的自动化构建工具:make/Makefile项目的版本管理工具:git软件包管理工具yum如何查看能够安装的软件包yum list 默认是去系统的官方服务器请求当前版本的系统能够安装哪些软件包yum list | grep vim 从yum list中查找包含有vim字段的行yum search vim 与上条命令效果相似如何安装指定软件包安装软件包是给系统安装应用,因此需要原创 2020-05-28 18:42:14 · 333 阅读 · 0 评论