一、什么是操作系统

操作系统(Operating System,简称OS)是一种系统软件,它是计算机硬件和应用软件之间的桥梁。它管理计算机的硬件和软件资源,为应用程序提供接口和服务,并协调应用程序的运行。操作系统是计算机系统中最基本的软件之一,它控制着计算机的所有活动,包括输入输出、处理数据、管理存储、协调进程和网络通信等。常见的操作系统包括Windows、macOS、Linux、Unix等。后面我们主要讨论Linux操作系统和其他的一些嵌入式操作系统。

计算机系统的分层视图

操作系统为硬件提供的抽象表示

应用程序不会去直接访问显示器、键盘、磁盘或者主存, 而是依靠操作系统提供的服务。所有应用程序对硬件的操作尝试都必须通过操作系统。操作系统提供两个基本功能:1、防止硬件被失控的应用程序滥用。2、向应用程序提供简单一致的机制,来控制复杂而又常常差别很大的底层硬件设备。操作系统通过几个基本的抽象概念(进程、虚拟内存、文件)来实现这两个功能。文件是对I/O设备的抽象表示,虚拟内存是对主存和磁盘I/O设备的抽象表示,进程则是对处理器、主存和I/O设备的抽象表示。

二、为什么需要操作系统

操作系统是计算机系统中最基本的软件之一,它可以管理计算机的硬件和软件资源,为用户提供一个友好的界面来与计算机交互。

操作系统特性间的关联 实线为密切关联

以下是为什么需要操作系统的几个原因:
管理硬件资源:操作系统可以管理计算机的各种硬件资源,如CPU、内存、硬盘、打印机等等。操作系统会调度和分配这些资源,以确保它们被有效地利用。
提供用户界面:操作系统可以提供用户友好的界面来与计算机交互,如命令行界面、图形界面等等。这使得用户可以更方便地使用计算机,而不必深入了解计算机底层的运行方式。
管理文件系统:操作系统可以管理计算机的文件系统,包括文件的创建、修改、删除、移动等等。这使得用户可以更方便地组织和管理自己的文件。
提供网络功能:操作系统可以提供网络功能,如连接到互联网、共享文件和打印机等等。这使得用户可以更方便地与其他计算机和设备进行通信和协作。

三、什么是实时操作系统

实时操作系统(RTOS)是一种专门为实时应用程序设计的操作系统。与通用操作系统不同,RTOS具有极低的延迟和可预测的响应时间,这对于需要快速响应输入和输出的应用程序非常重要。这些应用程序包括航空航天、工业自动化、医疗设备、通信设备、嵌入式系统等。
实时操作系统的主要特征包括:
实时性:RTOS能够在严格的时间限制内完成操作,能够及时地响应外部事件。
可靠性:RTOS能够保证系统的可靠性和稳定性,尽可能地避免系统崩溃和死锁。
多任务处理:RTOS能够同时处理多个任务,保证系统的高效性和灵活性。
低延迟:RTOS能够实现非常低的响应延迟,从而提高系统的实时性。
可裁剪性:RTOS可以根据具体的应用需求进行定制和裁剪,

四、什么是硬实时操作系统

硬实时操作系统(Hard Real-Time Operating System)是一种能够保证在预定时间内处理任务的操作系统。与软实时操作系统不同,硬实时操作系统可以在特定时间限制内精确地处理任务,任何任务都不能超过其规定的时间限制。
        硬实时操作系统的设计目标是尽可能地缩短任务响应时间,以满足需要高度可靠性和严格实时性的应用场景。硬实时操作系统通常使用静态优先级调度算法,为每个任务分配优先级,以保证高优先级任务能够优先得到处理。此外,硬实时操作系统还支持中断处理、任务同步和通信等功能。
        硬实时操作系统广泛应用于需要严格保证任务响应时间的领域,如飞行控制系统、机器人控制系统、医疗设备、军事系统等。但是,硬实时操作系统的设计复杂性和开发成本较高,因此通常用于对时间响应要求特别高的领域。

五、什么是软实时操作系统

