1.1.1 操作系统的层次结构、基本概念、功能和目标-程序员宅基地

技术标签: 操作系统  操作系统(王道)  

01 | 熟悉的操作系统举例

02 | 操作系统的层次结构

03 | 操作系统的概念

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

在这里插入图片描述

04 | 操作系统的功能和目标

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

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

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

在这里插入图片描述

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

1️⃣处理器(CPU)管理

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

等。附上一张图理解对进程的管理。

2️⃣存储器管理

  • 为多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括

    内存分配与回收、地址映射、内存保护与共享和内存扩充
    

    等功能。

在这里插入图片描述

3️⃣文件管理

  • 计算机中所有的信息都是以文件的形式存在的,操作系统中负责文件的管理的部分称为文件系统,文件管理包括

    文件存储空间的管理、目录管理及文件读写管理和保护
    

    等。

在这里插入图片描述

4️⃣设备管理

  • 设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要

    包括缓存管理、设备分配、设备处理和虚拟设备
    

    等功能。

在这里插入图片描述

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

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

1️⃣命令接口

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

在这里插入图片描述

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

批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat 。

在这里插入图片描述

2️⃣程序接口

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

在这里插入图片描述

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

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

05 | 知识回顾与重点考点

在这里插入图片描述

参考:《2021王道考研操作系统》
https://www.bilibili.com/video/BV1YE411D7nH?p=2

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26553393/article/details/122238729

智能推荐

Linux源码解析-内存描述符(mm_struct)_mm_struct *mm-程序员宅基地

文章浏览阅读1.7k次。转自https://blog.csdn.net/tiankong_/article/details/756761311.简介一个进程的虚拟地址空间主要由两个数据结构来描述。一个是最高层次的:mm_struct(定义在mm_types.h中),一个是较高层次的:vm_area_structs。最高层次的mm_struct结构描述了一个进程的整个虚拟地址空间。较高层次的结构vm_area_..._mm_struct *mm

瞎想-电信IPTV如何做到真高清真4K直播_湖南电信iptv模糊-程序员宅基地

文章浏览阅读2.3w次。瞎想-电信IPTV如何做到真高清真4K直播前几天看电信IPTV,发现高清足球大镜头的时候,基本看不清球员号码,有时候球员的头都比较模糊。 我真的比较纳闷,电信都开始100M宽带起步了,为什么连10M的高清频道都无法展现好呢?我觉得IPTV肯定遇到了什么带宽瓶颈,但是具体瓶颈在哪,我不好说,也说不好。突然有个想法,IPTV是否能够参考广电的架构,完成高质量的直播呢? 甚至是4K直播。..._湖南电信iptv模糊

STM32寄存器开发-环境搭建_设计一个32位存储器模块的方法-程序员宅基地

文章浏览阅读1.9k次。From:http://bbs.elecfans.com/jishu_1102996_1_2.html概述 STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核,CM3采用了[url=]哈佛结构[/url][Ecube1] ,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。 _设计一个32位存储器模块的方法

umi命令行工具源码解读,umi build打包-程序员宅基地

文章浏览阅读1.3w次。以umi build为例,查看umi命令行工具的逻辑首先查看package.json文件的bin字段,找到umi可执行文件的位置: "bin": { "umi": "./bin/umi.js" },查看umi/bin/umi.js文件,实际逻辑是在umi/src/cli.js文件中,执行umi build// umi/src/cli.jsswitch (script) ..._umi build

Drools 7 用OOPath遍历嵌套类型的实体对象-程序员宅基地

文章浏览阅读1.1k次。Drools 7 基于XPath的OOPath用于简化对象或者内层嵌套的对象属性的遍历。这个话题很拗口,简单点讲就是一种带有筛选条件的访问实体或实体内部嵌套的实体及其属性的方式_oopath

你时间总不够用?请收下这套最佳的分配时间的方法-程序员宅基地

文章浏览阅读399次。有谁要是为了赚得更多的钱而加班加点、 更加卖力地去工作, 他就不会真正变得更加富有。 被牺牲掉的业余时间的价值必须从其更高收入中扣除, 而且被牺牲掉的这部分的价值通常比财务上得到的要高很多。为了赚更多的钱而牺牲掉您的业余时间, 靠这种方法您不可能实现真正的富有。 真正的富有是指具有由少变多的本事, 而并非必须为此做出同样程度的牺牲。真正的成功意味着: 您能够获得更高的收入, 但您的...

随便推点

使用oap切面导致controller被重复调用_joinpoint.proceed()报错-程序员宅基地

文章浏览阅读677次。在自测的时候发现某个很奇怪的问题,某个变量本该加1的变成了加2,debug后发现所有controller都被调用了两次,里面的方法也执行了两次。可以看到execution表达式定义了所有controller包,及改包下所有类的所有方法,joinPoint.proceed()后面经过排查发现写切面的时候,在环绕通知里调用了两次joinPoint.proceed()joinPoint.proceed()执行目标方法目标方法。修改原逻辑只执行一次joinPoint.proceed()......_joinpoint.proceed()报错

web前后端 http转https-程序员宅基地

文章浏览阅读2.3k次,点赞3次,收藏14次。1.转换前准备http转https需要一个证书、本文已ssl证书举例,只有认证的证书才能被认可。阿里云可以申请免费的证书, 但是生成证书需要域名。且域名要绑定ip。故ssl申请前需要域名。可上阿里云购买。2.证书申请...

用MATLAB解决实际数学问题,利用MATLAB解决高等数学问题.doc-程序员宅基地

文章浏览阅读3.4k次,点赞5次,收藏15次。利用MATLAB解决高等数学问题Matlab 大作业本人选择了利用MATLAB解决高等数学问题。极限计算limit(f,x,a): 求函数f在x趋于常数a时的极限;limit(f): 求函数f在x趋于0时的极限;limit(f,x,a,’right’): 求函数f在x趋于常数a时的右极限;limit(f,x,a,’left’): 求函数f在x趋于常数a时的左极限;具体计算如下:求极..._matlab7.0解决高等数学问题

vue使用UEditor富文本_vue富文本ueditor学习-程序员宅基地

文章浏览阅读428次。UEditor 使用_vue富文本ueditor学习

Android_8.1 Log 系统源码分析_liblog.so 源码包-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏6次。0x01 Android Log框架推荐1、 logger提供了一些格式化输出、美观// 添加依赖implementation 'com.orhanobut:logger:2.2.0'// 初始化Logger.addLogAdapter(new AndroidLogAdapter());// 使用Logger.d("hello,Android");2、timber基于原生L..._liblog.so 源码包

愉快地迁移到 Python 3-程序员宅基地

文章浏览阅读1.5k次。(点击上方公众号,可快速关注)编译: Python开发者 - 冲动老少年 英文:Alex Rogozhnikovhttp://python.jobbole.com/89031/为数据科学家准备的 Python 3 特性指南Python 已经成为机器学习和一些需处理大量数据的科学领域的主流语言。它支持了许多深度学习框架和其他已确立下来的数据处理和可视化的工具集。然而,Python 生态系统还处_如何迁移到python 3.x

推荐文章

热门文章

相关标签