Linux
Acmery_L
d = c++;
展开
-
Linux进程(七):调度
Linux进程(七):调度调度模型I/O消耗型 vs. CPU消耗型调度器实现早期2.6:优先级数组和bitmapsRT调度策略:schedule normal调度算法CFS:完全公平调度例调度相关的系统调用 所有的操作系统,在设计调度器的时候,都是朝着两个目标去的:1、缩小响应时间:最小化某个任务的响应时间,哪怕牺牲其他的任务为代价。2、提高吞吐率:使整个系统的workload被最大化处理。但是这两个目标往往不可兼得,提高响应可能将会降低吞吐率,而提高吞吐率响应时间又将变长。因为吞吐率提高表示着资原创 2020-08-22 15:17:59 · 571 阅读 · 0 评论 -
Linux进程(六):睡眠与进程0、进程1
Linux进程(六):睡眠与进程0、进程1深度睡眠/浅睡眠进程0和进程1 深度睡眠/浅睡眠 在Linux系统中,进程有两种睡眠状态:深度睡眠和浅度睡眠。其中:深度睡眠只能被资源所唤醒,浅度睡眠可以被资源和signal所唤醒。 深度睡眠有时不可避免,例如发生page fault时:在执行某个程序时,若某些代码段还没有进内存,在我们调用到某个函数时,可能会发生缺页中断。此时Linux内核将把这个进程置为深度睡眠。 若上述情况不使用深度睡眠,也就是说若在发生page fault后该进原创 2020-08-22 15:13:03 · 642 阅读 · 0 评论 -
Linux进程(五):托孤
Linux进程(五):托孤例 在Linux进程中,若父进程先于子进程死亡,那么Linux内核将把子进程“托孤”给进程树为subreaper的进程,并由这个subreaper来负责该孤儿进程的“收尸过程”(清理task_struct),若未找到subreaper进程,则该孤儿进程之间托付给init进程: 一个进程可以通过prctl这个系统调用把自己生命成一个subreaper ,PR_SET_CHILD_SUBREAPER是Linux3.4加入的新特性,把她设置为非零值,当前进程就会变成sub原创 2020-08-22 15:10:07 · 939 阅读 · 0 评论 -
Linux进程(四):线程
Linux进程(四):线程前言线程的概念内核线程轻量级进程LWP用户线程区别关于pthread线程库LinuxThread线程ID和进程ID的问题信号处理问题线程总数问题管理线程问题同步问题其他POSIX兼容性问题实时性问题NPTL伪装reference 前言 在记录这篇博客之前,针对pthread_create函数创建的线程,网上的说法不一,有人说是用户级线程,有人说是LWP。在我亲自实验后发现,由pthread_create创建出来的线程是一个轻量级进程,只不过在这个机制上,Linux 2原创 2020-08-11 17:01:47 · 596 阅读 · 0 评论 -
Linux进程(三):进程的创建
Linux进程(三):进程的创建forkcopy-on-write(COW)vforkcloneclone, fork, vfork区别与联系referfence fork fork用来创建一个进程,当我们的进程执行到了fork的时候,系统将为我们复制一份进程资源,并且两个进程都将从fork函数返回。 从内核的调度层面来说,只要一个进程存在task_struct,那么该进程就可以被调度。所以在我们的父进程把子进程fork出来的时刻,父进程会将该进程内的资源拷贝给子进程。 原创 2020-08-11 16:56:27 · 366 阅读 · 1 评论 -
Linux进程(二):生命周期
在Linux系统中,每个进程都有自己的生命周期。 Linux进程状态 在Linux中,大多数进程都是被fork()出来的,进程被fork创建后,则会进入就绪态,进入就绪态的进程等待CPU资源,一旦进程获取到了CPU,该进程就进入到运行态,若是进程需要等待资源或IO,则进入就绪态。一下这张图大家应该不陌生。 但是,在Linux中的进程,我们其实可以用下面这张图详细描述: 关于僵尸进程 僵死态(僵尸进程):处于僵死态的进程的task_struct还没消失,但是该原创 2020-08-11 15:05:18 · 1034 阅读 · 0 评论 -
Linux进程(一):初识
Linux进程(一):初识前言进程控制块 - PCB进程pid:用于区别进程进程内存的资源文件系统资源文件资源(打开的文件信息)task_struct的管理 前言 说到进程,我们都会说出进程时操作系统资源分配最小单位、每个进程有独立的代码和数据空间等类似的套话,所以说了那么多之后,进程在Linux系统中究竟是什么样的存在呢?提到这个问题,就不得不说PCB。 进程控制块 - PCB 进程,是操作系统的资源分配单位,我们需要弄懂进程,就需要弄懂这个进程的资源。而操作系统如何获取一个进原创 2020-08-10 21:26:36 · 326 阅读 · 0 评论 -
Linux下进程间通信方式及实例
Linux下进程间通信方式及实例Linux下进程间通信方式及实例IPC概念管道管道函数小例子读管道写管道管道的优劣FIFO创建管道例mmap映射mmap函数例mmap九问进程通信例父子进程通信无血缘关系进程通信匿名映射信号信号的概念信号的机制共享内存创建共享内存访问共享内存删除共享内存 Linux下进程间通信方式及实例 IPC概念 IPC:InterProcess Communication 进程间通信,通过内核提供的缓冲区进行数据交换的机制。 IPC通信方式: pipe 管道 – 简单 FIFO 有名管原创 2020-07-26 15:24:35 · 876 阅读 · 0 评论 -
nDPI注册自定义协议解析
nDPI注册自定义协议解析前言方法一:修改protos.txt方法二:添加源码在头文件添加新的协议ID编写协议源文件做好相关定义编写ndpi_search函数编写dissector函数在ndpi_main.c中注册测试 前言 最近需要用到nDPI流量监测工具,由于其example中的ndpiReader已经十分强大,所以打算在ndpiReader的基础上增加可识别的自定义协议。 在ndpiReader中增加自定义协议的方式有两种: 是通过编辑example/protos.txt文件来使ndpiRead原创 2020-07-26 15:21:51 · 1484 阅读 · 0 评论 -
Linux下使用NTFS文件系统扩展设备
Linux下使用NTFS文件系统扩展设备Linux下使用NTFS文件系统扩展设备NTFS-3G介绍安装NTFS-3G方法一:手动下载安装安装步骤方法二:用yum使用NTFS-3G挂载NTFS文件系统磁盘 Linux下使用NTFS文件系统扩展设备 有时候做大数据量迁移时,为了快速迁移大数据,有可能在Linux服务器上临时挂载NTFS格式的移动硬盘, 一般情况下,Linux是识别不了NTFS格式移动硬盘的(需要重编译Linux核心才能,加挂NTFS分区),这时候为了能让Linux服务器能够识别NTFS的移动硬原创 2020-07-26 15:14:55 · 529 阅读 · 0 评论 -
Linux dd命令操作磁盘
Linux dd命令操作磁盘Linux dd命令操作磁盘dd参数说明实例:创建一个100M的空文件磁盘镜像克隆全部克隆分区克隆从镜像文件恢复磁盘或分区数据备份与恢复备份恢复备份MBR备份:恢复:其它实例分析备份软盘拷贝内存资料到硬盘从光盘拷贝iso镜像得到最恰当的block size测试硬盘读写速度修复硬盘销毁磁盘数据用dd命令制作硬盘镜像的特点显示dd命令进度 Linux dd命令操作磁盘 dd所执行的是简单粗暴的按字节复制,什么分区表啊,MBR啊统统照搬 dd参数说明 if =输入文件(或设备名称)原创 2020-07-26 15:13:17 · 2736 阅读 · 0 评论