1 引论

1 引论

  1. 操作系统(OS)

    -管理计算机系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户方便有效地使用计算机,提供良好运行环境的一种系统软件

  2. 操作系统的目标

    1. 方便性 2. 有效性 3. 可扩充性 4. 开放性
  3. 操作系统的作用

    1. OS作为用户与计算机硬件系统之间的接口
    2. 计算机系统资源的管理者
    3. OS实现了对计算机资源的抽象
  4. OS发展的动力

    1. 不断提高计算机资源利用率
    2. 方便用户
    3. 器件的不断更新换代
    4. 计算机体系结构的不断发展
    5. 不断提出新的应用需求
  5. 操作系统的发展

    1. 20世纪50年代中期:批处理OS

    2. 20世纪60年代中期:多道程序批处理OS 分时系统 实时系统

    3. 20世纪70-90年代:微机OS 多处理机OS 网络OS

    4. 未配置操作系统的计算机系统

      1. 人工操作方式(用户独占全机 CPU等待人工操作)
      2. 脱机输入/输出(Off-Line I/O)方式
    5. 单道批处理系统

      -系统中的资源得不到充分的利用

    6. 多道批处理系统

      -资源利用率高

      -系统吞吐量大

      -平均周转时间长

      -无交互能力

    7. 分时系统(Time Sharing System)

      多路性 独立性 及时性 交互性

    8. 实时系统(Real Time System)

      1. 实时系统类型:

        1. 工业(武器)控制系统
        2. 信息查询系统
        3. 多媒体系统
        4. 嵌入式系统
      2. 实时任务类型:

        1. 周期性实时任务 || 非周期性实时任务
        2. 硬实时任务 || 软实时任务
      3. 实时系统特征:

        多路性 独立性 及时性 交互性 可靠性

    9. 微机操作系统的发展

      1. 单用户单任务操作系统 CP/M  MS-DOS
      2. 单用户多任务操作系统 (程序分成多个任务 多个任务可并发)
      3. 多用户多任务操作系统 (多用户多终端使用同一个机器)
    10. 操作系统的基本特性

      -并发 共享 虚拟 异步(批处理 分时 实时 都有)

      1. 并发

        -区别并行和并发

        并行性是指两个或多个事件在同一时刻发生。而并发性是指两个或多个事件在同一时间间隔内发生。

        -引入进程

        没引入进程只能顺序执行,引入进程后可以并发执行

      2. 共享

        1. 互斥共享

          系统中的某些资源,如打印机、磁带机等,虽然可以提供给多个进程(线程)使用,但应规定在一段时间内,只允许一个进程访问该资源

        2. 同时访问方法

          这里所谓的“同时”,在单处理机环境下是宏观意义上的,而在微观上,这些进程对该资源的访问是交替进行的。典型的可供多个进程“同时”访问的资源是磁盘设备。

      3. 虚拟

        1. 时分复用技术

          虚拟处理机技术 虚拟设备技术

        2. 空分复用技术

      4. 异步

    11. 操作系统的主要功能

      1. 处理机管理功能

        1.进程控制 2.进程同步 3.进程通信 4.调度((1)作业调度 (2)进程调度)

      2. 存储器管理功能

        1. 内存分配

          -为程序分配内存空间

          -提高存储器利用率

          -允许运行程序申请附加内存空间

          1. 内存分配的方式

            1. 静态分配方式

              -每个作业的内存空间是作业装入时确定的,装入后的整个运行期间不允许再申请新的内存空间,不允许作业在内存中移动

            2. 动态分配方式

              -每个作业的内存空间是作业装入时确定的,装入后的整个运行期间允许再申请新的内存空间,允许作业在内存中移动

        2. 内存保护

          -确保每道用户程序都仅在自己的内存空间内运行,互不干扰

          -不允许用户程序访问OS的程序和数据,不允许用户程序转移到非共享的其它用户程序中去执行

        3. 地址映射

          -将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址,该功能应该在硬件的支持下完成

        4. 内存扩充

          -借助于虚拟存储技术,从逻辑上扩充内存容量,系统必须设置内存扩充机制,用于实现请求调入功能和置换功能

      3. 设备管理功能

        1. 设备管理任务:

          完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作;提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备

        2. 功能:

          缓冲管理、设备分配、设备处理、虚拟设备

      4. 文件管理功能

        1. 文件存储空间的管理

        2. 目录管理

        3. 文件的读/写管理和保护

          -文件的读/写管理

          -文件保护

      5. 操作系统与用户之间的接口

        1. 用户接口

          1. 联机用户接口
          2. 脱机用户接口
          3. 图形用户接口
        2. 程序接口

          为用户程序在执行中访问系统资源而设置,是用户程序取得操作系统服务的唯一途径。它是由一组系统调用组成的,每一个系统调用都是一个能完成特定功能的子程序

      6. 现代操作系统的新功能

        1. 系统安全
          1. 认证技术
          2. 密码技术
          3. 访问控制技术
          4. 反病毒技术
        2. 网络的功能和服务
          1. 网络通信
          2. 资源管理
          3. 应用互操作
        3. 支持多媒体
          1. 接纳控制功能
          2. 实时调度
          3. 多媒体文件的存储
      7. os结构设计

        1. 传统操作系统结构

          1. 无结构操作系统(整体系统结构 复杂混乱)

          2. 模块化结构OS

            -模块化程序设计技术 20世纪60年代

            -模块独立性

            -模块接口法=无序模块法 实际需求难完成

          3. 分层式结构OS

        2. 客户/服务器模式 C/S

          1. 组成:客户机;服务器;网络系统

          2. 交互:

            1. 客户发送请求消息
            2. 服务器接收消息
            3. 服务器回送消息
            4. 客户机接收消息
          3. 优点:

            (1) 数据的分布处理和存储。

            (2) 便于集中管理。

            (3) 灵活性和可扩充性。

            (4) 易于改编应用软件。

        3. 面向对象的程序设计技术

          1. 面向对象技术-20世纪80年代初

          2. 对象:客观世界的实体

            在面向对象的技术中,利用被封装的数据结构(变量)和一组对它进行操作的过程(方法)来表示系统中的某个对象的。对象中的变量(数据)也称为属性,面向对象中的方法是用于执行某种功能的过程

          3. 类:类”来定义一组大体相似的对象。一个类同样定义了一组变量和针对该变量的一组方法,用它们来描述一组对象的共同属性和行为。类是在对象上的抽象,对象则是类的实例

          4. 继承

          5. 优点:重用 易修改 易扩展 正确性 可靠性

        4. 微内核OS结构

          1. 足够小的内核

          2. 基于客户/服务器模式

          3. 应用”机制与策略分离“原理

            所谓机制,是指实现某一功能的具体执行机构。而策略,则是在机制的基础上借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。

          4. 采用面向对象技术

          5. 微内核基本功能:

            1. 进程(线程)管理
            2. 低级存储器管理
            3. 中断和陷入处理
          6. 优点:

            1.提高了系统的可扩展性 2.增强了系统的可靠性 3.可移植性强 4.提供了对分布式系统的支持 5. 融入了面向对象技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/669440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++泛编程(4)

