Linux操作系统
文章平均质量分 87
Linux操作系统
kksilu
爱技术 爱生活
展开
-
Linux软连接和硬链接
1).删除符号连接f3,对f1,f2无影响;2).删除硬连接f2,对f1,f3也无影响;3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。原创 2022-09-01 10:24:38 · 751 阅读 · 0 评论 -
CPU密集型、IO密集型
CPU密集型(CPU-bound)CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要I/O,I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。在多重程序系统中,大部份时间用来做计算、逻辑判断等CPU动作的程序称之CPU bound。例如一个计算圆周率至小数点一千位以下的程序,在执行的过程当中绝大部份时间用在三角函数和开根号的计算,便是属于CPU bound的程序。CPU b原创 2022-08-23 23:04:46 · 1075 阅读 · 0 评论 -
图灵机和冯洛伊曼体系结构
这个理想的模型是好,但是理想终归是理想,想要成为现实,我们得想其它办法。于是在此基础上,冯洛伊曼提出了电子计算机使用二进制数制系统和储存程序,并按照程序顺序执行,即冯诺依曼体系结构。图灵机是一个抽象的模型,它是这样的有一条无限长的纸带,纸带上有无限个小格子,小格子中写有相关的信息,纸带上有一个读头,读头能根据纸带小格子里的信息做相关的操作并能来回移动。现在读头不再来回移动了,而是靠地址总线寻找对应的“纸带格子”。读取写入数据由数据总线完成,而动作的控制就是控制总线的职责了。...原创 2022-07-24 22:07:11 · 1680 阅读 · 0 评论 -
CPU Cache
CPU缓存分为数据缓存与指令缓存,对于数据缓存,我们应在循环体中尽量操作同一块内存上的数据,由于缓存是根据CPUCacheLine批量操作数据的,所以顺序地操作连续内存数据时也有性能提升。对于指令缓存,有规律的条件分支能够让CPU的分支预测发挥作用,进一步提升执行效率。对于多核系统,如果进程的缓存命中率非常高,则可以考虑绑定CPU来提升缓存命中率。CPU在读写数据的时候,都是在CPUCache读写数据的,原因是Cache离CPU很近,读写性能相比内存高出很多。...............原创 2022-07-23 21:07:29 · 1472 阅读 · 0 评论 -
对各种锁的理解
文章目录谈谈synchronizedsynchronized是什么?为什么会需要synchronized?什么场景下使用synchronized?Synchronized如何实现的线程同步?Synchronized底层原理?JVM 是怎么通过synchronized 在对象上实现加锁,保证多线程访问竞态资源安全的?JDK6之前:Monitor重量级锁JDK6时:偏向锁、轻锁java对象头(Mark Word和Klass word)无锁、偏向锁、轻锁、重锁无锁偏向锁synchronized 锁状态怎么从无锁状原创 2021-07-23 16:00:58 · 106 阅读 · 0 评论 -
对死锁的一点思考
什么是死锁?比如两个进程分别占有一部分资源,另外还等待对方所占的资源,于是两者都不能执行而处于永远等待状态,此现象称为死锁。死锁产生的条件死锁只有在这四个条件同时满足时出现既然要同时满足以上四个条件,死锁才会发生,那么我们只要破坏其中任一条件即可防止死锁的发生。方法评价:破坏任一条件确实能够防止发生死锁,但必然会降低系统并发性,导致低效的资源利用率使资源同时访问而非互斥使用,就没有进程会阻塞在资源上,从而不发生死锁。方法评价:只读数据文件、磁盘等软硬件资源均可采用这种办法管理;但是许多资源是独占性资原创 2022-07-09 17:01:32 · 313 阅读 · 0 评论 -
IO多路复用
文章目录什么是IO多路复用?实现IO多路复用的三种机制selectpollepollLT&ET三种模式对比什么是IO多路复用?先理解名字:IO多路复用=多个IO网络连接复用同一个线程定义IO多路复用是一种同步IO模型,实现一个线程监视多个文件描述符fd;一旦某个文件描述符fd就绪,就能够通知应用程序进行相应的读写操作;没有fd就绪时会阻塞应用程序,交出cpu。理解定义我们拿到了一堆文件描述符fd(网络相关、磁盘文件相关等等,任何文件描述符都可以)通过调用某个函数告诉内核:“这原创 2022-07-05 23:22:12 · 1994 阅读 · 0 评论 -
对内存的一些理解
文章目录内存基本知识按字节编址和按字编址几个常用数量单位&内存地址CPU+内存运行流程逻辑地址和物理地址 (重要)内存管理内存空间的分配与回收内存空间的扩充地址转化存储保护内存基本知识按字节编址和按字编址思考:方案:几个常用数量单位&内存地址CPU+内存运行流程从X=X+1大致看一下CPU+内存执行指令基本过程1、2、3、逻辑地址和物理地址 (重要)物理地址:加载到内存地址寄存器中的地址,内存单元的真正地址。在前端总线上传输的内存地址都是物理内存地址,原创 2021-10-09 17:55:57 · 698 阅读 · 0 评论 -
开发实战之CPU使用100%怎么办
文章目录进程管理的作用Linux进程启动的方式有几种?Linux手工启动进程Linux调度启动进程命令ps命令详解:查看正在运行的进程top命令详解:持续监听进程运行状态选项输出信息详解无论是 Linux 系统管理员还是普通用户,监视系统进程的运行情况并适时终止一些失控的进程,是每天的例行事务。进程管理的作用判断服务器的健康状态进程管理最主要的工作就是判断服务器当前运行是否健康,是否需要人为干预。如果服务器的 CPU 占用率、内存占用率过高,就需要人为介入解决问题了。查看系统中所有的进程原创 2021-08-16 15:15:32 · 916 阅读 · 0 评论 -
Linux权限管理
文章目录原创 2021-08-16 14:47:09 · 146 阅读 · 0 评论 -
Linux用户和用户组
文章目录Linux用户和用户组多用户多任务操作系统为什么需要用户组?Linux用户和组的关系Linux UID和GID(用户ID和组ID)/etc/passwd/etc/shadow/ect/group/etc/gshadow/etc/login.defsLinux用户和用户组多用户多任务操作系统Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。不同用户具有不问的权限,毎个用户在权限允许的范围内完成不间的任务,Lin原创 2021-08-16 14:22:07 · 802 阅读 · 0 评论 -
文件和磁盘管理
文章目录初识文件系统文件系统的组成虚拟文件系统文件的使用文件的存储连续空间存放方式非连续空间存放方式链表方式隐式链表显式链接索引方式小结磁盘调度算法初识文件系统文件系统的组成文件系统是操作系统中负责管理持久数据的子系统,说简单点,就是负责把用户的文件存到磁盘硬件中,因为即使计算机断电了,磁盘里的数据并不会丢失,所以可以持久化的保存文件。文件系统的基本数据单位是文件,它的目的是对磁盘上的文件进行组织管理,那组织的方式不同,就会形成不同的文件系统。Linux 文件系统会为每个文件分配两个数据结构:索原创 2021-08-16 11:08:04 · 832 阅读 · 0 评论 -
什么是虚拟内存?
文章目录为什么需要虚拟内存?什么是虚拟内存?怎么实现的虚拟内存?虚拟内存的最大内存和实际内存虚拟内存的特征虚拟内存地址和物理内存地址如何实现虚拟内存技术请求分页存储管理页表机制—请求页表与基本页表的区别缺页中断总流程为什么需要虚拟内存?传统存储管理及其缺点缺点:所以需要虚拟内存来解决这两个缺点什么是虚拟内存?每个程序都有自己的地址空间,这个地址空间被划分为多个称为页面(page)的块。每一页都是连续的地址范围。这些页被映射到物理内存。怎么实现的虚拟内存?虚拟内存的最大内存和实际内存原创 2021-08-16 10:33:27 · 268 阅读 · 0 评论 -
进程间的通信方式:管道、消息队列、共享内存、信号量、socket
文章目录什么是进程通信?什么是互斥和同步?临界区进程互斥的软件实现方式屏蔽中断单标志检查法:自旋锁双标志先检查法双标志后检查法Peterson 解法TSL 指令进程通信解决忙等管道管道背后原理是什么?消息队列消息队列面对的问题消息队列的变种共享内存信号量互斥和同步信号量信号Socket针对 TCP 协议通信的 socket 编程模型针对 UDP 协议通信的 socket 编程模型针对本地进程间通信的 socket 编程模型互斥量Futexes(以后再看)Pthreads 中的互斥量管程屏障读-复制-更新总结原创 2021-06-28 20:11:50 · 1791 阅读 · 1 评论 -
对线程的一些理解
文章目录为什么需要线程?什么是线程?线程的优缺点?进程与线程的比较线程的特点线程的实现方式用户级线程内核级线程轻量级进程线程的上下文切换为什么需要线程?维护进程的系统开销较大,如创建进程时,分配资源、建立 PCB;终止进程时,回收资源、撤销 PCB;进程切换时,保存当前进程的状态信息;怎么办?需要有一种新的实体,满足以下特性:实体之间可以并发运行;实体之间共享相同的地址空间;这个新的实体就是线程,线程之间可以并发运行且共享相同的地址空间,节省系统开销。什么是线程?线程是进程当中的一条执原创 2021-06-28 16:05:33 · 712 阅读 · 0 评论 -
对进程的一些总结
文章目录进程什么是进程?进程的特征?进程的类型进程的组成结构?什么是PCB?进程和程序的区别和联系?进程的状态及切换核心进程控制详解进程的创建系统初始化系统调用创建用户请求创建批处理创建详解进程的阻塞和唤醒详解进程的终止正常退出错误退出严重错误被其他进程杀死进程的上下文切换进程切换的原理(了解)进程的层次结构UNIX 进程体系Windows 进程体系进程我们平常说的进程和线程更多的是基于编程语言的角度来说的,那么你真的了解什么是线程和进程吗?那么我们就从操作系统的角度来了解一下什么是进程和线程。什么原创 2021-06-28 16:05:23 · 330 阅读 · 1 评论 -
零拷贝技术( DMA、PageCache)
文章目录为什么需要DMA?什么是DMA?DMA 控制器进行数据传输的过程究竟是什么样的呢?传统的文件传输有多糟糕零拷贝mmap + writesendfile真正的零拷贝PageCache大文件传输总结为什么需要DMA?在没有 DMA 技术前,I/O 的过程是这样的:CPU 发出对应的指令给磁盘控制器,然后返回;磁盘控制器收到指令后,于是就开始准备数据,会把数据放入到磁盘控制器的内部缓冲区中,然后产生一个中断;CPU 收到中断信号后,停下手头的工作,接着把磁盘控制器的缓冲区的数据一次一原创 2021-06-26 14:43:27 · 4186 阅读 · 4 评论 -
五种IO模式
文章目录前置知识阻塞IO非阻塞IOIO多路复用selectpollepoll两种工作模式三种模式的区别与阻塞式I/O的对比信号驱动IO(signal driven IO)异步IO(asynchronous IO)五种IO总结Reactor模式和Proactor模式Reactor模式为什么使用Reactor?Reactor模式-单线程模式Reactor模式-工作者线程池模式Reactor模式-多线程模式(主从线程模式)Proactor模式Reactor模式和Proactor模式的总结对比主动和被动实现优点缺点原创 2021-02-24 11:23:22 · 1113 阅读 · 1 评论 -
OS-用户态和核心态
文章目录运行机制和体系结构什么是指令?什么是用户态和核心态?用户态和核心态之间的切换?核心态和用户态的区别 ?操作系统内核大内核和微内核计算机硬件介绍计算机硬件简介CPU多线程和多核芯片内存寄存器高速缓存主存磁盘I/O 设备总线计算机启动过程运行机制和体系结构什么是指令?指令就是CPU能识别执行的最基本的命令,分为:1、特权指令,只能由操作系统使用、用户程序不能使用的指令,包括:①改变机器状态的指令;②修改特殊寄存器的指令;③涉及外部设备的输入/输出指令。2、非特权指令::用户程序可以使用原创 2021-02-06 20:48:19 · 1853 阅读 · 0 评论