关于操作系统
什么是操作系统
操作系统,又称OS(operating system),是计算机硬件上的第一层软件。
操作系统是用于管理控制计算机硬件和软件资源的计算机程序。它可以合理地组织和调度计算机的工作和资源的分配,以提供给用户和其他软件一个合理的环境。
OS是计算机系统中最基本的系统软件。
操作系统的特性
操作系统具有并发、共享、虚拟和异步等特性。
并发和并行
并发(Concurrent),在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。
- 举个例子,我们起床洗漱,要刷牙,洗脸,叠被子,这三个动作其实就是并发执行的。这三个动作看似是同时进行的,实际上是在同一时间段分批次完成的。这就是并发。
并行(Parallel),当系统有一个以上CPU时,当一个CPU执行一个进程时,另一个CPU可以执行另一个进程,两个进程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。
- 同样还是上面那个例子,我们起床洗漱,我刷牙,洗脸,叠被子;你也刷牙,洗脸,叠被子;这两个动作是同时进行的。两个人在同一时间点一起刷牙,洗脸和叠被子,两者之间是互不干涉的。这就是并行。
!注意:并行实现的前提是系统要有多个CPU!
并发,指的是多个事情,在同一时间段发生了;并行,指的是多个事情,在同一时间点发生了。
并发是抢占资源的,并行是不抢占资源的。
共享
共享,即资源共享,是指系统中的资源可供内存中多个并发执行的进程同时使用。
共享可分为:
- 互斥共享方式:一段时间只允许一个进程访问资源,此资源叫做‘临界资源’或‘独占资源’。
- 同时访问方式:一段时间内允许多个线程‘同时’访问资源。这里的‘同时’,往往是宏观上的;微观上是交替进行的。
!!!注意共享和并发的关系:
- 共享往往是以并发为条件的。若系统不允许程序并发执行,则不存在资源共享问题;
- 若系统不能对资源共享实施有效管理,也必将影响到程序的并发执行,甚至根本无法并发执行。
虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。
物理实体(前者)是实的,即实际存在的;而后者是虚的,是用户感觉上的事物。用于实现虚拟的技术,称为虚拟技术。
在操作系统中利用了多种虚拟技术,分别用来实现虚拟处理器、虚拟内存和虚拟外部设备等。
在虚拟处理器技术中,是通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一个处理器的。此时,虽然只有一个处理器,但它能同时为多个用户服 务,使每个终端用户都感觉有一个中央处理器(CPU)在专门为它服务。利用多道程序设计技术,把一个物理上的CPU虚拟为多个逻辑上的CPU,称为虚拟处理器。
类似地,可以通过虚拟存储器技术,将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量。当然,这时用户所感觉到的内存容量是虚的。我们把用户所感觉到的存储器(实际是不存在的)称为虚拟存储器。
还可以通过虚拟设备技术,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备,这样便可以使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为在一段时间内允许多个用户同时访问的共享设备。因此,操作系统的虚拟技术可归纳为:时分复用技术,如处理器的分时共享;空分复用技术,如虚拟存储器(注:学到后续内容再慢慢领悟)。
异步
在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
异步性使得操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误 (就像对全局变量的访问顺序不当会导致程序出错一样)。但是只要运行环境相同,操作系统必须保证多次运行进程,都获得相同的结果。
操作系统的目标
- 方便性:极大地方便了用户,使得计算机变得简单易用
- 有效性:能够充分利用系统资源,提高系统的吞吐量
- 可扩充性:OS采用微内核技术,能够方便地添加新的模块
- 开放性:遵循国际标准,使得各种软硬件能够彼此兼容
操作系统的作用
- 人机交互:OS是计算机硬件和用户之间的接口。
- 资源管理:OS是计算机系统资源的管理者。
- 资源抽象:OS实现了对计算机资源的抽象。
操作系统与硬件,其他系统软件和用户之间的关系
操作系统是覆盖在计算机硬件的第一个软件,它管理着计算机的硬件和软件资源并向用户提供良好的界面;
操作系统是一种特殊的系统软件,其他系统软件运作在操作系统基础之上。操作系统是其他系统软件和硬件之间的接口;
一般用户使用计算机除了需要获得操作系统的支持外,还需要用到大量的其他系统软件和应用软件,以使其工作更加方便和高效。
大体结构如下:
拓展和疑问
psw是什么?
psw是Program Status Word的缩写,即程序状态字(也叫程序状态寄存器),可用于OS在管态(系统态)和目态(用户态)之间的转换。
程序状态字用来指示处理器状态、控制指令的执行顺序并且保留和指示与运行程序有关的各种信息,其主要作用是方便地实现程序状态的保护和恢复。
为什么要选择linux系统?
windows:不用安装;容易维修;软件和游戏数量极大;硬件兼容性好
linux:不用花钱;稳定性/流畅性高;安全性高;可定制性高;性能高
个人电脑大部分是Windows操作,但在服务器,科学计算, 人式智能上Linux系统的使用量要比Windows大的多。
这些年随着Linux的发展,个人电脑使用Linux的前景要比之前好的多。
如何在Windows系统中安装linux系统?
在Windows中安装linux可以有很多方法,可以安装Linux的子系统,也可以安装一个虚拟机,再安装Linux。
这里不详细讲解安装过程,想了解的点击链接https://www.cnblogs.com/linuxprobe-sarah/p/10935217.html。
参考文献
[1] Java3y,《面试必考的:并发和并行有什么区别?》,腾讯云
[3] richard_w0ng,《操作系统的目标和作用 》,简书
[4] 《PSW(单片机术语)》,百度学术
[5] 何方,《Linux 和 Windows相比有什么优缺点?》,知乎
[6] sarah_linux,如何在win10系统上安装linux子系统,博客园