【王道操作系统】1.1.1 操作系统的概念、功能和目标(系统资源的管理者、提供接口、作为扩充机器、虚拟机)

news2024/11/16 1:57:09

操作系统的概念、功能、目标(系统资源的管理者、提供接口、作为扩充机器)

文章目录

  • 操作系统的概念、功能、目标(系统资源的管理者、提供接口、作为扩充机器)
    • 1.常见的操作系统举例
    • 2.操作系统的层次结构
    • 3.操作系统的概念
    • 4.操作系统的功能和目标
      • 4.1 作为计算机系统资源的管理者
      • 4.2 作为用户与计算机硬件系统之间的接口
      • 4.3 作为扩充机器(虚拟机)


1.常见的操作系统举例

请添加图片描述


2.操作系统的层次结构

请添加图片描述


3.操作系统的概念

  • 系统最基本最核心的软件,属于系统软件
  • 控制和管理整个计算机的硬件和软件资源
  • 合理的组织、调度计算机的工作与资源的分配
  • 为用户和其它软件提供方便的接口和环境

请添加图片描述


4.操作系统的功能和目标

先放一张思维导图,大致知道操作系统的具体功能和目标,然后再一一展开叙述

请添加图片描述

用一个直观的例子来理解上述图中操作系统的功能:

  • 我们假设:用户是雇主,操作系统是工人(用来操作机器),计算机是机器(由处理机(CPU)、存储器、设备、文件几个部件构成)
  • 工人有熟练的技能去控制和协调各个部件的工作,这就是操作系统对资源的管理
  • 同时,工人必须接受雇主的命令,这就是“接口”
  • 有了工人,机器就能发挥更大的作用,因此工人就成了“扩充机器”
  • 工人操作机器、机器有了更大的作用比如GUI界面,于是工人便成了扩充机器,去扩充GUI界面等功能

4.1 作为计算机系统资源的管理者

管理软硬件资源、合理的组织、调度计算机的工作与资源的分配

请添加图片描述

对于处理器(CPU)管理:

  • 在多道程序环境下,cpu的分配和运行都以进程(或线程)为基本单位,因此对cpu的管理可理解为对进程的管理。进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。附上一张图理解对进程的管理

请添加图片描述


对于存储器管理:

  • 为多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能

请添加图片描述


对于文件管理:

  • 计算机中所有的信息都是以文件的形式存在的,操作系统中负责文件的管理的部分称为文件系统,文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护

请添加图片描述


对于设备管理:

  • 设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓存管理、设备分配、设备处理和虚拟设备等功能

请添加图片描述


以上4种管理功能都由“工人”负责,“雇主”无序关注


4.2 作为用户与计算机硬件系统之间的接口

  • 为了让用户方便、快捷、可靠的操作计算机硬件并执行自己的程序,操作系统提供了用户接口
  • 操作系统提供的接口分为两类:命令接口和程序接口
  • 命令接口:用户可以直接使用的,利用这些操作命令来组织和控制作业的执行
  • 程序接口:用户通过程序间接使用的,编程人员可以使用它们来请求操作系统服务

请添加图片描述

对于命令接口:

  • 命令接口分为两类:联机命令接口和脱机命令接口,用户可以直接调用
  • 联机命令接口:又称交互式命令接口,适用于分时或实时系统的接口,由一组键盘操作命令组成。用户输入一条指令,操作系统就执行一条指令

请添加图片描述

  • 脱机命令接口:又称批处理接口,使用于批处理系统,由一组作业控制命令组成。用户输入一堆指令,操作系统运行一堆指令。在操作系统运行这些命令时用户不可干预

请添加图片描述


对于程序接口:

  • 程序接口:由一组系统调用(也称广义指令)组成
  • 用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,只能通过用户程序间接调用
  • 如使用各种外部设备、申请分配和回收内存及其它各种要求

请添加图片描述

动态链接库英文为DLL,是Dynamic Link Library的缩写。DLL是一个包含可由多个程序,同时使用的代码和数据的库

  • 比如常见的图形用户界面程序接口GUI

请添加图片描述

  • 易懵概念:系统调用=系统调用命令=广义指令

4.3 作为扩充机器(虚拟机)

请添加图片描述

  • 没有任何软件支持的计算机称为裸机
  • 覆盖了软件的机器称为扩充机器或虚拟机

请添加图片描述

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

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

相关文章

LeetCode题解 二叉树(七):222 完全二叉树的节点个数;110 平衡二叉树;257 二叉树的所有路径

前言 阳过之后,已经有一周多没有接触过一道题目了 从今日开始恢复每日一小时的刷题日常 二叉树 222 完全二叉树的节点个数 medium 无论是深度遍历(前中后都好)还是层序遍历,都可以用于求解这道题,只需要使用一个额…

【电力系统综合能源】“双碳“背景下|综合能源系统中的经济-二氧化碳排放协调最优调度和敏感性分析研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

2022年度回顾|在Jina AI社区连接、分享、共创

在 Jina AI 社区,每天都有来自世界各地的开发者加入,因技术产生连接,因连接带动分享,因分享促进共创。2022 的若干个闪亮的高光时刻,都有来自社区的支持和贡献:在春天,我们发布了 Jina 3.0&…

M1 ARM架构下, linux安装mysql的方式及潜在问题解决

下载: 1. 下载压缩包: 由于m1/m2芯片得使用aarch64架构, 所以普通的x86架构这里就完全无法使用了, 这里推荐在清华镜像网下载对应的aarch64版本: 安装包下载地址 2. Linux系统准备 默认的CentOS是自带mariadb, 和mysql的安装相冲突 , 所以需要提前删除 rpm -qa | grep mari…

