Linux三级 学习笔记(二)计算机体系结构与操作系统-操作系统

2023-11-11

1.4、操作系统的基本概念

1.4.1、操作系统的定义和作用

操作系统的作用可以从用户和系统俩个不同角度来看:用户视角、系统视角。

1、用户视角
操作系统为用户提供的服务有:程序开发、程序运行、I/O设备访问、文件访问、系统资源访问、错误检测和响应以及日志服务。

2、系统视角
从计算机系统的角度来看,计算机就是一组硬件和软件资源的集合,操作系统负责对各种软硬件资源进行分配和管理。计算机资源按照作用分类可大致分为四类:处理器、存储器、I/O设备和文件(程序和数据)。对这四类资源的管理就是操作系统内核的主要功能。

1.4.2、操作系统的基本特征

现代通用操作系统一般具有并发、共享、虚拟和异步四个基本特征.

1、并发
并发是操作系统最重要的特征,其他三个特征都是以并发为前提。并发是指俩个或多个事件在同一时间间隔内发生,并行是指俩个或多个事件在同一时刻发生。

2、共享
共享是指计算机系统中的软硬件资源可被多个并发执行的进程共同使用,而不是一个进程独占。共享与并发相互依存,是操作系统最基本的俩个特征。资源共享的方式分为俩种:互斥共享方式(如打印机)和同时访问方式(如磁盘)

3、虚拟
虚拟是指把一个物理上的实体变为一个或多个逻辑上的对应物。

4、异步
异步性又称随机性和不确定性,异步是指在相同的计算机环境和初始条件下,在同一数据集上运行的同一程序每次执行的顺序和所需时间都不一定相同。

除以上的4个基本特征
安全和可扩展性也是现在操作系统的重要特征。计算机系统的安全包括系统中硬件设备的物理安全和系统中信息资源的逻辑安全,其中逻辑安全主要是指信息系统的可用性、完整性和保密性。可扩展性则是指计算机系统适应变化的能力。对计算机可以分为俩个方面,一是系统中软硬件资源的不断变化,如早期I/O设备主要是硬盘、磁盘,后来出现了U盘、移动硬盘等;二是同一资源数量上的扩张,如单核处理器到多核处理器。

1.5、操作系统的基本功能和原理

操作系统应具备五大基本功能:处理器管理,存储管理、设备管理、文档管理和作业管理(作业在运行时体现为一个或多个程序的集合)

1.5.1、处理器管理

处理器管理的功能主要有俩个:中断处理和进程管理

首先,了解处理器管理的功能之前,需要了解处理器的运行状态。在处理器上运行的指令,根据权限分类可以分为:特权指令(只能在系统内核使用的指令)、非特权指令(所有程序都能使用的指令)。
处理器的运行状态一般分为内核态和用户态。从用户态切换到内核态的有以下三种方式:系统调用、异常和外围设备的中断。这三种方式都是通过中断机制发生,而从内核态切换到用户态也只能通过特定的中断指令返回。因此,中断处理时操作系统的一项重要功能。

1、中断处理

中断处理可分为外中断和内中断。中断系统分为中断装置和中断程序

(1)外中断:即异步中断,也就是狭义的中断。外中断指来自CPU执行指令意外的事件中断,可以在指令之间发生,通常与当前运行的程序无关。如设备发出的I/O结束中断。

(2)内中断:即同步中断,也就是异常。内中断是由CPU内部事件所引起的中断,如程序出错或非法指令等。之所以称作同步中断,是因为只有在一条CPU指令执行完毕后CPU才会发出中断,而不是发生在指令执行期间,如系统调用。

2、进程管理

现代计算机系统上运行的应用程序就是一个或多个进程,一个进程又可能包含一个或多个线程。操作系统就要负责将这些线程和进程调度到处理器上执行。

(1)进程

进程是计算机中的程序在某数据集合上的依次运行活动,是系统进行资源分配和调度的基本单位

进程和程序的区别:
a、进程是一个动态概念,程序是一个静态概念。程序是指令的有序集合,没有任何执行的含义;进程则是强调执行过程,动态的创建并被调度后死亡;
b、进程具有并发性,而程序没有。由进程的定义可得,进程具有并发特征的俩个方面,即独立性和异步性,在不考虑资源共享的情况夏,各进程的执行是独立的,执行速度是异步的。而程序不反应执行过程,因此不具有并发性。
c、进程具有生命周期,旨在运行期间存在,程序可以在外存上长久保存。
d、进程与程序之间不是一一对应的,一个程序在不同的数据集上就成为不同的进程。
e、进程和程序的组成不同,进程实体的组成包括程序。数据和进程控制块(PCB)。

