现代操作系统
文章平均质量分 62
爱coding的同学
即使生活过得平淡无奇,也不要忘记最初的梦想
展开
-
从上到下看内存
本文主要介绍内存条,总线,DMAC;内存管理内存分类;内存相关的系统调用; java中的内存。原创 2023-01-15 22:55:50 · 300 阅读 · 1 评论 -
进程间通信的方式(附代码分析)
进程间通信的方式(附代码分析)。原创 2023-01-11 19:54:35 · 544 阅读 · 0 评论 -
什么是IO
编程中最重要的三个部分,一个是 cpu, 一个是内存条,还有一个就是硬盘和网卡,硬盘和网卡对应的就是IO。分别是文件IO和网络IO。本文来认识什么是IO.原创 2023-01-09 21:08:52 · 928 阅读 · 0 评论 -
线程,协程,异步编程模型
本文主要介绍线程,协程,异步编程模型的异同。原创 2023-01-09 20:57:56 · 1213 阅读 · 5 评论 -
CPU概述
CPU 是最重要的计算机组件,由控制器和运算器组成,通过总线与其它设备连接。原创 2023-01-08 19:14:01 · 1137 阅读 · 0 评论 -
5分钟搞懂用户态,内核态
用户态就是提供应用程序运行的空间,为了使应用程序访问到内核管理的资源例如CPU,内存,I/O。内核必须提供一组通用的访问接口,这些接口就叫系统调用。用户态,内核态是指程序所处的状态。我们写的一段程序,我们所写的这段程序在运行过程中,有可能处于用户态,也有可能处于内核态。可能在某一个时刻处于用户态,下一个时刻切换到内核态。那么用户态在什么时候可以切换到内核态呢?是在满足什么条件的时候触发的呢?那么这个触发条件就是我们的程序需要去申请外部资源的时候。那么外部资源到底指的是什么呢?原创 2023-01-08 19:09:16 · 1754 阅读 · 0 评论 -
操作系统(十)-----不同操作系统中线程的实现方式
下面我们来看一下,在一个操作系统当中,如何来支持线程机制的实现。 通常有三种方式,用户级线程、 核心级线程和混合方式。 那么由于在线程的概念提出之前,操作系统已经运行了很多年,那么进程的概念已经 用了很长时间。因此当有一个新的机制提出来的时候, 不同的操作系统对这个机制的支持是不一样的。 那我们先看第一种实现: 用户级线程。用户级线程的话呢, 顾名思义,是在用户空间原创 2017-04-10 10:56:54 · 3903 阅读 · 3 评论 -
操作系统(十)----死锁的产生
大家好!今天我给大家带来的是操作系统原理课的第十二讲死锁。 本讲的内容呢包括对死锁的基本概念进行介绍呃,资源分配图来表示死锁的一个 状态。 死锁预防、 死锁避免、 死锁 检测与解除,这三个是关于对死锁问题的解决方案 最后呢我们以哲学家就餐问题为一个实例,来介绍对于死锁这样一个主题如何从各个方面来解决这样一些问题 首先我们来介绍一下死锁的基本概念 这里我们给出了死锁的定义原创 2017-05-08 21:39:17 · 435 阅读 · 0 评论 -
操作系统(十一)------死锁的预防
下面我们来介绍,解决死锁问题的各种方案首先我们介绍第一种类型,叫做死锁预防 我们首先先总体介绍一下解决死锁问题的各种方法。 不同的设计者对于死锁问题的看法是不一样的 有的设计者很乐观,有的设计者很悲观因此,他用于解决死锁问题的方法,是不一样的 我们总体上,有四种方法,来解决死锁问题。第一种方法呢 叫做鸵鸟算法,其实它的思路是 不考虑此问题,不理睬死锁问题 第二种原创 2017-05-08 21:58:29 · 411 阅读 · 0 评论 -
操作系统(十二)-----死锁的避免
死锁避免下面我们介绍解决死锁问题的第二类方案:死锁避免我们先通过一个例子来讨论一下 死锁避免解决方案的设计思想 在这个例子当中有两个进程,进程 P和进程 Q,系统当中一共有 M 个资源,假设 A为 P 进程 对资源的需求的最大量,那么我们用系统中资源总数减去 A 就得到了一个Y 点。 我们可以看一下Y 点 我们分析一下,对于进程 Q一旦 Q 进程占有的资原创 2017-05-08 22:31:15 · 447 阅读 · 0 评论 -
操作系统(十三)------死锁的检测与解除
下面我们来介绍解决死锁问题的第三类方法死锁检测与解除所谓死锁检测呢,是指允许死锁发生但是操作系统呢 会不断地来监视系统的进展情况 通过监视,判断死锁是否真的发生了 那么一旦发现有死锁发生就会采用专门的措施 以最小的代价来解除死锁,恢复操作系统的运行那么系统什么时候检测判断是否有死锁发生呢?我们给出来三个典型的检测时机,第一个检测时机呢,是当进程在申请资源的时候原创 2017-05-08 22:44:11 · 3015 阅读 · 0 评论 -
操作系统(十四)------进程间通信的几种方式
下面我们介绍进程间通信机制。有了信号量 有了管程之后,为什么进程之间还需要新的通信机制? 这主要原因是,信号量和管程只能传递很简单的信息,不能传递大量的信息 比如说,我要把一个大的数组传送给另外一个进程,那么信号量和管程在这一方面是做不到的。另外呢 管程不适合于用于多处理器的情况 因此呢,我们需要在传递大量信息的时候呢,引入新的通信机制,那么这个通信机制呢我们称之为,进原创 2017-05-09 09:31:53 · 2898 阅读 · 0 评论 -
操作系统(九)-------CPU的调度
大家好!今天我给大家带来的是操作系统原理课的第四讲处理器调度,也就是 CPU 调度 我们主要介绍以下这些内容CPU 调度的相关概念。 然后我们讨论了 在设计调度算法的时候,要考虑的几个因素 接着呢,我们会去介绍批处理操作系统 或者是交互式系统所采用的各种调度算法 我们也简单地要介绍一下,Windows 操作系统所涉及的线程调度算法 首先,我们介绍一下CPU 调度的相关概念 什么是原创 2017-04-10 10:56:06 · 660 阅读 · 0 评论 -
操作系统(八)--------线程的引入
下面我们谈一下,为什么引入线程有了进程这概念之后 应用程序可以并发地去执行了那么为什么要在进程当中再派生出线程呢?这里给出三个主要的理由 第一个是应用的需要,第二个是开销的考虑第三个呢是从性能的角度来看 我们举两个例子来谈一下应用的需要我们最常用的这种字处理软件 如果只有一个进程,那么当你去编辑,你去输入的时候那么排版的工作就做不了,就不能够去存盘因此,我们通常会在原创 2017-04-10 10:55:24 · 595 阅读 · 1 评论 -
操作系统(二)--------操作系统的作用
下面我们来介绍一下操作系统的定义及作用 那么操作系统是什么?怎样理解它的作用? 操作系统是什么呢? 操作系统是计算机系统中的一个系统软件 这个系统软件呢是一些程序模块儿的结合 这些程序模块相互协作、 相互配合来完成以下这些功能 首先,它们能以尽量 有效、 合理的方式组织和管理计算机的 各种软硬件资源。 为了 支持程序的执行,操作系统要合理地组织计算机的工作流程,控制程序的执行 并在程序原创 2017-03-03 11:18:48 · 2962 阅读 · 0 评论 -
操作系统(三)-----操作系统的特征
下面我们介绍操作系统的特征。操作系统 是一个软件,那么它与其它软件相比较,它具有哪些特点呢?总结一下,操作系统的特征呢 有四个主要的特征。第一个是并发第二个是共享,第三个是虚拟,第四个是随机 操作系统的第一个特征是并发 所谓并发 指的是操作系统必须具有这样的能力 能够处理多个同时性的活动 操作系统能够处理多个同时性的活动但是当你处理多个同时性的活动的时候呢 就会带来原创 2017-03-03 11:45:46 · 2971 阅读 · 0 评论 -
操作系统(四)-------进程的基本概念
主要内容:进程基本概念;进程状态及状态转换;进程控制块的作用和内容;进程控制操作;进程地址空间与进程映像;为什么引入线程?线程的应用场景;Web服务器的实现;线程概念、线程与进程的区别;线程实现的三种方式;Pthreads线程库及应用;几个重要的概念:原语、可再入程序。操作系统原理的第三讲 进程/线程模型,这一讲主要有两部分内容 第一个是进程模型,什么是进程? 操作系统在设计进程模型的时候原创 2017-03-03 15:47:28 · 696 阅读 · 0 评论 -
操作系统处理器调度的基本概念
处理器调度,也就是 CPU 调度我们主要介绍以下这些内容 CPU 调度的相关概念。 设计调度算法的时候,要考虑的几个因素。然后介绍批处理操作系统 或者是交互式系统所采用的各种调度算法。 当然也会简单地要介绍一下Windows 操作系统所涉及的线程调度算法。原创 2023-01-20 23:58:07 · 367 阅读 · 0 评论 -
如何设计操作系统调度算法
本文主要讨论设计一个调度算法的时候要考虑的几个问题。首先我们应该考虑数据结构 进程控制块当中需要记录哪些 跟调度相关的信息,在设计 PCB 的时候,我们要为调度设计相应的字段。首先要知道进程的优先级和优先数。优先级和优先数是两个不同的概念,要区分 先级表现出了进程的重要性 和紧迫性。 那么优先数实际上是一个数值 ,它反映了某一个优先级。 有些系统像 UNIX 优先数小的优先级高,这就像日常生活中一样 围棋,那么 9 段比 1 段水平要高,一般的运动员 一级运动员要比三级运动员水平要高 。原创 2023-01-20 23:40:44 · 1018 阅读 · 0 评论 -
操作系统(五)-----进程的状态以及状态之间的转换
进程状态及状态转换 我们首先,先来看一下最基本的状态一共有三个,运行态、 就绪态、等待态 那么运行态指的是这个进程已经拥有了CPU 并且在CPU上执行。 就绪态指的是进程已经具备了运行的条件 但是由于没有空闲的CPU,所以这个进程暂时还不能运行 打个比方就是说,万事俱备只欠CPU。 第三种状态呢我们把它称之为等待态,那么指的是这个进程 因为等某一个事件,而暂时不能运原创 2017-04-10 10:51:16 · 6018 阅读 · 0 评论 -
操作系统(六)--------进程控制操作(原语)
下面我们介绍一下进程控制 进程控制操作呢,主要是完成了进程 之间,进程的各状态之间的什么呀,转换 那么进程控制操作实际上就是具有特定功能的程序 那么这个程序执行的时候呢,由于不允许被中断,所以呢,我们把它称之为原语那么进程相关的控制原语,有这样一些那么什么是原语呢? 所谓原语,有的时候又称之为原子操作 那么它是完成某种特定功能的一段程序 比如说,完成创建,或者是完成阻塞,它是一段程原创 2017-04-10 10:52:30 · 9903 阅读 · 2 评论 -
操作系统(七)-----进程的一些基本概念
下面呢,我们来深入探讨一下进程的这些概念下面我们看一下进程的分类。 第一种分类呢实际上把进程分成了系统进程和用户进程 系统进程呢,是操作系统为了管理一些资源而设计的进程它的主要特点是优先级比较高 相对于用户进程而言系统进程会优先被调度上 CPU去执行 因为它完成了一些关键的工作 第二类呢,我们称之为前台和后台进程前台进程实际上就是和用户直接交互的这样一些进程 用户敲键盘原创 2017-04-10 10:53:07 · 380 阅读 · 0 评论 -
操作系统(一)-------操作系统概述
操作系统原理课的第一讲 操作系统概述,在这一讲里头,我们将学习以下这些内容 首先我们通过一个程序的执行过程 来看一下,操作系统做了什么,然后我们介绍操作系统的定义和它的作用 操作系统是一个软件,那么相对于其它的软件 它有哪些特征呢?有哪些特点呢 另外我们介绍一些典型的操作系统架构 通过介绍Windows、 Unix和Linux操作系统的架构 让我们有一个感性的认识,看一看操作系统都有哪些功能 它们原创 2017-03-03 10:39:52 · 1169 阅读 · 0 评论