操作系统教材第6版——个人笔记1

第一章 计算机操作系统概述

操作系统是计算机系统中最重要的系统软件,它统一管理计算机系统的硬件资源与信息资源,控制与调度上层软件的执行并为其提供易于使用的接口。从资源管理、程序控制、操作控制、人机交互、程序接口、系统结构6个角度深入观察操作系统。

1.1.1计算机系统概述

电子数字计算机

电子数字计算机是一种能够自行按照已设定的程序进行数据处理的电子设备,它是软件与硬件相结合的、面向系统的、侧重于应用的自动化求解工具。1946年,第一台电子数字计算机ENIAC诞生于美国。短短70余年间,计算机技术得到了快速发展,从早期的科学计算与数据处理领域迅速扩展到实时控制、辅助设计、智能模拟等诸多领域。到今天,计算机技术已无所不在,深入社会生活各个领域,深刻改变了当今人类社会的组织行为。

计算机技术的发展

计算机的诞生与发展经历了以下几个阶段。

第一代 电子管计算机(1946-1957年)

第二代 晶体管计算机(1958-1964年)

第三代 集成电路计算机(1965-1977年)

第四代 超大规模集成电路计算机(1977-至今) #电晶集超大集 4567

1945-:电子真空管、机器语言,应用于科学计算 #存储小 速度慢

1956-:晶体管、批处理控制、Fortran/COBOL,扩展到数据处理领域 #fortran/cobol 高级程序设计语言

1959-:集成电路、多道程序、操作系统/数据库/高级语言,应用领域继续扩展

1976-:大规模/超大规模集成电路,向快速化/小型化/系统化/网络化/智能化等方面发展

1980-:微机出现,廉价化促使应用领域快速膨胀

1990-:图形化人机交互技术,友善化推动了应用人群的快速扩展

2003-:移动计算的出现,计算无处不在

计算机系统的组成

现代计算机系统包括硬件和软件两个组成部分,硬件与软件共同构成一个求解计算问题的工具。硬件是软件运行的物质基础,软件能够充分发挥硬件潜能并扩充硬件功能,共同完成各种应用任务。一个计算机系统的软硬件层次结构中每层都具有一组功能并对外提供相应接口。接口对层内隐藏了实现细节,对层外提供了使用约定

计算机硬件系统是借助电、磁、光、机械等原理构造的各种物理部件的有机结合,是计算机系统工作的载体,包括处理器、存储器、I/O控制系统及外围设备。

计算机软件系统则包括各类程序和文件,用于指挥计算机系统按指定要求进行协同工作,包括系统软件、支撑软件和应用软件,其中最关键的系统软件是操作系统和语言处理程序

1.1.2 计算机硬件系统

计算机系统硬件的组成

计算机硬件系统包括中央处理器(central processing unit, CPU)、主存储器、外围设备等组件,它们通过系统总线连接。中央处理器包括运算单元和控制单元,运算单元用于计算机硬件执行具体的机器指令的运算,控制单元则解译机器指令。主存储器用系统于存储正在执行的程序和数据。外围设备则包括显示器等输出设备,键盘、鼠标等输入设备,硬盘等存储设备,以及机-机间的通信设备。 #硬件=cpu+主存+外围设备 cpu=运算单元+控制单元 控制负责解译指令

冯·诺依曼计算机体系结构

当今绝大部分计算机是基于冯·诺依曼模型设计的存储程序计算机。这一计算机模型由冯·诺伊曼等人在1946年总结并提出,明确了计算机系统包括运算器、控制器、存储器、输入设备和输出设备5个组成部分。该体系结构具有以下特点: (二进制作为计算机数制进制基础;存储程序与程序控制)

①以运算单元为中心,控制流由指令流产生。 #运算单元中心 指令流产生控制流

②采取存储程序原理,面向主存储器组织数据流。 #存储原理 面向主存储数据流

③主存储器按照地址访问,提供线性编址空间。 #主存储按地址访问 提供线性编址

④指令由操作码和地址码组成。 #指令=操作码+地址码

⑤数据以二进制编码。 #二进制编制=废话 学计算机的都知道

存储器是该模型的核心部分,运算器和控制器都面向存储器进行操作,同时,外围设备也针对存储器进行数据的输入/输出。计算机的各个部件(存储器、控制器、运算器和输入/输出设备)需要通过总线相连接,从而构成完整的计算机硬件系统。

计算机总线与网络总线

总线是计算机各种功能部件之间传送信息的公共通信干线。按照所传输的信息分类,总线可分为控制线、数据线和地址线。为了提高计算机系统通信的效率,计算机总线的设计是分级的,即计算机系统存在多类总线,具体包括以下三个类型。

①内部总线:用于CPU芯片内部各元件的连接。

②系统总线:用于连接CPU、存储器和各个I/O模块。

③通信总线:用于计算机系统之间通信

#scsi设备=采用scsi接口的硬盘 LAN=局域网设备

北桥芯片是电脑主板上的一块芯片,位于CPU插座边,起连接作用;北桥在电脑里起着主导的作用,所以又称为主桥

