操作系统—王道考研之计算机系统概述

news2024/10/7 14:23:03

by:星辰

课程视频链接:https://www.bilibili.com/video/BV1YE411D7nH

第 1 章 计算机系统概述

1.1 操作系统的基本概念

1.1.1 操作系统的概念、功能和目标

系统资源的管理者、提供接口、作为扩充机器、虚拟机

1.1.1.1 熟悉的操作系统举例

1.1.1.2 操作系统的层次结构

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

1.1.1.4 操作系统的功能和目标

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

  • 我们假设:用户是雇主,操作系统是工人(用来操作机器),计算机是机器(由处理机(CPU)、存储器、设备、文件几个部件构成)

  • 工人有熟练的技能去控制和协调各个部件的工作,这就是操作系统对资源的管理

  • 同时,工人必须接受雇主的命令,这就是“接口”

  • 有了工人,机器就能发挥更大的作用,因此工人就成了“扩充机器”

  • 工人操作机器、机器有了更大的作用比如GUI界面,于是工人便成了扩充机器,去扩充GUI界面等功能

(1)作为计算机系统资源的管理者
  • 管理软硬件资源、合理的组织、调度计算机的工作与资源的分配

1️⃣处理器(CPU)管理

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

2️⃣存储器管理

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

3️⃣文件管理

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

4️⃣设备管理

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

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

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

1️⃣命令接口

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

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

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

2️⃣程序接口

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

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

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

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

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

1.1.2 操作系统的特征(并发、共享、虚拟、异步)

  • 操作系统是一种系统软件,但与其它系统软件和应用软件有很大的不同,它有自己的特殊性及基本特征。
1.1.2.1 总览

1.1.2.2 并发
  • 并发:两个或多个事件在同一时间间隔内发生,这些事件在宏观上是同时发生的,在微观上是交替发生的, 操作系统的并发性指系统中同时存在着多个运行的程序
  • 并行:两个或多个事件在同一时刻发生
  • 一个单核(CPU)同一时刻只能执行一个程序,因此操作系统会协调多个程序使他们交替进行(这些程序在宏观上是同时发生的,在微观上是交替进行的)
  • 操作系统是伴随着“多道程序技术出现的”,因此操作系统和并发是一同诞生的
  • 在如今的计算机中,一般都是多核cpu的,即在同一时刻可以并行执行多个程序,比如我的计算机是8核的,我的计算机可以在同一时刻并行执行8个程序,但是事实上我们计算机执行的程序并不止8个,因此并发技术是必须存在的,并发性必不可少

1.1.2.3 共享
  • 资源共享即共享,是指系统中的资源可以供内存中多个并发执行的进程共同使用
  • 共享分为两类:互斥共享和同时共享
(1)互斥共享
  • 计算机中的某个资源在一段时间内只能允许一个进程访问,别的进程没有使用权
  • 临界资源(独占资源):在一段时间内只允许一个进程访问的资源,计算机中大多数物理设备及某些软件中的栈、变量和表格都属于临界资源,它们被要求互斥共享
  • 举个例子:比如QQ和微信视频,同一段时间内摄像头只能分配给其中一个进程
(2)同时共享
  • 计算机中的某个资源在一段时间内可以同时允许多个进程访问
  • 同时共享通常要求一个请求分为几个时间片段间隔的完成,即交替进行,“分时共享”
  • 这里的同时指在宏观上是同时的,在微观上是交替进行访问的,只是cpu处理速度很快,我们感觉不到,在宏观上感觉是在同时进行
  • 举个例子:比如QQ在发送文件A,微信在发送文件B,宏观上两个进程A和B都在访问磁盘,在我们看来是同时进行的,但是在微观上两个进程A和B是交替进行访问磁盘的,只是时间太短,cpu处理速度太快,我们感觉不到。
  • 注意:有时候多个进程可能真的是在同时进行资源访问,比如玩游戏时可以放音乐,游戏声音和音乐声音都能听见
(3)并发性和共享性互为存在条件

1.1.2.4 虚拟

多道程序设计:是指在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。 两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。这就称为多道程序设计。多道程序技术运行的特征:多道、宏观上并行、微观上串行。

  • 虚拟是把一个物理上的实体变为若干逻辑上的对应物。
  • 物理实体(前者)是实际存在的;而后者是虚的,是用户感觉上的事务
  • 虚拟技术:用于实现虚拟的技术
  • 虚拟处理器(CPU):通过多道程序设计技术,采用让多道程序并发执行的方法,分时来使用一个CPU,实际物理上只有一个CPU,但是用户感觉到有多个CPU
  • 虚拟存储器:从逻辑上扩充存储器容量,用户感觉到的但实际不存在的存储器
  • 虚拟设备:将一台物理设备虚拟为逻辑上的多台设备,使多个用户在同一时间段内访问同一台设备,即同时共享,用户宏观上感觉是同时的,但实际上是微观交替访问同一台设备的
  • 操作系统的虚拟技术科归纳为:
    • 时分复用技术:如处理器的分时共享
    • 空间复用技术:如虚拟存储器

