热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

浅谈操作系统概念,作用,特性及分类

操作系统概念:操作系统是计算机系统中的一个系统软件,是一些程序模块的集合操作系统作用:1.资源的管理者2.向用户提供各种服务3.对硬件机器的扩展第1点中:资源分配策略

操作系统概念:

操作系统是计算机系统中的一个系统软件,是一些程序模块的集合

 

操作系统作用:

1.资源的管理者
2.向用户提供各种服务
3.对硬件机器的扩展 

 

第1点中:

资源分配策略——算法

静态分配策略:把进程所有需要的资源先都分配给它,但这就导致了有些时候一些资源没有被该进程用到,这就导致了资源浪费问题

动态分配策略:进程什么时候需要就什么时候给它,若该资源已被占用则该进程阻塞进入该资源相应的等待队列中


资源管理:进/线程管理,存储管理,文件管理,设备管理,用户接口管理等等

 

 

OS特征:

并发,共享,虚拟,随机

并发/并行

 

之前在知乎上看到了关于这两者有趣的比喻:

设想一个场景你正在吃饭,然后有个电话打进来:

1.你等吃完饭后再去接电话,这说明你不支持并发也不支持并行

2.你先接电话,接完后吃饭,这说明你支持并发

3.你一边吃饭一边打电话,这说明你支持并行

这是具体到人,即人为处理器

 

下一个具体到嘴巴,即嘴巴为处理器

1.你咽一口饭,然后接一句电话,这说明你支持并发,有个先后逻辑关系,就是之前的逻辑上的概念

2.你咽一口饭还要说一句话,一张嘴办不到这事,至少有两张嘴引申过来就需要两个或两个以上的处理器,就是之前物理上的概念

另个说法:

并发是指程序的结构,并行为程序运行时的状态

并行即为同时执行,判断一个程序是否处于并行状态,看同一时间点是否有超过1个工作单位运行,其中单线程是无法达到并行,因为只有一个工作单位,要将其达到多线程或多进程即可并行。

并发为程序结构使多个操作可以在重叠时间段内进行

 

这样看来并行当然是在重叠时间段内进行,但

 

task1与task2在重叠的时间段里进行,但是同一时间点仅仅只有一个代码段(黑色体为某代码)执行,这不是并行便为并发,并发并不描述程序执行的状态,它描述的是一种设计,是程序的结构

 

个人理解:

并发:进程B开始时间是在进程A开始时间与结束时间之间强调时间段),称A与B并发(逻辑上

并行:同一时间(强调时间点)两个进程运行在不同机器或同一机器不同核心上物理上)                                                     可能在平时用的时候并不是很注重这些方面的细分    →  。→

 

 

共享:

操作系统与多个用户程序共同使用计算机系统中资源,其中分为互斥共享(资源不能同时使用)同时共享(资源可以同时使用)

 

虚拟:

一个物理实体银蛇为人若干个对应逻辑实件(分时或者分空间)

存储器中每个进程都有独立的的虚拟地址空间(存代码,数据,堆栈)

 

随机:

OS要对不可预测的事件进行响应处理

 

 

OS分类:

①批处理操作系统

工作方式:

1.用户将作业(作业:由作业说明书(由作业控制语言编写的),用户程序,数据组成,而且都是以卡片的形式,输入设备为卡片机)交给系统操作员

2.系统操作员将许多用户作业组成一批作业输入到计算机系统中,在系统中形成一个自动转接的连续的作业留

3.启动OS

4.OS自动一次执行每个作业,用户无法干预这一过程

5.由操作员将执行结果交给用户

 

追求目标:提高资源利用率,增加作业处理吞吐量

 

总体过程:从卡片机读入用户作业和编译链接程序,编译链接用户作业生成可执行程序,执行程序,输出执行结果

问题:慢速I/O设备与CPU处理速度相差太大,这就导致了当CPU需要数据处理时,I/O设备半天读不进来给CPU,或者半天输不出去数据,此时CPU都要等待即为空闲状态。

解决方案:

出现了卫星机慢速I/O设备和高效计算机间再加一个较差的计算机作为缓冲,就像内存与CPU间加上了cache,卫星机接收用户的输入与输出,中间结果存在磁带上,这样CPU就无需等待,这样解决方案叫脱机,即脱离了中间那台高效的计算机。

 

 

批处理系统又分成: 

单道批处理OS

 

 

 

 

多道批处理OS

 

spooling技术:

利用磁盘做缓冲,将输入,计算,输出分别组成独立的任务流,使I/O和计算并行(假脱机:磁盘在搞笑的计算机上)

1.用户作业输入磁盘输入井

2.按照某种调度策略,选几个搭配得当的作业调入内存

3.作业运行结果输出到磁盘的输出井

4.运行结果从输出井到打印机   (输入输出只到输入或输出井,主机不用直接与慢速的I/O打交道,高效快速)

ps:现代打印机仍用这种技术

 

应用spooling技术后:

 

 ②分时操作系统

工作方式:多个终端(只有I/O设备没有计算能力)连接到同一主机中,然后OS将CPU时间分成若干个片段,OS以时间片为单位,轮流为每个终端用户服务,每次服务使用掉一个时间片

追求目标:及时响应               ps.响应时间:以终端发出命令到系统给予回答所经历的时间

 

 ③实时操作系统

指计算机能及时响应外部时间请求,在规定的严格时间内完成对该事件处理

追求目标:对外部请求在严格时间范围内做出响应

 

作者水平有限,文章肯定有错还请各位指点!!!感谢!!!

 


推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 本文详细介绍了MicroATX(也称Mini ATX)和MATX主板规格,探讨了它们的结构特点、应用场景及对电脑系统成本和性能的影响。同时,文章还涵盖了相关操作系统的实用技巧,如蓝牙设备图标删除、磁盘管理等。 ... [详细]
author-avatar
小小号号--
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有