进程控制块(PCB):包含进程标识信息、处理器状态信息和进程调度控制信息。当系统创建一个新进程时,就为他创建了一个PCB,进程结束时又回收其PCB。

每个进程映像都由PCB、用户栈、进程专用地址空间(私有用户地址空间)以及与其他进程共享的地址空间组成,如下图:
虚拟存储的用户进程

(2)线程

线程是处理器调度运行的最小单位,线程包含在进程之中,一条线程就是进程中一个单一顺序的控制流,在一个进程中可以并发多个线程,每条线程并行执行不同的任务。

(3)进程的状态和转换

进程的三种基本状态:运行态、就绪态、等待态。为了更加有效地管理,在实际系统中,又加入了两个进程状态:新建态(1、为新进程创建PCB,填写必要的管理信息;2、将该进程转入就绪状态并插入就绪队伍)、终止态(1、等待操作系统善后处理;2、将PCB清零)。

进程的五种状态及转换

(4)进程控制

进程的主要任务是创建进程、撤销进程以及实现进程的状态转换。

(5)进程的互斥与同步

在进程互斥和同步中所涉及的共享资源是一种临界资源。

(6)进程通信

A、共享内存方式:在共享存储器中,相互通信的进程共享某些数据结构或考皮一块共享存储区域作为进程通信区;
B、消息传递方式:利用系统提供的一组通信命令(原语)来实现通信;
C、管道通信方式:管道是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文化,又名为pipe文件,可以被几个进程以不同的使用方式打开。

(7)处理器调度

A、处理器调度准则,也就是衡量CPU调度算法的指标通常有以下几个:
CPU利用率吞吐率(单位时间完成进程数)、周转时间(执行某一进程消耗的时间)、等待时间(某一进程在就绪队伍的等待时间)、响应时间(某一进程从发出请求到CPU响应的时间)。
B、常见的CPU调度算法有以下几种:
先到先服务调度算法、最短进程优先调度算法、轮转调度算法(按照时间片的方法执行队首进程,若改时间片内未完成,将进程插入队尾)、优先级调度算法、高响应比优先调度算法(引入动态优先级,进程的优先级会随着时间的增加而以一定的比率提高)、多级反馈队列调度算法(将进程分成多个独立队列,每个队列都有自己的调度算法)。
C、与单核处理器相比,多核处理器系统调度所要考虑的新问题主要有俩点:处理器亲和性(由于缓存设为无效或重新填充的代价高,大多数处理器(SMP)会避免将进程从一个处理器迁移到另一个处理器,而是试图让一个进程在同一个处理器上,称为处理器亲和性,即一个进程对它运行的处理器具有亲和性)、负载均衡

1.5.2 、存储管理

操作系统的存储管理要是针对内存储器的管理,负责对内存的分配、回收以及提供在存储层次间的数据移动的管理机制。

1、程序装入内存的过程

程序装入内存的过程
编译-链接-装入

2、操作系统存储管理主要功能

内存空间的分配和回收、地址转换、内存空间的扩充(利用虚拟存储技术或自动覆盖技术,从逻辑上扩充内存。注:32位计算机逻辑地址最大为2^32B=4GB)、存储保护

3、分页存储管理

分页存储管理将程序的逻辑地址空间划分为固定大小的页而物理内存划分为同样大小的页框。其中逻辑地址结构有俩部分组成,前一部分是页号,后一部分是页内偏移地址(相对于页头的偏移量)。

当调用的页面不在内存时,会发生页中断,需要进行页面置换,将已在内存中的页面换出外存,常见的页面置换算法有:先进先出**(FIFO)、最近最久未使用(LRU)、最佳置换算法(OPT)**。

1.5.3、设备管理

操作系统设备管理模块主要主要负责处理器啮合与外部设备之间的数据交互,包括把设备分配给某个请求使用该设备的进程、处理CPU与设备之间的I/O通信,响应设备中的中断请求、维护和回收设备等。另外,由于CPU和外设之间的速度相差很大,为提高设备的利用率和并行操作度,改善系统性能,还引入了缓冲技术和虚拟设备技术

1、设备的分类

使用特性分类:存储设备和输入输出设备;
信息传输速率分类:低、中、高速设备;
信息交换的单位份分类:字符设备(输入输出数据的基本单位是字符)、块设备(信息传输以数据快为单位);
共享属性分类:独占设备、共享设备和虚拟设备。