1.1.2.5 异步

异步:多道程序环境允许多个程序并发执行,但由于资源有限,如cpu只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。

比如A进程正在占用CPU计算,B进程这时也想占用CPU计算,B进程只有等,等A进程算完了,A进程去访问磁盘资源了,这时B进程再占用CPU进行计算,B进程还没计算完,A进程从磁盘取出资源了,A进程发现B这时在占用CPU,这时A进程就需要等待,等B算完后再继续到CPU中进行计算。由于每个进程占用资源的时间不固定,所以进程的执行以不可预知的速度前进

习题

1.2 操作系统的发展和分类

手工、单道/多道批处理、分时、实时、网络、分布式、嵌入式、个人计算机

1.2.1 操作系统的分类及其特征优劣

1.2.2 操作系统的发展历程

习题

1.3 操作系统的运行机制和体系结构

1.3.1 操作系统的运行机制和体系结构(大内核、小内核)

1.3.1.1 操作系统的运行机制和体系结构

1.3.1.2 操作系统内核在计算机系统中的层次结构

1.3.1.3 操作系统体系结构类比

管态:特权态、系统态、内核态或者核心态

目态:用户态、普通态

1.3.1.4 操作系统用户态和核心态的转换

1.3.2 中断和异常(内中断和外中断、中断处理过程)

1.3.3 系统调用(执行过程、访管指令、库函数与系统调用)

1.3.3.1 总览

1.3.3.2 系统调用和库函数的区别

1.3.3.3 系统调用的执行过程

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

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

相关文章

5分钟了解 KubeGems 1.23 GA

KubeGems 是一款开源的企业级多租户容器云平台。围绕云原生社区,KubeGems 提供了多 Kubernetes 集群接入能力,并具备丰富的组件管理和资源成本分析功能,能够帮助企业快速的构建和打造一个本地化、功能强大且低成本的云管理平台。 KubeGems 发…

C 语言判断

判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。下面是大…

爱情呼叫转移-深度广度遍历(中)

广度遍历和深度遍历可以结合吗? 可以的,例如经典的《爱情转移》 《爱情转移》是电影《爱情呼叫转移》的主题曲,《爱情呼叫转移》讲述了一个男人穿梭在12个女人之间的情感流浪,讨论的是夫妻相处之道。我当时还在想他到底爱谁。 …

java 设计原则

提示: 设计模式 文章目录一、软件设计原则1.开闭原则2.依赖倒置原则3.单一职责原则4.接口隔离原则5.迪米特法则6.里氏替换原则7.合成复用原则一、软件设计原则 1.开闭原则 开闭原则(Open-Closed Principle, OCP)是指一个软件实体如类、模块…

Java:如何避免Java内存泄漏

Java的核心优势之一就是利用JVM(Java虚拟机),JVM是一种开箱即用的内存管理。你只管创建对象,Java的垃圾回收器帮你分配以及回收内存。然而,实际的情况并没有那么简单,因为内存泄漏在Java应用程序中还是时有发生的。为了避免内存泄…

别再焦虑了,进大厂没你想象的那么困难....

前段时间有个在小公司干了好多年的朋友离职了,想要拼一拼大厂,又觉得自己30多岁了,年级比较大,害怕人家不要。在我们的鼓励下,他选择字节跳动试试。面试总共花费了 20 天左右,包含了 4 轮电话面试、1 轮笔试…

微信小程序中使用Vant Weapp组件库

介绍Vant 是一个轻量、可靠的移动端组件库,于 2017 年开源。目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本使用首先要提供npm支持使用npm安装:在小程序 package.json 所在的目…

css优先级、CSS盒模型、内边距padding、外边距margin、边框border、盒模型的计算及模式转换、三维盒子

一、css优先级 二、CSS盒模型 代码&#xff1a; 三 三、内边距padding <!doctype html> <html> <head> <meta charset"utf-8"> <title>无标题文档</title><style type"text/css">*{ /* 关闭系统默认设置的外…

elasticsearch中使用runtime fields

1、背景 在我们使用es的开发过程中可能会遇到这么一种情况&#xff0c;比如我们的线路名称字段lineName字段在设置mapping的时候使用的是text类型&#xff0c;但是后期发现需要使用这个字段来进行聚合操作&#xff0c;那么我们除了对索引进行reindex操作外&#xff0c;还有什么…