南桥芯片是主板芯片组的重要组成部分,一般位于主板上离CPU插槽较远的下方,PCI插槽的附近,连接I/O总线;不与CPU直接相连,而是通过一定的方式与北桥芯片相连 

中央处理器(CPU)

中央处理器是计算机的运算核心和控制单元,主要包括:

运算逻辑部件:一个或多个运算器

寄存器部件:包括通用寄存器、控制与状态寄存器,以及高速缓冲存储器(Cache)

控制部件:实现各部件间联系的数据、控制及状态的内部总线;负责对指令译码、发出为完成每条指令所要执行操作的控制信号、实现数据传输等功能的部件

存储器的组织层次

外围设备及其分类

  • 输入设备
  • 输出设备
  • 存储设备
  • 机机通信设备

I/O控制方式 : #I/O=Input/Output

轮询方式:CPU忙式控制I/O,CPU执行内存数据交换 #cpu控制i/o 执行内存数据交换

中断方式:CPU启动I/O设备,设备进行I/O,设备中断CPU以善后,CPU执行内存数据交换 #cpu启动i/o设备 设备进行i/o 中断后交给cpu cpu执行内部数据交换

DMA方式(直接存储访问):CPU启动DMA,DMA独立进行I/O和内存数据交换,DMA中断CPU以善后 #cpu启动dma dma进行i/o和内存数据交换,中断后交给cpu

1.1.3 计算机软件系统

计算机软件系统的组成

系统软件:操作系统、实用程序、语言处理程序、数据库管理系统

  • 操作系统实施对各种软硬件资源的管理控制
  • 实用程序为方便用户所设,如文本编辑等
  • 语言处理程序把用汇编语言/高级语言编写的程序,翻译成可执行的机器语言程序

支撑软件有接口软件、工具软件、环境数据库,支持用户使用计算机的环境,提供开发工具 也可认为是系统软件的一部分

应用软件是用户按其需要自行编写的专用程序 #比如:日常app

程序员的计算机系统视图

软件开发的不同层次

计算机硬件系统:机器语言

操作系统之资源管理:机器语言+广义指令(扩充了硬件资源管理)

操作系统之文件系统:机器语言+系统调用(扩充了信息资源管理)

数据库管理系统:+数据库语言(扩充了功能更强的信息资源管理)

语言处理程序:面向问题的语言

计算机程序的执行过程 

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

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

相关文章

Github 如何配置 PNPM 的 CI 环境

最近出于兴趣在写一个前端框架 echox,然后在 Github 上给它配置了最简单的 CI 环境,这里简单记录一下。 特殊目录 首先需要在项目根目录里面创建 Github 仓库中的一个特殊目录:.github/workflows,用于存放 Github Actions 的工作…

【linux kernel】一文浅析linux HID核心

文章目录 一、hid核心初始化二、hid总线probe过程分析三、hid总线match过程分析四、hid总线的uevent过程五、usbhid驱动分析(1)struct hid_driver(2)usbhid的探测行为(3)usb_hid_driver实现六、总结一、hid核心初始化 在linux内核中,HID核心是完成HID功能的关键组件,如果内核…

Kubernetes中应用如何通过Service访问的原理

在Kubernetes中,我们创建的应用是跑在pod里,应用和应用之间需要通信访问,可以通过Service来给pod创建一个可以供访问的负载均衡(一个虚拟IP)地址,那么别的Pod来访问这个Service背后的原理是什么呢&#xff…

269 基于matlab的四连杆机构动力学参数计算

基于matlab的四连杆机构动力学参数计算。将抽油机简化为4连杆机构,仿真出悬点的位移、速度、加速度、扭矩因数、游梁转角等参数,并绘出图形。程序已调通,可直接运行。 269机构动力学参数计算 位移、速度、加速度 - 小红书 (xiaohongshu.com)

段码屏|液晶显示模块|超低功耗LCD驱动芯片

1 简介 PC164S32 是一款支持 128 点 (32 4)显示 的多功能 LCD 控制器芯片,内部存储器RAM数据直接映射到 LCD 显示。可软件配置特性使其适用于包括 LCD 模块和显示子系统在内的多种 LCD 应用。主控制器与 PC164S32接口仅需3 或 4 条线。内置的省电模式极大的降低了功…

我给线程池管理框架hippo4j找bug

1 虚拟机参数不生效 hippo4j的docker启动脚本位于 docker/docker-startup.sh 。从下图可以看到 JAVA_OPT放在了jar包名 hippo4j-server.jar之后,而只有项目参数才放在jar包名之后。 实际上这里JAVA_OPT中包含虚拟机参数,而虚拟机参数要放在jar包名之前…

使用 CNN 训练自己的数据集

CNN(练习数据集) 1.导包:2.导入数据集:3. 使用image_dataset_from_directory()将数据加载tf.data.Dataset中:4. 查看数据集中的一部分图像,以及它们对应的标签:5.迭代数据集 train_ds&#xff0…

