提示:本文章内的知识点全是根据王道的操作系统考研课得出的


前言

本人是一名28届双非软件工程专业的学生。本着打牢基础的原则,想在这个暑假深耕一下计算机四大件。碍于两天前操作系统挂科的噩耗,更加坚定了我的想法。所以我将以操作系统为首,每天分享一些,我在学习过程中遇到的知识点,希望各位即使帮我查缺补漏,谢谢各位。

一、操作系统是什么?

操作系统的本质就是电脑中的管家,主要管理计算机硬件。计算机硬件主要有CPU、内存、硬盘、显卡;硬件只会执行0和1,是听不懂高级指令的。所以在这个时候,操作系统的作用就显得尤为重要。它负责夹在硬件和我们写的应用程序之间。

二、操作系统的功能

1.进程管理

电脑的运行内存是一定的,在运行软件的时候,软件需要的运行内存也是一定的。那为什么我们可以在电脑上同时运行多个软件呢?

这就是操作系统的第一个作用——进程管理。

操作系统给每一个运行的程序抽象成进程,分配时间片轮流占用CPU,给我们造成并行运行的错觉。

2.文件管理

操作系统管理着硬盘里的文件夹、文档、代码。

除此之外,操作系统还能帮程序实现读写。

3.内存管理

电脑的物理内存是有限的,所以操作系统引入了虚拟内存。

1.把硬盘的一部分空间当作虚拟内存;程序拿到的地址都是虚拟地址,由操作系统映射到真实内存;

2.当内存不够的时候,操作系统会把很久不用的数据挪到磁盘中。

4.设备管理

键盘、鼠标、磁盘、网盘都属于外部设备。比如打印用到的Spooling(假脱机技术),就是操作系统解决高速CPU和慢速外设速度差距的方案。

三.操作系统的特征

1.并发

宏观上多个程序同时运行,微观上CPU单个时刻只有一个进程在进行,依靠着时间片轮转调度交替运行。

2.共享

系统中的硬件资源、文件资源、内存可供多个并发的进程共同使用;包括互斥共享、同时访问共享。

1.互斥共享:同一时间内只允许一个进程占用
2.同时访问共享:磁盘文件,多个进程可以同时读取同一个文件。

3.虚拟

操作系统利用技术,把一分物理资源抽象成多份逻辑资源给进程使用;主要分成时分复用、空分复用。

1.时分复用:CPU时分虚拟,单核虚拟成多个逻辑CPU供进程使用
2.空分复用:内存虚拟化,把磁盘空间虚拟成内存,让程序认为自己拥有大片连续内存。

4.异步

进程是以不可预知的速度向前推进。两个进程的代码一模一样,但是CPU的调度时机不确定,每次运行结束的时间不一样。

总结

今天,我其实学了不止这些,但择优选择整理,选了这些。包括操作系统的概念、功能和特征。希望各位踊跃观看、及时纠错

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