YOLO项目资源包配置及云硬盘挂载问题

资源包配置 首先就是pytorch的安装了&#xff0c;这里可以使用conda命令或者是pip命令 首先是conda命令&#xff0c;博主在第一个服务器时的安装方式就是这个&#xff0c;很正常&#xff0c;但到第二次安装时却总是出错 conda install pytorch1.12.0 torchvision0.13.0 torch…

【6】【vue3+elementplus+springboot+mybatisplus】 管理系统 【前后端实践】

第一部分&#xff1a; elementplus官网&#xff1a;一个 Vue 3 UI 框架 | Element Plus (element-plus.org) 1、安装elementplus npm install element-plus --save查看package.json中存在依赖表示成功安装 2、引入elementplus import ElementPlus from element-plus import …

(考研湖科大教书匠计算机网络)第三章数据链路层-第六节媒体接入控制1:基本概念和静态划分信道

专栏目录首页&#xff1a;【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一&#xff1a;媒体接入控制基本概念二&#xff1a;静态划分信道&#xff08;1&#xff09;信道复用和多点接入A&#xff1a;信道复用B&#xff1a;多点接入&#xff08;2&#xff09;常见信道…

pycharm设置中文,字体颜色修改,设置背景图片(图文讲解)

目录 1.设置中文 2.设置背景图片 3.字体大小&#xff0c;颜色的修改 这个是我的pycharm编译器的样子&#xff0c;好看吧&#xff01;&#xff01;&#xff01; pycharm在安装之后默认是英语的&#xff0c;有些小伙伴的英语不太会&#xff0c;看英文会比较吃力&#xff0c;这里…

【OpenGL学习】材质

材质 在图形学中&#xff0c;材质表示了光线如何和物体进行交互&#xff0c;有了解过 BRDF 的话&#xff0c;实际上 Material BRDF&#xff0c;有关材质的讲述&#xff0c;可以在这篇文章中了解&#xff1a;计算机图形学&#xff08;六&#xff09;——材质 - 知乎 (zhihu.co…

Codeforces Round #848 (Div. 2) D - Flexible String Revisit

Codeforces Round #848 (Div. 2) D - Flexible String Revisit 题意&#xff1a;给定两个题意&#xff1a;给定两个题意&#xff1a;给定两个 010101 字符串字符串字符串 aaa 和和和 bbb &#xff0c;每次操作可选择字符串每次操作可选择字符串每次操作可选择字符串 aaa 上的数…

基于rust的,gRPC动态代理,无需proto文件自动http转gRPC

目录前言grpc实践github地址第一步第二步第三步第四步测试结构和原理尾语前言 沟通服务间接口内容(尤其是前后端接口)&#xff0c;是非常让人头疼的事。极其容易扯皮。接口文档写起来也很痛苦&#xff0c;每个字段的改动都需要及时更新&#xff0c;否则就会出问题。服务端通信如…

链表(初学)

n个结点由指针链组成一个链表。链表的结点在存储器中的位置是任意的&#xff0c;即逻辑上相邻的数据元素在物理上不一定相邻。链表的每一个结点有两个区域&#xff0c;分别是数据域和指针域。数据域存储的是当前结点的数据值&#xff0c;而指针域存储的是下一个结点的存储地址。…

URL的正则表达式(js代码)

在WWW上&#xff0c;每一信息资源都有统一的且在网上的地址&#xff0c;该地址就叫URL&#xff08;Uniform Resource Locator,统一资源定位器&#xff09;&#xff0c;它是WWW的统一资源定位标志&#xff0c;就是指网络地址。语法URL由三部分组成&#xff1a;资源类型、存放资源…

2022财年业绩增长乏力渐显,AR电商是Snap下一个突破口吗?

北京时间2月1日&#xff0c;Snap公布了2022财年第四季度和全年财务业绩&#xff0c;财报发布后&#xff0c;Snap盘后股价大幅下跌&#xff0c;最终收跌14.97%。 这并非Snap首次出现公布业绩后股价暴跌的情况&#xff0c;不可否认的是市场的敏锐度十分迅捷。那么&#xff0c;20…

数据结构——栈

一、栈的定义 栈是限定仅在表尾进行插入和删除操作的线性表。 允许插入和删除的一端称为栈顶&#xff0c;另一端称为栈底&#xff0c;不含任何数据元素的栈称为空栈。栈又称为后进先出的线性表&#xff0c;简称LIFO结构。 栈的插入操作&#xff0c;叫作进栈&#xff0c;也称压栈…