软实时操作系统(Soft Real-Time Operating System)是一种折中方案,它是介于实时操作系统和一般操作系统之间的一种操作系统类型。与硬实时操作系统不同,软实时操作系统不能保证每个任务都能在确定的时间内完成,但是可以在尽可能短的时间内完成,并尽量减少任务响应的延迟。
        软实时操作系统通常采用时间片轮转调度算法,以实现在任务之间的时间共享。软实时操作系统通常用于处理一些相对不紧急、可容忍一定延迟的任务,如音视频播放、图形处理等。
        软实时操作系统适用于大多数应用场景,因为它能够满足大多数任务的响应需求,并且还能够提供更好的可用性和灵活性。同时,它的成本也比硬实时操作系统更低。

六、什么是微内核操作系统

微内核操作系统(Microkernel Operating System)是一种操作系统设计架构,它将操作系统的核心功能分解成多个独立的、可插拔的模块,其中核心部分仅仅包含最基本的功能,如内存管理、进程管理和通信机制等。而其他高级功能,如文件系统、网络协议栈和驱动程序等则运行在操作系统的用户空间。
        微内核操作系统的设计目标是提高操作系统的可维护性、可扩展性、可移植性和安全性。与传统的单内核操作系统相比,微内核操作系统具有以下优点:
灵活性:模块化设计使得微内核操作系统更加灵活,可以根据应用程序的需要选择性地加载和卸载功能模块。
可扩展性:由于核心部分非常小,因此微内核操作系统可以很容易地扩展新的功能模块。
可维护性:微内核操作系统的设计使得对核心部分的修改和更新变得更加容易。
安全性:由于操作系统的核心部分非常小,所以攻击者的攻击面也会降低,从而提高了系统的安全性。

七、什么是宏内核操作系统

宏内核操作系统是操作系统的另一种设计方法,与微内核相对。在宏内核操作系统中,所有的操作系统服务都运行在操作系统内核中,形成一个庞大的内核,宏内核包括文件系统、网络协议栈、设备驱动程序等服务都运行在内核态,与内核本身共同组成一个单一的执行环境。
        在宏内核操作系统中,各个服务之间的通信和交互都是直接的,这意味着它们之间的耦合度非常高,如果其中一个服务出现问题,可能会影响到整个操作系统的稳定性。此外,宏内核设计方法不利于操作系统的可扩展性和可维护性。
        与微内核相比,宏内核操作系统的优点在于效率高,因为它避免了在用户空间和内核空间之间频繁切换的开销。但是,随着硬件技术的不断进步,这个优点的影响已经逐渐减少,因此,现代操作系统普遍采用微内核设计方法。

八、常见的嵌入式操作系统及其特点

FreeRTOS:一个基于实时内核的开源操作系统,适用于嵌入式设备和实时应用程序。
uC/OS:一个用于嵌入式系统的实时操作系统,支持多任务、消息传递、定时器、信号量、互斥量等功能。
Linux及其衍生系统:一个基于Linux内核的开源操作系统,适用于嵌入式设备和系统,具有良好的可移植性和可扩展性,支持多任务、多线程、进程管理、文件系统等功能。
VxWorks:一个实时操作系统,具有可靠性高、可定制性强、支持多任务、多线程等特点,广泛用于工业自动化、网络设备等领域。
Nucleus RTOS:一种实时操作系统,适用于高性能嵌入式系统,支持多任务、多线程、消息队列等功能,具有低延迟、低开销的特点。
ThreadX:一个实时嵌入式操作系统,具有低开销、可裁剪的特点,适用于内存受限的嵌入式设备。
embOS:一种实时嵌入式操作系统,支持多任务、多线程、定时器、信号量等功能,适用于对实时性要求高的应用。
QNX:一种实时操作系统,具有可靠性高、可定制性强、支持多任务、多线程等特点,广泛用于汽车、航空、医疗等领域。
        这些嵌入式操作系统各有优点和特点,适用于不同的应用场景。在选择嵌入式操作系统时,需要考虑应用的实时性、资源需求、功能要求等多个因素。

