虽然计算机相关专业,操作系统和计算机组成原理是必修课。但是大学时和真正从事相关专业工作之后,对于知识的认知自然会发生变化。还很有可能,一辈子呆在学校的老师们只是照本宣科,自己的理解也不深。...所以今天我站在真正排查解决问题时的需要层面,用白话说一说linux操作系统的那些知识。 本文整体采用的是类似递归调用的递进式结构。...linux内核的本质 简单来说如上图所示,咱们平时的应用程序或者linux命令要和操作系统打交道,都要经过一个叫做linux内核的软件。所有的硬件操作都需要通过他。就像古代女子出嫁,都要有媒人。...每个进程启动时,操作系统就会给它分配这三个标准的文件描述符。咱们平时用的console控制台就是通过读写这三个文件来实现滴。
在CPU访问存储设备时,无论是存取数据抑或存取指令,都趋于聚集在一片连续的区域中,这就被称为局部性原理。...ring0级别,操作系统以外的第三方程序运行在ring3级别,第三方程序如果要调用操作系统内部函数功能,由于运行安全级别不够,必须切换CPU运行状态,从ring3切换到ring0,然后执行系统函数,所以说...JVM创建线程CPU的大致工作过程 CPU从ring3切换ring0创建线程 创建完毕,CPU从ring0切换回ring3 线程执行JVM程序 线程执行完毕,销毁还得切会ring0 ---- 操作系统内存管理...操作系统有用户空间与内核空间两个概念,目的也是为了做到程序运行安全隔离与稳定,以32位操作系统4G大小的内存空间为例 ?...用户线程(ULT):用户程序实现,不依赖操作系统核心,应用提供创建、同步、调度和管理线程的函数来控制用户线程。不需要用户态/内核态切换,速度快。
PS:操作系统原理是大学计算机专业最为重要的一门专业基础课程之一,对于操作系统核心原理的理解对于一个合格的程序员来说十分重要,于是我继续我的“三大原理,两个协议,一种结构”复习,三大原理中操作系统原理首当其冲...,这里主要依靠阅读《操作系统之哲学原理》来进行复习,将其中重要的部分记录下来,与各位分享。...(3)操作系统 机器语言程序需要加载到内存,才能形成一个运动中的程序(即进程),这就需要操作系统的帮助。...二、操作系统是什么? 2.1 两个问题 (1)操作系统到底是什么鬼? 操作系统是介于计算机和应用软件之间的一个软件系统,操作系统的上层和下层都有其他的对象存在: ? ...邹恒明,《操作系统之哲学原理》,机械工业出版社 作者:周旭龙 出处:http://edisonchou.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
文章目录 目录 操作系统的起源 操作系统和高级编程语言使硬件抽象化 操作系统的起源 在操作系统尚不存在的年代,人们通过各种按钮来控制计算机,这一过程非常麻烦。...于是,有人开发出了仅仅具有加载和运行功能的监控程序(Supervisor),这就是操作系统的原型。 通过监控程序,程序员可以根据需要将各种应用程序加载到内存中运行。...操作系统的原型就是这样诞生的。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
2.2 死锁的应对方法 操作系统应对死锁的策略可以分为两大种、四小种。两大种是:允许死锁发生 和 不让死锁发生。...(1)顺其自然不予理睬 此种策略就是操作系统不做任何措施,任由死锁发生。老子曾说,无为而治,说的就是这个策略。但是,如果牵涉到高可靠性系统、实时控制系统,那就另当别论了,那绝对不允许死锁。 ...我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。...概括起来基本思想就是: ① 分配检测:Request < Need Request < Available ② 安全序列检测算法 下面看一个在操作系统教科书中出现的例子...邹恒明,《操作系统之哲学原理》,机械工业出版社 作者:周旭龙 出处:http://edisonchou.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
操作系统是管理和控制计算机硬件和软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件。注意,这里说的裸机可以是物理机,也可以是虚拟机。...从进程的观点来看操作系统,实际上就是组织和协调用户对处理机的争夺使用,对进程进行管理和控制,最大限度发挥处理机的作用。 1.进程的概念。 程序是存储在计算机上的代码,进程是运行状态的程序。...PCB 可以被操作系统中的多个模块读或修改,如被调度程序、资源分配 程序、中断处理程序以及监督和分析程序等读或修改。...进程标识符:包括内部标识符,操作系统为每一个进程赋予的唯一数字标识符,系统使用;外部标识符,由创建者提供,通常有字母与数字组成,往往是由用户(进程)在访问该进程时使用。...参考资料: 1、操作系统原理总结 2、操作系统基本原理 3、操作系统基础知识整理 4、进程控制块及其作用、组织方式 5、进程控制 6、操作系统:管程理解
典型例子就是UNIXundefinedPOSIX线程库–PTHREAD 优点 线程切换快 调度算法是应用程序特定的 用户级线程可运行在任何操作系统上(只需要实现线程库) 缺点 内核只将处理器分配给进程...(可以在调用之前判断进行解决,如果是阻塞线程,那么就换其他线程)6.3.2 核心级线程 6.3.3 混合模型 线程创建在用户空间完成 线程调度等在核心态完成 例子如Solaris操作系统 6.4 线程状态...3.2.3 破坏“不可抢占”条件 实现方案 当一个进程申请的资源被其他进程占用时,可以通过操作系统抢占这一资源(两个进程优先级不同) 局限性: 该方法实现起来比较复杂,要付出很大的代价。...3.2.4 破坏“循环等待”条件 通过定义资源类型的线性顺序实现 实施方案:资源有序分配法 把系统中所有资源编号,进程在申请资源时必须严格按资源编号的递增次序进行,否则操作系统不予分配。...六、死锁检测与解除 死锁检测 允许死锁发生,但是操作系统会不断监视系统进展情况,判断死锁是否真的发生。一旦死锁发生则采取专门的措施,解除死锁并以最小的代价恢复操作系统运行。
一、进程调度基础 1.1 进程调度定义 进程调度是操作系统进程管理的一个重要组成部分,其任务是选择下一个要运行的进程。...邹恒明,《操作系统之哲学原理》,机械工业出版社 作者:周旭龙 出处:http://edisonchou.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
进程管理、内存管理和文件管理是操作系统的三大核心功能,那么什么是进程呢?顾名思义,进程就是进展中的程序,或者说进程是执行中的程序。当一个程序被加载到内存之后就变为了进程。...1.1 从工作到进程 进程在Multics操作系统出现之前被叫做工作(Job),工作是IBM用于多道批处理程序设计中的概念。...由于历史原因,Multics操作系统的研发人员不愿意承用IBM发明的术语,于是将工作改为了进程(Process)。...邹恒明,《操作系统之哲学原理》,机械工业出版社 作者:周旭龙 出处:http://edisonchou.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
一、I/O的基本知识 1.1 为何要有I/O 前面阐述了操作系统具有进程管理、内存管理、外存管理三大核心功能,但是计算机归根是为人类服务的,这就要求计算机必须提供某种机制使得人们可以向计算机发出命令或操纵计算机...我们知道,操作系统的角色是魔术师和管理者,魔术是将不同I/O设备的差异屏蔽,使它们看上去似乎是一样的东西,都具有令人赏心悦目的界面;而管理则是对这些设备进行管理,该独享的独享,该共用的共用,需要缓冲的缓冲...3.3 设备独立的操作系统软件 设备驱动程序并不直接从用户处接收I/O请求,而是通过操作系统软件获得的。操作系统在设计时之所以有这层软件是因为I/O软件的一部分与设备有关,一部分与设备无关。...3.4 用户层I/O软件 设备驱动程序从设备独立的操作系统软件层接收I/O请求,而设备独立的操作系统软件则从用户或应用软件处接收指令。这时,还差一个发出指令的界面,这个界面就是用户层I/O软件。...邹恒明,《操作系统之哲学原理》,机械工业出版社 作者:周旭龙 出处:http://edisonchou.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
邹恒明,《操作系统之哲学原理》,机械工业出版社 作者:周旭龙 出处:http://edisonchou.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
扩展阅读:Linux 操作系统 《Linus Torvalds:Just for Fun》 Linux 常用命令一百条 Linux 性能诊断:负载评估 Linux 性能诊断:快速检查单(Netflix版...) Linux 性能诊断:荐书|《图解性能优化》 Linux 性能诊断:Web应用性能优化 操作系统原理 | How Linux Works(一):How the Linux Kernel Boots...操作系统原理 | How Linux Works(二):User Space & RAM 操作系统原理 | How Linux Works(三):Memory 推荐:电子书《Linux Perf Master
1965年,荷兰学者Dijkstra提出的信号量(Semaphores)机制是一种卓有成效的进程同步工具。在长期且广泛的应用中,信号量机制又得到了很大的发展,它...
单一连续区管理,单一连续分配 这种分配方式的运用场景是:一个用户独占连续的内存用户去,只能用于单用户、单任务的操作系统中。...原理是为了避免分配大空闲块,最小化外部碎片,要求对空闲地址快按尺寸size排序,回收要合并。 优点:当大部分分配需要小空间时使用,简单。 缺点:外部碎片太小太细,不利于后续重分配。...每一个逻辑地址都需要与这两个寄存器进行核对,以保证操作系统和其他用户程序及数据不被该进程的运行所影响。...参考资料: 1、操作系统之存储管理 2、计算机操作系统之存储管理 3、操作系统Day1地址空间与地址生成 4、操作系统 笔记(三) 5、操作系统 - 地址重定位 6、操作系统原理总结 7、...操作系统核心原理-5.内存管理(下):段式内存管理
由于局部性原理,最近访问历史和最近将要访问的模式间有很大的相关性,因此大多数策略都基于过去的行为来预测将来的行为。 ...由局部性原理可知,这也是最近最不可访问到的页。...增加了操作系统至少找到一个就绪进程的可能性,从而减少了由于交换而消耗的处领取时间 如果一个进程在内存中的页比较少,虽然有局部性原理,但缺页率任然较高。...给特定进程分配的内存超过一定大小后,由于局部性原理,缺页率没有明显变化。 基于这些因素,操作系统常常使用两种策略: 固定分配策略:为一个进程在内存中分配固定数目的页框用于执行时的使用。...应该多分配页框以减少缺页率;如果一个进程的缺页率特别低,则其局部性原理比较强,可以在不会明显增加缺页率的前提下减少分配给它的页框。
前言 本文主要记录 Linux 内核网络协议栈的运行原理 数据报文的封装与分用 image.png 封装:当应用程序用 TCP 协议传送数据时,数据首先进入内核网络协议栈中,然后逐一通过 TCP/IP...该函数的实现在 net/inet/dev.c 中,采用了 bootom half 技术,该技术的原理是将中断处理程序人为的分为两部分,上半部分是实时性要求较高的任务,后半部分可以稍后完成,这样就可以节省中断程序的处理时间...这里以 8390 网卡为例来说明驱动层的工作原理,在 net/drivers/8390.c 中函数 ethdev_init() 的设置如下: /* Initialize the rest of the
段描述符表相当于是一个数组,这个数组由操作系统生成,我们称之为GDT,全局描述符表。GDT由Bootloader建立。CPU内部的GDTR这个寄存器用来保存GDT。...表的起始地址在IDTR里面,这个起始地址由操作系统指定。 上图为陷阱门/中断门的信息,可以看到每一项包含了段选择子和偏移。通过这两个东西可以确定例程的起始地址。...最后的最后,基地址和偏移结合,得出最终的中断例程的地址(中断例程也是操作系统要实现的)。CPU会自动根据这两个表来进行处理,所以操作系统只需要构建这两个表和例程就行。以上就是中断处理初始化的过程。
本篇文章系统的给大家讲述linux操作系统原理,这是一篇非常好的linux系统基础教程,我们总结了相关的全部精选内容,一起来学习下。...linux操作系统原理文字版 一.计算机经历的四个时代 1.第一代: 真空管计算机,输入和输出:穿孔卡片,对计算机操作起来非常不便,做一件事可能需要十几个人去共同去完成,年份大概是:1945-1955。...下面我们在看推荐几本关于linux操作系统原理的书 linux操作系统原理电子书 操作系统原理及应用(Linux) PDF扫描版[30MB] 深度探索Linux操作系统:系统构建和原理解析 pdf扫描版...[129MB] 操作系统原理LINUX篇 徐德民 pdf Linux内核注释 孙更新等 pdf扫描版(86M) linux操作系统视频内容 跟阿铭学Linux第二版最新版(附阿铭linux全套视频教程...)chm格式 linux系统挂载数据盘的方法(视频图文教程) 以上就是我们给大家整理的关于linux操作系统原理 linux系统基础教程的全部内容,希望我们整理的内容能够给你提供到帮助。
1.3 线程模型 现代操作系统结合了用户态和内核态的线程模型,其中用户态的执行系统负责进程内部在非阻塞时的切换,而内核态的操作系统则负责阻塞线程的切换,即同时实现内核态和用户态线程管理。...上述两个问题在进程层面同样存在,在前面的进程原理部分已经进行了介绍,从一个更高的层次上看,不同的进程也共享着一个巨大的空间,这个空间就是整个计算机。...即教室是用锁来保证互斥的,那么在操作系统中,这种可以保证互斥的同步机制就被称为锁。 ...他们均是操作系统的系统调用,而且既可以是阻塞调用,也可以是非阻塞调用。而同步需要的是阻塞调用,即如果一个线程执行receive操作,就必须等待受到消息后才能返回。...邹恒明,《操作系统之哲学原理》,机械工业出版社 作者:周旭龙 出处:http://edisonchou.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
基本原理是两个或多个进程可以通过简单的信号进行合作,一个进程可以被迫在某一位置停止,直到它接收到一个特定的信号。该信号即为信号量s。...【信号量semaphore】 在操作系统中,信号量sem是一个整数。 sem >= 0时,代表可供并发进程使用的资源实体数; sem < 0时,表示正在等待使用临界区的进程数。
领取专属 10元无门槛券
手把手带您无忧上云