类模板高级(1) 1.类模板具体化部分具体化完全具体化 2.类模板与继承 1.类模板具体化 有了函数模板具体化的基础,学习类模板的具体化很简单。类模板具体化有两种方式,分别为部分具体化和完全具体化。假如有类模板: te…

户用光伏电站设计优化方案:为行业打造示范标杆

不可再生能源的日益消耗促使了大家对新能源的使用和推广,光伏发电已经成为国家和企业大力推崇的技术。其中,户用光伏发电是重要组成部分,有非常大的市场发展空间。然而,如何优化设计,提高效率,降低成本&…

蓝桥杯备战(AcWing算法基础课)-高精度-减-高精度

目录 前言 1 题目描述 2 分析 2.1 第一步 2.2 第二步 3 代码 前言 详细的代码里面有自己的理解注释 1 题目描述 给定两个正整数(不含前导 00),计算它们的差,计算结果可能为负数。 输入格式 共两行,每行包含一…

【Iceberg学习二】Branch和Tag在Iceberg中的应用

Iceberg 表元数据保持一个快照日志,记录了对表所做的更改。快照在 Iceberg 中至关重要,因为它们是读者隔离和时间旅行查询的基础。为了控制元数据大小和存储成本,Iceberg 提供了快照生命周期管理程序,如 expire_snapshots&#xf…

函数调用栈是什么

今天在力扣leetbook上看《图解算法数据结构》中的空间复杂度这一小节,看到如下这句话: “程序调用函数是基于栈实现的,函数在调用期间,占用常量大小的栈帧空间,直至返回后释放。” 这句话的意思是,在程序中…

2.3作业