2、I/O系统硬件

I/O系统硬件啊主要有外部设备本身、设备控制器以及设备与处理器内核之间的连线组成

3、I/O系统软件

I/O系统软件使用户在使用外布设备过程中,与I/O操作相关的软件集合。I/O系统软件可以分为几个层次,低层次软件用于实现与硬件相关的操作,并可屏蔽硬件的具体细节,高层软件主要是向用户提供一个简洁友好和规范的接口。
以下层次由低向高:
硬件<——>中断处理程序<——>设备驱动程序<——>设备无关软件<——>用户进程

4、缓冲技术

为了缓和CPU与设备速度不匹配的问题,提高他们的并行性,根据缓冲区个数的不同,可以将缓冲技术分为单缓冲、双缓冲、循环缓冲和缓冲池。循环缓冲是将多个缓冲区组织成循环队列进行管理,能够更好的缓和差异,获得较高的并行性,缓冲池有多个公用缓冲区组成,其中缓冲区可供多个进程共享,且既能用于输入又能用于输出。

5、虚拟设备

利用磁盘和软件技术模拟独占设备工作,从而使每个用户进程都觉得获得了独占使用的I/O设备,且使用该”设备“输入/输出的速度和磁盘的输入/输出一样快,这种模拟出多个逻辑存在的设备成为虚拟设备。虚拟设备通常使用SPOOLing技术(假脱机技术)实现。

1.5.4、文件管理

1、文件和文件系统

文件系统是指操作系统中与文件管理有关的软件和书数据的集合,由实施文件管理所需的数据结构(如文件控制块、存储分配表等)、相应的管理软件和被管理的文件三部分组成。他的主要功能如下:
对文件进行“按名存取”、文件存储空间管理、文件和目录的操作管理、实现文件的共享、保护和保密。

2、文件的逻辑结构和物理结构

常用的文件物理结构有顺序结构、链接结构和索引结构

3、文件存储空间管理

常用的文件存储空间管理方法有:空闲表法(空闲文件目录)、空闲链表法、位示图法。

4、文件目录管理

描述和控制文件的数据结构,文件控制块(File Control Block,FCB)。FCB一般包含以下文件属性:**文件名、文件类型、物理位置等基本信息;用户存取权限等控制信息;文件创建、修改时间等使用信息。**信息常用的目录结构形式有:单级目录、两级目录和多级目录等

5、文件的共享和保护

实现文件共享有多种方法,**目前最常用的有基于索引节点的共享(硬链接)和利用符号链进行共享(软链接)**俩种。
文件保护方法:存取控制矩阵(读R写W执行E)、存取控制表、口令和密码

1.5.5、作业管理

作业是用户再一次计算过程或一个事务处理中要求计算机系统所做工作的综合,也是用户项计算机系统提交任务的基本单位。作业管理包括作业的输入和输出,以及作业的调度与控制(目前的微机和工作站系统常以进程为核心,而不是作业)。从系统角度来看,作业由程序、数据和作业说明书组成。
作业通过练级或脱机方式提交给系统之后,系统会根据作业说明书为每个作业生成有个作业控制块(JCB)。一个作业从交给计算机系统到执行结束退出系统,一般要经历提交、后备、执行和完成4个状态。
常用的作业调度算法:先来先服务调度算法(FCFS)、短作业优先调度算法(SJF)、最高响应比优先调度算法(HRRN)(与高响应比优先调度算法相似)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux三级 学习笔记(二)计算机体系结构与操作系统-操作系统 的相关文章

