展开

关键词

现代操作系统

一、基本类型 1.按硬件平台分为: 单机OS(只管理一台机器的操作系统)、并行OS(硬件平台并行,多CPU)、网络OS(在网络环境下,针对网络通信,网络资源分配,交互功能)、分布式OS(位于分布式环境下 现代操作系统中,任务用线程和进程两个基本概念共同表示,传统操作系统中只有进程这一概念。 现代操作系统中,任务管理模型用线程状态转换图表示,传统操作系统用进程状态转换图。

5510

现代操作系统》—— 死锁

两个进程同时使用同一个文件系统中的某个文件会引起文件系统的瘫痪,因此操作系统都具有授权一个进程(临时)拍他的访问某一资源的能力。不然可能会因为两个进程同时请求被占用的资源而导致死锁。 比如下图6-10a到6-10b,操作系统分配了一个资源你给进程A,然后空闲2个资源,此时空闲的2个资源那只能保证进程B完成,进而流转到了图6-10c,当进程B完成并释放4个资源时,空闲的资源只有4个,无法满足进程 总结 死锁是任何操作系统中都潜在的问题。当一组进程中的每个进程都因等待由该组进程中的另一个进程所占用的资源而导致的阻塞,死锁就发生了。

14200
  • 广告
    关闭

    腾讯云校园大使火热招募中!

    开学季邀新,赢腾讯内推实习机会

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    现代操作系统》—— 进程

    前言 操作系统中最核心的概念就是进程。进程是对正在运行的程序的抽象。 没有进程的抽象,现代计算将不复存在。操作系统的其他所有内容都是围绕着进程的概念展开的。所以,透彻的理解进程是非常必要的。 进程 现代计算机经常会在同一时间做多个任务。比如,当系统启动时,会秘密启动许多进程,包括接收邮件的进程、病毒检测进程、文件打印进程等。 本文中,我们假设计算机只有一个CPU,即这个CPU是单核心的(虽然这种假设在现代计算机中几乎不存在)。 但对于通用系统,即我们通常用到的操作系统,因为其还要支持用户动态的启动、关闭一个程序,所以需要操作系统提供某种方法在运行时按需创建、撤销进程。 所以对于通用系统而言,其创建进程的场景是多样的,主要包括以下4种事件: 操作系统初始化创建进程 进程通过系统调用创建新进程 用户手动创建新进程 初始化批处理作业创建新进程 操作系统初始化创建进程 操作系统启动时

    13710

    现代操作系统》—— 线程

    线程的作用 本节中以3个例子进行举例说明操作系统中引入(多)线程模型的作用。这3个例子分别是交互式程序、Web服务器、大数据处理程序。 以下来源于wikipedia: POSIX译为可移植操作系统接口(Portable Operating System Interface,缩写为POSIX)是IEEE为要在各种UNIX操作系统上运行软件 所以POSIX基本上是所有主流操作系统都遵守的协议标准。 1003.2 一个应用于shell和工具软件的标准,它们分别是操作系统所必须提供的命令处理器和工具程序。1992年IEEE通过了这个标准。 优点 用户级线程包可以在不支持线程的操作系统上实现。过去所有的操作系统属于这个范围,但现在不是了。 用户级线程允许每个进程自己定制调度算法。

    19010

    现代操作系统》—— 调度

    前言 现代计算机都是多道程序设计系统。在多道程序设计系统中,通常会有多个进程或线程同时竞争同一个CPU。 在操作系统中,完成这个选择工作的程序叫做调度程序(scheduler)。该程序使用的算法叫做调度算法。 许多适用于进程调度的方法同样也适用于线程调度。 调度算法分类 不同的应用领域有不同的目标,也就需要不同的操作系统。所以,不同的操作系统,需要有不同的调度算法。常见的操作系统分为3类: 批处理系统 批处理系统是弱交互的。

    15000

    现代操作系统》——内存管理

    前言 内存管理是操作系统中经典的话题。小型嵌入式系统一次只需要执行一个任务,对内存管理没有要求。现代操作系统通常要同时执行多个进程,多个进程所占用的内存之和通常超出物理内存的容量大小。 所以,现代操作系统的设计者就要想办法来调和系统的多任务同时运行、软件体积膨胀和有限的物理内存容量之间的冲突,想尽办法做到鱼和熊掌兼得。这就是本文所介绍的操作系统的内存管理。 但现代的机器中几乎所有的页面管理都是在软件中实现的。TLB表项被操作系统显示的装载。当发生TLB访问失效时,不再由MMU到内存页表中查找并取出需要的页表项,而是生成一个TLB失效并抛给操作系统现代计算机都有某种形式的虚拟内存。虚拟内存很好的解决了 ①进程占用内存大于实际内存的问题 ②现代操作系统多道程序同时在内存中运行的问题。 看完本文,我们可以知道,现代操作系统中,无论是PC端桌面系统,还是移动端手机系统,开发者所谈论的内存通常是指“虚拟内存”。

    10000

    现代操作系统》—— 进程间通信问题

    —— Murphy定律 ---- 前言 阅读前面的文章,我们已经知道了进程是操作系统对正在运行的程序的抽象。现代操作系统中,进程通常需要和其他进程进行通信。我们称之为进程间通信 问题。 为了实现互斥而选择适当的原语是任何操作系统的主要涉及内容之一。 临界区 操作系统中,我们把访问共享内存的程序片段称为临界区(critical section)。 笔者总结了C语言作为操作系统御用语言的原因,主要从跨平台、运行效率、内存管理等方面介绍: 成熟度高的语言。 开发操作系统的语言必须是一门成熟的语言。 操作系统的内存管理要非常严格。通常需要编写操作系统的开发者手动开辟/释放内存。而对于有垃圾回收机制的语言来说,比如Java,显然是做不到的。 另一方面,操作系统效果对于上层软件代码的迭代频率低,操作系统的内核几年甚至十几年都变化甚微,所以所谓的使用C语言开发麻烦,在操作系统上也只是“麻烦一次”。

    17810

    现代操作系统的存储器结构

    按块读取 程序局部性原理,可以提高效率 充分发挥总线CPU针脚等一次性读取更多 数据的能力 缓存行(cache line): 缓存行越大,局部性空间效率...

    16110

    读CSAPP:与《现代操作系统》的比较

    这两天读CSAPP读的兴起,昨天还发了条动态说读CSAPP比现代操作系统读着爽(哈哈)。 其实也并不是无脑黑现代操作系统,与CSAPP相比各有优缺点。 而对比现代操作系统而言,CSAPP也并没有达到译作名深入理解操作系统的地步,倒是践行了全书中我认为最重要的APP(一个程序员的视角)。 看过现代操作系统来读CSAPP还是如行云流水的(也可能是我还没看到更深入的部分),读之前我还担心会不会和现代操作系统重叠太多这本书白买了,然而担心是多余的。 在此也为现代操作系统正名,从深入理解操作系统的角度来看,CSAPP还是不如现代操作系统的,CSAPP有的地方写的比较笼统(比如硬件部分或者进程调度部分),而现代操作系统中作者则花费了很大的笔墨来详细地介绍 但是从一个程序员的角度来看,现代操作系统又太过偏执于系统(软硬件)底层的逻辑,不如CSAPP的切入点直白犀利(当然是程序员的视角符合我的口味啦)。

    60310

    现代操作系统 原书第3版》

    现代操作系统(英文版第3版)》内容为:Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使《现代操作系统(英文版第 3版)》成为操作系统领域的经典之作。 在《现代操作系统(英文版第3版)》第3版中,作者深入讨论了许多主题,包括:进程,线程,存储管理,文件系统,I/O死锁,接口设计,多媒体,性能权衡。以及有关操作系统设计的最新趋势。 书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统,WindowsVista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。 ·在线操作系统练习(http://www prenhall.com/anenbaum/details.html)采用主流windows操作系统以及开源工具。 ·包括操作系统模拟练习。

    48500

    现代操作系统学习之进程与线程

    启动操作系统时,通常会创建若干进程。其中有些是前台进程,也就是同用户交互并且替他们完成工作的那些进程。 第四种终止进程的原因是,当某个进程执行一个系统调用通知操作系统杀死某个其他进程。 4.进程的层次结构,某些系统中,当进程创建了另一个进程后,父进程和子进程就以某种形式继续保持关联。 在操作系统发现进程不能继续运行下去时,发生由运行态到阻塞态的转换;运行态和就绪态的互相转换一般由进程调度程序引起的;当进程等待一个外部事件发生时(如一些输入到达),则发生由阻塞态到就绪态的转换,如果此时没有其他进程运行 操作系统的最底层是调度程序,在它上面有许多进程。所有关于中断处理、启动进程和停止进程的具体细节都隐藏在调度程序中。 6.进程的实现,为了实现进程模型,操作系统维护着一张表格(一个结构数组),即进程表。

    4910

    现代操作系统部分章节笔记二、进程与线程三、存储管理

    可转化为就绪态(外部事件发生了,此时进程可以继续运行,不过得等待CPU片时间被分配给该进程) 6.进程的实现:为了实现进程模型,操作系统维持了一张进程表。 5.内核空间线程:操作系统的内核直接支持多线程,线程表放在内核之中。有以下优点 1.在用户线程中单独的进程内部是没有时钟中断的,所以用户线程无法进行轮转调度,但是内核线程可以。 而如果程序引用的部分不在物理内存中的地址空间的时候,操作系统需要将缺失的部分装入物理内存中并重新执行指令。 6.页面置换算法:在缺页的时候操作系统会将一个需要的页面替换进物理内存中,此时就需要通过算法来找到最何时的页面被替换出去。

    59070

    ROS自平衡车案例学习(机器人操作系统+现代控制理论融合)

    之前,现代控制理论,研究过一些倒立摆和自平衡小车,现在用ROS+Gazebo环境尝试一下。 ROS自平衡机器人仿真(机器人操作系统+现代控制理论融合案例) 找了一些案例都是kinetic,Gazebo7及以前的版本适用。为了能使melodic和noetic都可适用,做了适当的修改。 平衡模式--摆垂直 ---- 这是一个学习ROS机器人和现代控制理论最高效的案例: 如需查阅之前资料 :现代控制理论课程专栏 https://blog.csdn.net/zhangrelay/category ---- 最后,上传一些和现代控制理论密切相关的代码吧。 A, B, C, D(定义)。

    53520

    现代前端技术解析:现代前端交互框架

    本文链接:https://ligang.blog.csdn.net/article/details/76598662 现代前端交互框架 ​ Web前端页面的开发避免不了与DOM的交互操作。

    33231

    现代前端技术解析:现代前端交互框架

    现代前端交互框架 ​ Web前端页面的开发避免不了与DOM的交互操作。前端框架的一次次变化,从提升效率的阶段,慢慢走向改善性能的阶段。

    12030

    现代前端技术解析

    这是一本以现代前端技术思想与理论为主要内容的书。前端技术发展迅速,涉及的技术点很多,我们往往需要阅读很多书籍才能理解前端技术的知识体系。 这本书在前端知识体系上做了很好的总结和梳理,涵盖了现代前端技术绝大部分的知识内容,起到一个启蒙作用,能帮助读者快速把握前端技术的整个脉络,培养更完善的体系化思维,掌握更多灵活的前端代码架构方法,使读者获得成为高级前端工程师或架构师所必须具备的思维和能力

    23720

    现代的PHP框架

    现代的PHP框架介绍 今天说一下现在比较流行的PHP框架,直接从github搜一下便可以知道大家现在正在用的框架,大家关注的是什么 [image.png] Laravel框架 咱们首先来说一下Laravel

    1.1K60

    现代元数据平台

    但是现代元数据平台与传统的元数据管理有什么区别呢? 现代元数据平台在于自从拥有了大数据以后,一个公司已经不仅仅只需要一个数据库就可以支撑数据分析等工作,而是需要分布式数据存储、计算、可视化、调度等等复杂的工具组成的现代数据技术栈(Modern Data 此时就需要一个现代元数据平台去管理现代数据技术栈,以防止公司的数据生态系统由于分散和增长而变成笨重的野兽。 原因很简单:现代数据技术栈带来的规模和复杂性。 在现代数据技术栈出现之前,数据生态系统要简单得多。大多数公司采用单一的端到端解决方案来提取、加载和转换数据。 那么,为什么需要现代元数据平台呢?因为您的元数据可能与您的数据一样大和一样复杂,因此应该受到同样的尊重。 如何构建出色的现代元数据平台?

    14131

    现代脚本的加载

    背景知识 先简单介绍一下模块script(Module script), 它指的是现代浏览器支持通过<script type=module src=main.js></script>来加载现代的ES6 现代浏览器对ES6现代语法有良好的支持,这意味着我们可以给这些现代浏览器提供更紧凑的‘现代代码’,一方面可以减小打包的体积,减少网络传输的带宽,另外还可以提高脚本解析的效率和运行效率. 本文会介绍几种方式, 来解决上述的问题: 给现代浏览器伺服’现代的代码’对性能有很大的帮助。 所以你应该针对现代浏览器提供包含更紧凑和优化的现代语法的Javascript包,同时又可以保持对旧浏览器的支持 现有的工具链的生态系统基本都是在module/nomodule模式上整合的,它声明式加载现代和传统代码 ,取决于浏览器是否能被识别为现代浏览器.

    33020

    现代web开发方法

    前言 最近,读了一些外文,觉得这篇现代web开发方法的文章还可以,就翻译了一下,尽我最大的努力,蹩脚的英文很是费尽,其中有的夹杂了一些自己粗浅的理解,如果有误导,请多多包涵,还请路过的老师多提意见和指正 ,如果你想阅读英文原文,可直接扫文末下方二维码阅读即可 正文从这里开始~ 几个提示脱颖而出的现代网络发展 在本文中,我将介绍使用基于单页JavaScript的框架的基本概念,优点和缺点 首先,单页面应用程序是什么 functionality 功能 14. establish 建立 15. persistent 一贯,固执 16. disconnects 断开,拆开 总结 整篇主要是从传统的web应用过度到现代

    18010

    相关产品

    • 腾讯物联网终端操作系统

      腾讯物联网终端操作系统

      腾讯物联网终端操作系统(TencentOS tiny)是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率。TencentOS tiny 提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU 及模组芯片上……

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券