Linux
文章平均质量分 84
MisakiFx
个人博客:https://misakifx.github.io/
展开
-
【Linux】文件IO详解
Linux文件结构文件描述符 文件描述符已经不陌生了,在一个进程中一个打开的文件就是用一个文件描述符所表征的,可以看作是一个句柄,就是所谓的遥控器。但是这个遥控器到底怎么来控制具体的文件呢?接下来会依此讲解文件描述符背后的在UNIX环境下实现相关的数据结构。UNIX环境下的文件共享 文件描述符用来表征一个文件,但是为什么操作系统要用这么一个整数来表征一个文件呢?这就操作系统底层实现有莫...原创 2020-04-05 19:03:21 · 3054 阅读 · 1 评论 -
【Linux】请问下面的程序一共输出多少个“-”?
请问下面的程序一共输出多少个“-”?int main(void){ int i; for (i = 0; i < 2; i++) { fork(); printf("-"); } return 0; } 运行结果[misaki@localhost test]$ ./main --------结果分析 ...原创 2019-10-24 11:41:17 · 1488 阅读 · 1 评论 -
【Linux】第八章-多线程
第八章 多线程线程概念 多进程任务处理是同时通过多个进程进行任务,多个pcb拥有多个虚拟地址空间,分别执行不同的代码,之间互不关联。而多线程是通过多个pcb共用一个虚拟地址空间,分别执行虚拟地址空间上所对应的多个不同的物理内存中的代码。即一个虚拟地址空间对应多个物理内存。 之前我们说linux下pcb是一个进程,但其实linux下线程以进程pcb模拟实现线程,因此linux下pcb是线程...原创 2019-09-19 18:08:22 · 193 阅读 · 0 评论 -
【Linux】第六章-进程间通讯
第六章 进程间通讯基本介绍为什么需要进程间通讯 由于进程的独立性当我们想要一个进程把数据传输给另一个进程就需要进程间通讯的方式。但是想要传输数据就需要共同的媒介,以此达到数据传输,数据共享进程间访问控制等目的。方式 由于通讯目的不同,场景不同,因此操作系统提供了多种进程间通信的方式。 1、管道(命名/匿名):传输数据。 2、共享内存:共享数据 3、消息队列:传输数据 ...原创 2019-04-25 15:32:12 · 144 阅读 · 0 评论 -
【Linux】第五章-基础IO
第五章 基础IO回顾标准库IO接口 我们在C语言中已经见过很多包含在标准库中的IO接口:fopen fclose fwrite fread fseek...,在fopen中有一些不同的文件打开模式:r r+ w w+ a...,而要想对文件进行操作我们需要用到句柄——FILE*,之前我们称之为句柄,但它实际上是一个文件流指针,stdout stdin stderr他们也是文件流指针,用来操作...原创 2019-04-25 10:51:36 · 120 阅读 · 0 评论 -
【Linux】第四章-进程控制
进程创建fork() fork()可以用于创建一个子进程,并且父进程返回其子进程的PID,子进程返回0。子进程会完全复制父进程的PCB并且会优先执行父进程。/** * * fork初使用 * 通过复制调用进程,创建一个新的进程(子进程) */#include <stdio.h>#include <unistd.h>int main(){ prin...原创 2019-04-24 21:45:11 · 129 阅读 · 0 评论 -
【Linux】第七章-进程信号
第七章-进程信号信号基本认识 生活中处处充满信号,信号的存在就是是为了传递和表达信息,通知事件的发生。并且信号是有生命周期的,信号在产生后到处理完毕之前才是信号的有效期。 在对于系统来说,当软件中断,便会产生信号,通知发生了某件事情,为了说明不同的事件,所以系统中的信号有不同的种类。信号的种类 在Linux下我们可以使用kill -l产看信号的种类,会发现一共有62种不同的信号。其...原创 2019-05-02 15:43:09 · 248 阅读 · 0 评论 -
【Linux】第三章-进程概念
从第三章起我们将进入Linux系统编程的阶段,我们将从计算机操作系统的角度进一步学习Linux。冯诺依曼体系结构 在这里又要旧话重提讲一下冯诺依曼体系结构,在冯诺依曼提出计算机的理论组成结构后,现代计算机的组成结构基本都是按照这一套冯诺依曼几十年前提出的体系结构进程设计与制造的。可以说冯诺依曼奠定了现代计算机的硬件体系结构。 冯诺依曼体系结构可以概括为将计算机分为以下几个部分:1、输...原创 2019-04-10 19:43:39 · 160 阅读 · 0 评论 -
【Linux】Linux基础-3
Linux基础第3节Linux文件相关命令 在Linux中文件分为以下几种: -:普通文件 d:目录文件 l:符号链接文件 p:管道文件 c:字符设备文件 b:块设备文件 s:套接字文件 以下文件相关命令以作补充。 tac:逆序显示文件内容。 more:分页显示文件内容,键入命令后可以用空格向下翻页,b向上翻页,回车按行向下移动,q退出。 le...原创 2019-03-26 23:32:32 · 173 阅读 · 0 评论 -
【Linux】Linux编程-vim篇
第1节vim是什么 vim是一种基于Linux环境下的编辑器,上节也给大家已经提过,我们要想在Linux下编程需要四样东西来替代vs这个集成的开发环境,其中最为核心的载体就是这个vim的编辑器,没有它,我们甚至无法书写代码。 在Linux下除过vim这个编辑器十分经典之外,还有一款编辑器也深受大家喜爱,就是emacs。这两款编辑器之所以受大家欢迎以至于后续几十年的编辑器都无法超越有几点最...原创 2018-12-12 02:56:30 · 2008 阅读 · 0 评论 -
【Linux】Linux编程-gcc,gdb,makefile篇
在介绍了vim的使用后我们已经可以在Linux中的vim书写代码了,但是如果想要vim使用更加舒畅我们还需要向vim的配置文件中增加相关配置才行,这些都交给大家自行选择了。但是真正想要在Linux中运行代码光靠vim是不够的,我们还需要编译器,调试器,以及文件管理工具共同配合才行。gcc 在Linux中我们有现成的编译器可供我们使用,这个编译器就是gcc,gcc的编译标准是C标准委员会所...原创 2018-12-15 01:53:09 · 291 阅读 · 0 评论 -
【Linux】Linux编程-基础
我们学习Linux的主要目的就是为了在让我们所写的代码可以在Linux环境下稳定运行,因为作为一个服务端程序员,我们将来所接触的服务器的系统内核全部都为Linux,也就是说我们所写的所有代码都要求在Linux服务器上依然可以稳定运行,这是作为服务端程序员的基本素养。因此Linux环境下的编程也是我们必须要学习的。第1节Linux编程准备材料 我们将来并不是直接在服务器上对Linux服务...原创 2018-12-06 16:56:15 · 409 阅读 · 0 评论 -
【Linux】Linux基础-1
Linux基础 在本篇教程中我会陆续开始简单介绍Linux操作系统,我们学习C语言,作为一个后端开发工程师,将来与Linux打交道是必不可少的,我们所写的代码也都会要求在Linux系统下可以运行,因此在简单学习过C语言过后,我们不得不尽快开始熟悉Linux操作系统,最终目的是为了适应Linux下编程,尤其是Linux下的网络编程,这是不得不尽快开始的一步。第一节Linux安装准备材料 ...原创 2018-12-03 01:20:38 · 177 阅读 · 0 评论 -
【Linux】Linux基础-2
第2节 在此章节着重介绍Linux的基本指令,并且穿插一些Linux的基本知识点进行讲解,同时学习Linux最重要的一点是不要去背,在使用中学习,用的多了自然就会了,并且一开始学习Linux大家可能会觉得各种不顺手,但是学习久了大家就会被Linux的魅力所吸引,欲罢不能!。终端简介基础介绍 在Linux的使用中,我们最为经常使用的就是终端,我们之后可以说一切的指令都会在终端中进行输入,...原创 2018-12-04 19:26:33 · 205 阅读 · 0 评论