随机推荐

  • 南邮CTF平台writeup:Web(一)

    签到题 查看网页源代码即可 md5 collision md51 md5 QNKCDZO a GET a md52 md5 a if isset a if a QNKCDZO md51 md52 echo nctf else echo fa
  • 做你自己

    2017 03 06 2017 03 10将彼得 巴菲特的书籍 做你自己 个股神巴菲特送给儿子的人生礼物 读完了 感受颇深 沃伦 巴菲特的名言 出生时嘴里含着的金汤匙 最后可能会变成扎在背上的金匕首 考虑不周的赠与会浇灭一个人的雄心并枯竭他
  • Android update api

    修改公共api后 需要 make update api 比较framework base api 下的current xml跟原始x xml 比如2 2为8 xml 2 3 3为10 xml 同时修改x xml 然后make
  • Windows 0x80190001错误解决

    Windows 0x80190001错误 笔者使用的系统版本为win10 2004 若同学们正在使用的系统为Windows 11 请移步这篇文章 Windows11 0x80190001错误解决 windows出现这样的错误 初步判断为wi
  • numpy的两个属性的详解 →→→→arange()和reshape()

    arange 简单的说就是创建了一个数组 print 默认是一维为数组 np arange 5 参数表示从0到5截至 不包括5 print 自定义起点一维数组 np arange 1 5 参数表示从1到5截至 不包括5 print 自定义起
  • mongodb 关于 整数类型 和 字符串类型 索引的比较

    想看看到底是 整数类型的索引快呢 还是字符串类型的索引快 到底快多少呢 内存分别占多少呢 今天就来测试一下 配置 华硕飞行堡垒6 500G 的 SSD 准备数据 a 是 for 循环的变量 id a name abcdefg a 2千万的数
  • python英寸和厘米互换_将厘米转换为英寸的Python程序

    python英寸和厘米互换 There are many problems where we have to calculate the distance in inches at the end but initially the mea
  • Impala链接报错

    impala集成Kerberos链接报错 操作命令 impala shell i 10 250 122 40 19005 k s e3base Error connecting TTransportException Could not s
  • Windows 编程概述(使用 C++)

    Windows 编程概述 使用 C 1 命令行 控制台 应用程序 2 本机桌面客户端应用程序 3 COM 组件 4 通用 Windows 平台应用程序 5 桌面桥 6 游戏 7 SQL Server 数据库客户端 8 Windows设备驱动
  • Qt:QProcess实现cmd命令,带参数.exe程序

    首先引入都文件 include
  • C#系列-set,

    using System public class cls private int book 定义一个域 也可以叫变量 只是面向对像里都这么叫 使用起来也更加方便 public int Book get Console WriteLine
  • DateTimeFormatter、LocalDateTime 的使用

    由于SimpleDateFormat是线程不安全的 所以在多线程中可以使用线程安全的DateTimeFormatter 代替 SimpleDateFormat 阿里巴巴java开发手册推荐 如果是 JDK8 的应用 可以使用 Instant
  • printk,printf 打印调试

    includelinux kernel h define KERN EMERG lt 0 gt 紧急事件消息 系统崩溃之前提示 表示系统不可用 define KERN ALERT lt 1 gt 报告消息 表示必须立即采取措施 define
  • Docker----DockerSwarm集群环境弹性服务动态扩缩容

    详细内容见 DevOps技术社区文章 Docker DockerSwarm集群环境弹性服务动态扩缩容
  • 新词发现

    新词发现是 NLP 的基础任务之一 通过对已有语料进行挖掘 从中识别出新词 新词发现也可称为未登录词识别 严格来讲 新词是指随时代发展而新出现或旧词新用的词语 同时 我认为特定领域的专有名词也可归属于新词的范畴 何出此言呢 通常我们会很容易
  • osgfbo(六)从pass的角度考虑,改写fbo(二)

    什么是pass 这个问题 看似简单 也让我头疼 看了osgdefered pass定义为osg Camera 杨石兴的osg视频教程定义为osg Group 我认为一个passRoot可以定义为一个Group 包含三部分 到目前pass为止
  • RT-Thread Smart 用户态开发体验

    背景 RT Thread Smart 是基于 RT Thread 操作系统上的混合操作系统 它把应用从内核中独立出来 形成独立的用户态应用程序 并具备独立的地址空间 自 V5 0 0 起 rt smart 分支已合并至 master 分支上
  • QT从入门到放弃------制作QT界面

    QT从入门到放弃 一 制作QT界面 创建工程 点击New Project 依次点击下图的Application QT Widgets Application Choose 根据自己的需求选择工程名和存放路径 路径千万不要有中文 路径千万不要
  • QT从入门到实战x篇_01_如何在qtcreator中创建一个程序?(MSVC编译器)

    1 按照如下顺序选择 我这里没有选择console的是因为我只是自己创建界面 不需要控制台的出现 2 命名及选择地址 选择下一步 3 选择基类 是否需要系统自动生成ui文件 基类中有三种选项分别为QWideget QMainWindow Q
  • Linux三级 学习笔记(二)计算机体系结构与操作系统-操作系统

    1 4 操作系统的基本概念 1 4 1 操作系统的定义和作用 操作系统的作用可以从用户和系统俩个不同角度来看 用户视角 系统视角 1 用户视角 操作系统为用户提供的服务有 程序开发 程序运行 I O设备访问 文件访问 系统资源访问 错误检测