操作系统概念及常见的操作系统相关推荐

  1. 计算机操作系统_计算机理论(操作系统概念及常见操作系统类型)

    操作系统,对于我们来说是一个经常会听到的名词,如我们日常使用的Window系统等.但是,对于操作系统的概念,大部分人都是一知半解的.本节我们主要简单介绍下操作系统的定义,以及常见的操作系统的类型. 现 ...

  2. 操作系统概念 ppt_智能家居操作系统三国拉锯,要出结果了吗?

    海尔.百度.华为盘踞的智能家居操作系统,谁拿下传统家电企业了? 文/郭锴 来源/智能相对论(aixdlun) 福特曾说,如果你问消费者他们想要什么,得到的答案只会是一匹更快的马.汽车大王福特给消费者了 ...

  3. linux操作系统漏洞,常见的操作系统漏洞有哪些

    我们都知道电脑系统漏洞是普遍存在的,但是您听说过常见操作系统漏洞吗?常见的操作系统漏洞有哪些?了解网络安全常识,首先就要了解佰佰安全网小编就带您认识一下吧. 1.DOS 简介 DiskOperatin ...

  4. OS操作系统概念简介

    操作系统 操作系统是一种程序:控制应用程序执行的程序 操作系统是一种接口:应用程序和计算机硬件间的接口 操作系统就是让普通人也会用电脑的软件(为了方便),就是把整个电脑资源包装起来的一个图形界面(为了 ...

  5. 操作系统概念(一)——导论

    此为本人在期中临近复习操作系统概念时将手写版笔记中的重点进行提炼后,加入个人的理解与思考所写出的总结性笔记,仅供参考. 一.做什么: 1.操作系统是管理计算机硬件的程序,为应用程序提供基础,并充当计算 ...

  6. 《Cisco IOS XR技术精要》一1.3 操作系统概念

    本节书摘来自异步社区<Cisco IOS XR技术精要>一书中的第1章,第1.3节,作者 [美]Mobeen Tahir , Mark Ghattas , Dawit Birhanu , ...

  7. 生活中常见的操作系统

    一. 操作系统 1.1 操作系统概念 操作系统(Operating System,简称 OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在"裸机"上的最基本的系统软件 ...

  8. 操作系统概念---导论

    本文章以<操作系统概念(第9版)>为依据. 目录 一.操作系统的功能 1.用户视角 2.系统视角 3.操作系统的定义 二.计算机系统的组成 1.计算机系统的运行 2.存储结构 3.I/O结 ...

  9. java大作业私人管家系统_操作系统概念(Operating System Concepts)第十版期中大作业...

    更正: 第一题中,哲学家就餐问题中的哲学家的状态state[i]应属于临界区变量,是可能会产生读写冲突的,所以对其进行读写的时候均需要加一把互斥锁. 非常感谢不听不听不听的指正. ---------- ...

最新文章

  1. 如何将自己写的verilog模块封装成IP核(一)
  2. mybatis 解析Integer为0的属性,解析成空字符串
  3. fastadmin html模板,fastadmin 使用记录
  4. python字节码解析_从底层入手,解析字节码增强和Btrace应用
  5. java ssl发送邮件_通过SSL发送的Java邮件
  6. C# 输出目录结构树到Console或文本文件
  7. Ambari安装之安装并配置Ambari-server(三)
  8. 计算当前时间往加N天后的时间,Date,SimpleDateFormat,Calendar
  9. 自己的Matlab代码整理
  10. 提取数据_提取图表曲线数据的方法
  11. ps盖印图层在哪里_ps盖印图层快捷键怎么用? ps盖印图层教程
  12. Android 做一个简单记事本app
  13. 语音识别(ASR)论文优选:WeNet之U2++
  14. nginx+域名配置
  15. Java实现矩阵运算——矩阵乘法、矩阵转置、自动填充矩阵行
  16. intel rst linux 驱动下载,下载:Intel RST存储驱动10.1.2.1004
  17. aruba交换机配置命令_aruba交换机配置-实战篇
  18. 符号的英文读法(转)
  19. VolumeUI音量调节对话框
  20. 岁月让我们学会了选择与放弃

热门文章

  1. 流量卡之家:5G面临三大安全挑战 制造等行业受影响最大
  2. 如何通过CRM客户管理系统做好售后服务
  3. arduino控制模数转换器代码
  4. 一览:UMP系统各组件功能
  5. msyql 赋予权限和撤销权限
  6. 【应用笔记】【AN004】VB环境下基于RS-485的4-20mA电流采集
  7. matlab电压传感器,MATLAB在光纤电压传感器温度补偿中的应用
  8. Java 编程的动态性,第3部分: 应用反射
  9. QtCreator里添加外部第三库、头文件路径的方法(.pro文件)
  10. 目标检测 Faster R-CNN运行及实时性DEMO测试