Shell 编程之免交互

一:Here Document 免交互 1.1:概述 Here Document 是一个特殊用途的代码块。它在 Linux Shell 中使用 I/O 重定向的方式将命令列表提供给交互式程序或命令,比如 ftp 、 cat 或 read 命令。 Here Document 是标准输入的一种替代品&a…

MySQL学习——在批处理模式下使用mysql

除了交互式地使用mysql来输入语句并查看结果。也可以以批处理模式运行mysql。为此&#xff0c;将你想要运行的语句放入一个文件中&#xff0c;然后告诉mysql从该文件读取输入&#xff1a; $> mysql < batch-file 如果你在Windows下运行mysql&#xff0c;并且文件中包含…

【前端每日基础】day31——uni-app

uni-app 开发详细介绍 基本概念 uni-app&#xff1a;uni-app 是一个使用 Vue.js 开发多端应用的框架&#xff0c;可以编译到微信小程序、支付宝小程序、百度小程序、字节跳动小程序、H5、App等多个平台。 跨平台&#xff1a;一次开发&#xff0c;多端部署。通过条件编译实现多…

【漏洞复现】DT-高清车牌识别摄像机 任意文件读取漏洞

0x01 产品简介 DT-高清 车牌识别摄像机是一款先进的安防设备&#xff0c;采用高清图像传感器和先进的识别算法&#xff0c;能够精准、快速地识别车牌信息。其高清晰该摄像机结合了智能识别技术&#xff0c;支持实时监宴图像质量确保在各种光照和天气条件下都能准确捕捉车牌信息…

【面试八股总结】MySQL事务:事务特性、事务并行、事务的隔离级别

参考资料&#xff1a;小林coding 一、事务的特性ACID 原子性&#xff08;Atomicity&#xff09; 一个事务是一个不可分割的工作单位&#xff0c;事务中的所有操作&#xff0c;要么全部完成&#xff0c;要么全部不完成&#xff0c;不会结束在中间某个环节。原子性是通过 undo …

CSS-in-JS学习

CSS-in-JS CSS-in-JS 是一种将样式直接写入JavaScript代码中的方法,它通常与React、Vue等现代前端框架结合使用。 1. 什么是CSS-in-JS? CSS-in-JS 是一种编写样式的方法,它允许开发者在JavaScript组件内部定义样式,通常使用类似于CSS的语法。这种方式提高了代码的可复用…

C#根据数据量自动排版标签的样例

这是一个C#根据数据量自动排版标签的样例 using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using HslCommuni…

go mongo 唯一索引创建

1. 登录mongo&#xff0c;创建数据库 mongosh -u $username -p $password use test 2. 查看集合索引 db.$collection_name.getIndexes() 为不存在的集合创建字段唯一索引 package mainimport ("context""fmt""log""time""go…

代码随想录算法训练营第四十五天 | 1049. 最后一块石头的重量 II、494. 目标和、474.一和零

1049. 最后一块石头的重量 II 视频讲解&#xff1a; 动态规划之背包问题&#xff0c;这个背包最多能装多少&#xff1f;LeetCode&#xff1a;1049.最后一块石头的重量II_哔哩哔哩_bilibili 代码随想录 解题思路 直接将这一些石头&#xff0c;分为两堆&#xff0c;让他们尽可能…

假如Redis⾥面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们全部找出来?

使⽤用 keys 指令可以扫出指定模式的 key 列列表。但是要注意 keys 指令会导致线程阻塞⼀一段时间&#xff0c;线上服务会停 顿&#xff0c;直到指令执⾏行行完毕&#xff0c;服务才能恢复。这个时候可以使⽤用 scan 指令&#xff0c; scan 指令可以⽆无阻塞的提取出指定模式 的…

C语言 | Leetcode C语言题解之第120题三角形最小路径和

题目&#xff1a; 题解&#xff1a; int minimumTotal(int** triangle, int triangleSize, int* triangleColSize) {int f[triangleSize];memset(f, 0, sizeof(f));f[0] triangle[0][0];for (int i 1; i < triangleSize; i) {f[i] f[i - 1] triangle[i][i];for (int j …

SQL语句来实现不使用子查询的方式,直接通过JOIN和MAX函数来筛选出每个主表关联的最新子表记

除了使用JOIN和子查询的方式外&#xff0c;还可以使用窗口函数来实现不带子查询的方式来筛选出每个主表关联的最新子表记录。 以下是使用窗口函数的SQL语句示例&#xff1a; sql SELECT r.*, t.* FROM (SELECT r.*, t.*,ROW_NUMBER() OVER (PARTITION BY r.id ORDER BY t.creat…

latex中对目录的处理

文章目录 设置目录的章节编号宽度和章节标题的缩进设置条目的间距设置章节标题与页码之间的连接线 设置目录的章节编号宽度和章节标题的缩进 \usepackage{tocloft} \setlength{\cftsubsecnumwidth}{4cm} % 设置子章节编号的宽度为4cm \setlength{\cftsubsecindent}{1cm} % 设置…