【操作系统】一、操作系统简介

文章目录

操作系统的定义

操作系统(Operating System)是指控制和管理整个计算机系统的硬件和软件资源,并合理组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。

操作系统的特征

并发

并发:指两个或多个事件在同一时间内发生,这些时间宏观上是一起发生的,微观上是交替发生的

并行:指两个或多个事件在同一时刻发生

操作系统的并发性:指计算机系统中"同时"运行多个程序,但微观上是交替运行的。但操作系统往往会运行多个程序,所以操作系统和程序并发是一起诞生的。

计算机单核CPU:同一时刻只能执行一个程序,各个程序只能并发执行

计算机多核CPU:同一时刻能执行多个程序,程序运行数在小于cpu核数的时候可以并行执行,或者可以并行执行一个程序的多个线程

***现代很多CPU(如Intel HT或AMD SMT)支持超线程,一个物理核心可以模拟出来两个逻辑核心,这样操作系统会看到双倍数量的CPU

共享

共享:资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用

同时共享方式的同时,微观上是指这些进程可能交替地对资源进行访问(分时共享)

操作系统的共享性:是指操作系统中的资源可供内存中多个并发执行的程序使用

虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物是用户感受到的。

虚拟技术中的时分复用技术:微观上处理机在各个微小的时间段内交替着为各个进程服务。

虚拟技术通过资源复用来实现。

空分复用技术:将物理资源从"空间"上划分多个虚拟部分,供多个用户/程序使用。例如虚拟存储器技术,它将物理内存和磁盘空间结合起来,为每个程序提供一个远大于实际物理内存的、独立的连续地址空间。

时分复用技术:将物理资源从"时间"上划分,不同用户/程序轮流使用。例如虚拟处理器技术,它通过操作系统的时间片调度,一个物理CPU核心可以被多个程序"感觉"被自己独占使用,从而虚拟出多个逻辑CPU

正是因为系统需要同时处理多个任务 (并发执行),才使得通过复用技术来为每个任务创建"虚拟独占"资源环境变得至关重要。没有并发性,虚拟性就失去了意义

异步

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

只有程序拥有并发性,才可能会导致异步性。

操作系统的分类和发展

操作系统的运行机制

二进制机器指令就是处理器CPU能识别、执行的最基本命令。

在CPU设计和生产的时候就划分了特权指令和非特权指令,CPU执行一条指令前就可以判断出其类型。

CPU怎么区分指令类型?

CPU有两种状态,"内核态(核心态=管态)"和"用户态(目态)"。

处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令。

处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令。

CPU中有一个寄存器叫程序状态字寄存器(PSW),其中有个二进制位,1表示内核态,0表示用户态。

内核态-用户态的切换?

内核态->用户态

执行一条特权指令,修改PSW寄存器的标志位为"用户态",这意味着操作系统主动让出CPU的使用权

用户态->内核态

由"中断"引发,硬件自动完成从用户态到内核态的过程,触发中断信号意味着操作系统重新夺回CPU的使用权。但凡是需要操作系统介入的情况,都会触发中断信号。

中断和异常

中断的类型

内中断也可以被称为异常,中断通常指的外中断。

陷入指令:会触发内中断信号,该中断由陷入指令引发,因此转入相应的中断处理程序--即系统调用的入口程序。

中断机制的基本原理

不同的中断信号,需要用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号的类型去查询中断向量表,以此来找到相应的中断处理程序在内存中的存放位置。

系统调用

系统调用是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。系统调用是用户程序向操作系统内核请求服务的唯一正式接口,用于访问受保护的硬件和核心资源。

系统中的各种共享资源都是由操作系统内核统一掌管的,凡是与共享资源有关的操作(IO操作、存储分配、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成,这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

linux可以通过man syscalls查看系统调用的接口有哪些。

系统调用过程

陷入指令是在用户态执行的,执行陷入指令后立即引发一个内中断,使CPU进入核心态。

发出系统调用请求是在用户态,而对系统调用的相应处理是在核心态下完成的。

操作系统的体系结构

大内核

将操作系统的主要功能模块都作为系统内核,典型的大内核操作系统:Linux,Unix

小内核

只把最基本的功能保留在内核

操作系统结构的分类

分层结构
模块化
外核

操作系统引导

虚拟机

虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(Virtual Machine,VM),每个虚拟机器都可以独立运行一个操作系统。

虚拟机管理程序=虚拟机监控程序=Virtual Machine Monitor=Hypervisor

虚拟机分类

直接运行在硬件上和运行在宿主操作系统上

虚拟机对比

相关推荐
yatum_20141 小时前
CentOS 7 集群 SSH 免密与主机名配置文档
linux·前端·网络
头发那是一根不剩了1 小时前
Ubuntu 离线环境升级 OpenSSH 修复漏洞
linux·运维·ubuntu
程序员敲代码吗1 小时前
打印机IP与SMTP服务器配置指南
服务器·网络协议·tcp/ip
别退1 小时前
WSL2安装Freesurfer
linux·运维·服务器
KerwinChou_CN2 小时前
LangGraph 快速入门
服务器·网络·算法
久绊A2 小时前
H3C 交换机用户密码修改与策略管理指南
服务器·交换机·h3c
runepic2 小时前
GeoServer在CentOS部署中文乱码显示方框终极解决方案
linux·运维·centos·geoserver
shamalee2 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言
假如梵高是飞行员2 小时前
Ubuntu 磁盘扩容
linux·运维·ubuntu