Python 三种方法实现截图【详解+完整代码】

人生苦短 我用python 如何用python实现截屏? 一、方法一 PIL中的ImageGrab模块 使用PIL中的ImageGrab模块简单,但是效率有点低 PIL是Python Imaging Library, 它为python解释器提供图像编辑函数能力。 ImageGrab模块可用于将屏幕或剪贴板…

《Linux运维总结:Centos7.6部署redis6.2.8 cluster集群》

一、redis cluster集群规划 Centos7.6部署redis6.2.8 cluster集群资源包 环境信息如下: 主机IP操作系统Redis版本CPU架构端口角色192.168.1.191Centos7.66.2.8x86_647001master192.168.1.192Centos7.66.2.8x86_647002master192.168.1.193Centos7.66.2.8x86_647003m…

如何快速打造一个高权重的短视频账号?短视频运营推广日记(2)

之前做的短视频账号流量一直不好,终于狠下心来注销了,准备重新来过 趁现在账号注销期,好好了解一下短视频账号从0打造的内容,我赢的高权重账号打造内容反复阅读了9遍,终于总结出了属于自己的内容。 看过很多人说要养…

51. CPU和GPU

1. 你的GPU电脑 2. 提升CPU利用率的第一个方法 3. 样例分析 如果一个矩阵是按行存储,访问一行会比访问一列要快 CPU一次读取64字节(缓存栈)CPU会“聪明的”提前读取下一个(缓存栈) 4. 提升CPU利用率的第二个方法 高端…

字节一面:服务端挂了,客户端的 TCP 连接还在吗?

服务端进程崩溃,客户端会发生什么? TCP 的连接信息是由内核维护的,所以当服务端的进程崩溃后,内核需要回收该进程的所有 TCP 连接资源,于是内核会发送第一次挥手 FIN 报文,后续的挥手过程也都是在内核完成…

Linux 快照 (snapshot) 原理与实践(二) 快照功能实践

文章目录 0. 概要1. 准备演示数据2. 创建 snapshot-origin 目标3. 创建 snapshot 目标4. 验证 COW 操作4.1 第一次写数据4.2 第二次写数据5. 验证 ROW 操作5.1 第一次写数据5.2 第二次写数据6. 创建 snapshot-merge 目标7. 验证 merge 操作8. 后记0. 概要 上一篇《Linux 快照 …

【修改按钮的大小 Objective-C语言】

一、修改按钮的大小 1.还是上篇文章那个例子 点击加号的时候,使上面的图片按钮变大, 点击减号的时候,使上面的图片按钮变小 2.首先,需要给“加”按钮,注册单击事件 怎么办,拖线吧 右键点击这个列表中的“加”按钮,把这个按钮的Touch Up Inside右边的小圆圈,拖到Vi…

《计算机体系结构量化研究方法》附录B.1 B.2 缓存性能

一、缓存 1、基本知识 (1)缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率很快。(from百度) (2)如果处理器在缓存中找到了所需求的数据项,那么…

java 瑞吉外卖优化day1 缓存短信验证 git分支开发 缓存套餐数据 SpringCache

缓存优化 我们将之前写的瑞吉项目push到gitee上,然后新建一个分支v1.0,在v1.0上进行优化,并且push上去 环境搭建 host跟ip都要写自己对应的 ,如果没有设置密码 就不用写密码配置 新建RedisConfig配置类 控制不让key序列化&#xf…

springboot入门篇

SpringBoot 文档更新日志 版本更新日期操作描述v1.02021/11/14A基础篇 前言 ​ 很荣幸有机会能以这样的形式和互联网上的各位小伙伴一起学习交流技术课程,这次给大家带来的是Spring家族中比较重要的一门技术课程——SpringBoot。一句话介绍这个技术,应…

Android音乐播放器(高分课设)

实现功能: 1:启动动画(运行程序出现一个2秒钟的视频),2秒钟后进入下一界面! 2:登录注册(账号和密码采用了MD5Utile加密),输入正确的账号和密码进入主界面&a…

新的一年嘚拥有新的壁纸了,python批量采集高清壁纸

前言 大家早好、午好、晚好吖 ❤ ~ 新的一年不得需要新的壁纸?今天我们就来采集一下 环境使用: Python 3.8 解释器 Pycharm 编辑器 第三方模块 import requests >>> pip install requests 如何安装python第三方模块: win R 输入 cmd 点击确定, 输入…

ubuntu 20.04 安装谷歌输入法

目标: 快速安装谷歌输入法 步骤: 安装fcitx-googlepinyin: sudo apt-get install fcitx-googlepinyin 在应用程序里的语言支持中配置language support: 点开语言支持后会提示未完全安装,点击完整安装:…

java线程池理解及底层

并发线程池示例(两个示例程序分别用线程 及java自带程池执行一样的程序查看时间): public class ThreadTest {public static void main(String[] args) throws InterruptedException {Long start System.currentTimeMillis();final Random …

一个java短网址转换项目,亲测可用

亲测可用 项目介绍的比较详细,我就不复制粘贴了,直接看项目介绍即可 启动项目后先拿注册账户,登陆,然后创建应用,然后新增短域即可

科研实验室设计基本知识SICOLAB

科研专用实验区 dedicated laboratory area 有特定环境要求(如恒温、恒湿、洁净、无菌、防振、防辐射、防电磁干扰等)或以精密、大型、特殊实验装置为主(如电子显微镜、高精度天平、谱仪等)的实验区。 标准单元 standard unit 具…