1️⃣什么是操作系统?
⭐️任何一个计算机系统都包含一个基本的程序集合,称为操作系统(OS),且在整个计算机系统中,操作系统是一款进行软硬件资源管理,一款纯正**“搞管理的”软件**
⭕️那为什么需要引入操作系统呢?
⭐️为了方便用户编程及操作、管理计算机的软件资源、提高资源的利用率
⭐️ 操作系统又分为用户态和内核态
2️⃣ 计算机软件构成
⭐️ 无论是安装 linux
还是 windows
,命令解释器都是一个必不可少的程序,用户通过它来使用计算机,没有他用户就无法通过命令来使用计算机,(说到底使用程序,程序也就是发送命令给系统,让系统明白这是干什么的)
- 从狭义来说系统就是操作系统内核
- 从广义来说系统就是整个计算机系统
引用
chatgpt
的一句话: 程序可以发送指令给系统。程序通过编写代码来实现特定的功能。当程序运行时,它会执行一系列的指令,这些指令可以包括操作系统提供的系统调用或API。通过这些系统调用或API
,程序可以与操作系统进行交互,并向系统发送指令。 例如,程序可以使用系统调用来打开文件、读取文件、写入文件等。程序可以通过调用相应的系统调用函数,将具体的指令传递给操作系统,然后操作系统会执行相应的操作。 另外,程序还可以使用API来与操作系统进行交互。API
(Application Programming Interface
,应用程序编程接口)是一组定义了如何与软件组件进行交互的规范。通过调用API提供的函数,程序可以向操作系统发送指令,请求特定的操作或服务。 总之,程序可以通过系统调用或API向操作系统发送指令,以实现特定的功能或操作
3️⃣操作系统提供的服务
⭐️它提供了操作系统的基本功能,如进程管理、内存管理、文件系统、设备驱动程序等。操作系统的其他部分,如用户界面、应用程序和系统工具等,都是建立在内核之上的,统称为系统服务,且系统调用的是安全的,是调用操作系统提供的API来调用,因为操作系统对其进行严格的权限控制和验证,以确保只有经过授权的应用程序才能调用系统调用,并且只能访问其被授权的资源和功能;
⭐️涉及共享资源的公共子程序调用:可以调用操作系统共享的一些资源、数据结构或者功能,多个应用可以调用同一个子程序以实习共享资源的操作
⭐️**系统调用和普通函数调用:**系统调用和普通函数调用的权限不一样所以说功能和范围不一样,普通函数调用由于权限不足不会改变处理机的状态,而系统调用会将处理机的状态从用户态变为内核态
4️⃣操作系统作为资源管理者管理了哪些资源?
⭐️操作系统的智能是管理和控制计算机系统的所有硬件和软件资源,合理的组织计算机工作流程并未用户提供一个良好的工作环境和用户接口
⭐️硬件资源和软件资源,如处理器管理;存储器管理;外部设备管理等硬件管理;软件就比如文件、进程等;
❓ 资源管理者还有哪些功能呢?
⭐️可以协调多个任务资源的使用,让计算机资源被多任务同时使用,让处理器、内存、磁盘都忙起来
⭕️使用硬件资源共享使用的方法又两种:
- 空分:针对存储资源而言。存储资源空间可以被多个用户进程共同分割方式占用,就相当与你的资源会被切为几份来给几个用户共同使用
- 时分:是指由多个用户分时的使用该资源,除了处理机资源外,还有很多其他的资源也必须的分时的使用,如键盘、网卡。时分还分为独占和非独占
- 独占:独占表示某用户任务占用该资源后,执行了对资源的多个操作,使用了一个逻辑完整的周期。
- 非独占:也就是说用户任务占用该资源无需使用一个逻辑上的完整周期;或者说一次使用就是一个完整周期。
5️⃣操作系统为程序提供运行机制
⭐️操作系统赋值为用户和用户程序完成所有与硬件相关当与应用无关的工作
⭐️并发:是指在同一个时间段内执行多个任务、进程〈操作系统内资源分配的最小单位〉或者操作能力;并发也可以通过多种方式实现、多线程、多进程、多任务等。在并发执行中这些任务可以是同时进行的(并行执行),也可以是交替执行的(并发执行)。
⭐️并发需要硬件的支持,如流水线或多处理器。操作系统有引入进程和线程,使得程序能够并发运行
问题:为了我们上机可以边听音乐边编辑文档,播放程序和编辑程序是在CPU上顺序运行还是轮流运行?操作系统提供了什么支持?
回答:是轮流运行的,CPU会将任务的时间划分为很小的几个片段,每一个任务会按照时间片来执行。当你播放音乐和编辑文档的时候,操作系统会将这两个任务分为不同的时间片段,然后轮流交替运行,CPU运行速度很快,快到以至于你感觉不到,你会觉得它们两个是同时运行的