作业要求&#xff1a; 程序代码&#xff1a; #include<stdlib.h> #include<string.h> #include<stdio.h> typedef struct node //定义链表节点结构体&#xff1a;数据域、指针域 {int data;struct node *next; }*linklist;linklist create_node()//创建新节…

C++类和对象入门(三)

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 前言 在c中&#xff0c;类型分为两类&#xff0c;一类是内置类型&#xff0c;另一类是自定义类型。 1.内置类型&#xf…

Linux内存管理:(十二)Linux 5.0内核新增的反碎片优化

文章说明&#xff1a; Linux内核版本&#xff1a;5.0 架构&#xff1a;ARM64 参考资料及图片来源&#xff1a;《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址&#xff1a; zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 外碎片化发生时&#xff0c;页面分配…

Python基础知识:Python流程控制语句

流程控制就是控制程序如何执行的方法&#xff0c;适用于任何一门编程语言&#xff0c;其作用在于&#xff0c;可以根据用户的需求决定程序执行的顺序。计算机在运行程序时&#xff0c;有3种执行方法&#xff0c;第一种是顺序执行&#xff0c;自上而下顺序执行所有的语句&#x…

分享63个节日PPT,总有一款适合您

分享63个节日PPT&#xff0c;总有一款适合您 63个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1kZeiN06KbevtSCs5vXm6oA?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…

【代码随想录-哈希表】两个数组的交集

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

MySQL 小技巧:使用 xtrabackup 2.4 实现 完全备份及还原

演示&#xff1a;使用 xtrabackup 2.4 实现 完全备份及还原 本案例基于 CentOS 7 的 Mariadb5.5 实现&#xff0c;也支持 MySQL5.5 和 MySQL5.7 1) 安装 xtrabackup 包 // 先安装 Mariadb5.5 和 xtrabackup 包 [rootcentos7 ~] yum install mariadb-server -y [rootcentos7 ~]…

802.11 MAC帧介绍

控制帧 RTS&#xff08;Request To Send&#xff09;&#xff1a;用于申请无线媒介的使用时间CTS&#xff08;Clear To Send&#xff09;&#xff1a;用于回复RTS帧ACK&#xff1a;对MAC帧的肯定确认PS-POLL&#xff1a;STA用于从AP中获取因省电模式而缓存的数据&#xff0c;只…

AMH面板如何安装与公网远程访问本地面板界面

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

解析 JavaScript 异步编程:从回调地狱到 Promise 和 Async/Await

在现代的JavaScript开发中&#xff0c;处理异步任务变得愈发重要&#xff0c;因为它们允许我们在等待I/O、网络请求或定时器等事件时继续执行其他任务&#xff0c;以提高程序的性能和响应能力。本文将介绍JavaScript中异步编程的演变过程&#xff0c;从最初的回调地狱到后来的P…

Leetcode 3026. Maximum Good Subarray Sum

Leetcode 3026. Maximum Good Subarray Sum 1. 解题思路2. 代码实现 题目链接&#xff1a;3026. Maximum Good Subarray Sum 1. 解题思路 这一题的话主要就是要快速遍历所有的good subarray并快速获得每一个good subarray的和的最大值。 因此&#xff0c;问题就主要就成了两…

蓝桥杯刷题--python-2

0星期一 - 蓝桥云课 (lanqiao.cn) import datetimestart = datetime.date(1901, 1, 1) end = datetime.date(2000, 12, 31)res = 0 while not start > end:if start.weekday() == 0:res += 1start += datetime.timedelta(days=1) print(res)datetime 模块 import datetime…

容器和镜像

容器和镜像是现代软件开发和部署中重要的概念&#xff0c;它们通常与容器化技术&#xff08;如Docker&#xff09;相关联。以下是它们的基本定义和关系&#xff1a; 容器(Container): 容器是一种轻量级、可移植的运行环境&#xff0c;其中包含了应用程序及其依赖项&#xff08;…

简单实践 spring clound 使用openfeign

1.概要 这是在前面工程基础上的一个变更。 前工程&#xff1a;检查实验 spring cloud nacos nacos-server-2.3.0-CSDN博客 2 代码 2.1 引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-open…

您企业的(AI)人工智能处于哪个准备阶段?

全新AI准备度评估工具现已推出 根据Gartner 2020年CIO调查报告&#xff0c;仅19%的首席信息官声称其AI项目已投产。这意味着&#xff0c;如果要将AI计划部署到生产过程中&#xff0c;高达80%的企业无法实现。我们发现&#xff0c;澳鹏客户取得成功的几率要高出三倍&#xff0c…