【操作系统1】一篇文章便可入门操作系统

操作系统 (Operating System,OS)是一种系统软件,它负责管理计算机的硬件和软件资源。它的主要任务是组织和调度计算机的工作,并分配资源给用户和其他软件。操作系统为用户和软件提供了方便的接口和环境。它是计算机系统中最基本的软件之一。

一、操作系统的目标和功能

1、操作系统作为计算机系统资源的管理者

(1)处理机管理

在多道程序环境下,进程(或线程)是处理机分配和运行的基本单位。因此,对处理机的管理就是对进程的管理,主要包括进程控制、进程同步、进程通信、死锁处理和调度。进程管理的主要任务是决定进程的创建和撤销时间,管理进程,避免冲突,并实现资源的合理共享。
(2)存储器管理

给多道程序运行提供环境,方便用户使用,提高内存利用率。包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。
(3)文件管理

操作系统中负责文件管理的部分称为文件系统。包括文件存储空间的管理、目录管理及文件读写管理和保护等。
(4)设备管理

完成用户的/O请求,方便用户使用各种设备,提高设备的利用率。包括缓冲管理、设备分配、设备处理和虚拟设备等功能。

写个例子:用QQ和朋友视频聊天的过程

Step 1:在各个文件夹中找到 QQ安装的位置(如 D:/Tencent/xx/Bin)

Step 2:双击打开 QQ.exe

Step 3:QQ程序正常运行

Step 4:开始和朋友视频聊天


上述四个步骤具体分析如下:

Step 1:逐层打开文件夹,找到aa.exe这个程序(可执行文件)的存放位置------文件管理

Step 2:需要把该程序相关数据放入内存------存储器管理

Step 3:对应的进程被处理机(CPU)处理------处理机管理

Step 4:需要将摄像头设备分配给进程------设备管理

2、操作系统作为用户与计算机硬件系统之间的接口

操作系统提供的接口主要分为两类:

一类是命令接口,用户利用这些操作命令来组织和控制作业的执行,另一类是程序接口,编程人员可以使用它们来请求操作系统服务。

(1)命令接口

使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式 。按作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口

联机命令接口又称交互式命令接口,本接口适用于分时或实时操作系统。当用户输入一条命令后,控制权将移交给操作系统的命令解释程序。该程序负责解释并执行用户输入的命令,以完成相应的功能。操作完成后,用户可以继续输入下一条命令。

脱机命令接口又称批处理命令接口,适用于批处理系统,它由一组作业控制命令组成。脱机用户无法直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。当系统调度到该作业时,由系统中的命令解释程序逐条解释执行作业说明书上的命令,从而间接地控制作业的运行。

(2 ) 程序接口

程序接口,也称为应用程序编程接口(API),由一组系统调用(或广义指令)组成。目前,图形用户界面(GUI)是最为流行的用户接口类型。GUI通过调用底层的程序接口来实现其功能,用户可以通过鼠标点击、键盘输入或者使用快捷键与图形界面进行互动,从而便捷地利用操作系统提供的服务。

3、操作系统实现了对硬件机器的扩展

操作系统所提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器;因此,我们通常将覆盖了软件的机器称为扩充机器或虚拟机。将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能。

二、操作系统的特征

  1. 并发(Concurrency) :并发指两个或多个事件在同一时间间隔内发生。在多道程序环境下,内存装有多道程序,一道程序因 I/O 操作暂停时,CPU 有空档,系统就调度其他程序交替运行,让 CPU 保持忙碌,通过分时实现。以生活举例,9:00 - 10:00 间,9:00 - 9:10 吃面包,9:10 - 9:20 写字,9:20 - 9:30 吃面包,9:30 - 10:00 写字,这段时间里吃面包和写字就是并发,交替开展。并行是同一时刻 能完成两种或两种以上工作。好比 9:00 - 10:00 期间,右手写字同时左手吃面包,同一时刻同步动作。

    在单核cpu环境下 ,宏观有多道程序看似同时执行,微观是分时交替,靠分时实现并发 。而 CPU 与 I/O 设备、I/O 设备间可真正并行。实现进程并行需多流水线、多处理机等硬件支持。引入进程,目的之一就是实现程序并发执行,提升系统效率与资源利用率。

    在多核cpu环境下,同时能进行多个程序的执行,多个程序可以并行的执行。

  2. 共享(Sharing) :系统资源供多个并发进程共用,分互斥共享(如打印机、磁带机等临界资源,一段时间只许一进程访问,需先申请,用完释放)与同时访问(像磁盘设备、部分重入代码文件,宏观 "同时"、微观 "分时")。

  3. 虚拟(Virtual) :借助虚拟技术把物理实体变逻辑对应物,含时分复用 (虚拟处理器,多道程序分时用一处理器,让用户似有专属 CPU)、空分复用(虚拟存储器扩充逻辑容量,虚拟设备将物理 I/O 设备虚拟为多台逻辑设备供多用户用)。

  4. 异步(Asynchronism):多道程序下进程并发但因资源有限走走停停、推进速度不可知,运行环境随机,虽可能出与时间有关错误,但相同环境须保多次运行结果一致。

并发和共享是操作系统的两个最基本特征,它们互为存在条件。资源共享以程序的并发为前提,若系统不允许程序并发执行,资源共享问题便不复存在。反之,若系统无法对资源共享进行有效管理,将影响程序的并发执行,甚至导致无法并发执行。

三、操作系统的发展历程


今天的分享就到这啦😉

如果我的文章对您有帮助,

"点赞" "收藏" "关注" 一键三连哦!

想了解更多知识请前往重生之我在VS写bug

如果以上内容有什么问题,欢迎留言,大家一起学习,共同进步。

相关推荐
Scott9999HH7 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
Yana.nice7 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
码智社8 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海8 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖9 小时前
JDK 26 新特性详解
java·开发语言
马优晨9 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
吳所畏惧11 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈11 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
人邮异步社区11 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大12 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf