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

文章目录

操作系统的定义

操作系统(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

虚拟机分类

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

虚拟机对比

相关推荐
莫名的好感°25 分钟前
手机RAR解压怎么选?2026年二季度四款产品问答
服务器·网络·智能手机
qq_163135751 小时前
Linux 【04-more命令超详细教程】
linux
sevencheng7982 小时前
【ADB】adb命令行常用按键模拟代码
linux·adb·模拟按键,返回键,音量键
暗影天帝2 小时前
BPI-R3 Mini 刷 Yuzhii DHCPD U-Boot 教程
linux
小赖同学啊2 小时前
智能连接器集群化高可用生产方案
linux·运维·人工智能
Cinema KI2 小时前
Linux第一个系统程序-进度条
linux·服务器
Moshow郑锴3 小时前
Ubuntu 26.04 更换阿里云源镜像
linux·运维·ubuntu
Jason_chen3 小时前
Linux 6.2 串口机制深度解析:AI驱动的自适应通信与零信任串口安全架构
linux
茉莉玫瑰花茶4 小时前
综合案例 - AI 智能租房助手 [ 5 ]
服务器·数据库·人工智能·python·ai
ShineWinsu4 小时前
对于Linux:线程概念与分页存储管理的解析
linux·运维·服务器·面试·线程·进程·虚拟空间地址