【操作系统】1.1.2 操作系统的特征

简介: 【操作系统】1.1.2 操作系统的特征

@[TOC]

1并发

并发:指两个或多个时间在同一时刻间隔内发生,这些时间宏观上是同时发生的,但微观上是交替发生的。

并行:指两个或多个时间在同一时刻同时发生。

在这里插入图片描述

操作系统的并发性:指计算机系统中“同时”运行多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行着的。操作系统和程序并发是一起诞生的。

注意

单核CPU:同一时刻只能执行一个程序,各个程序之恶能并发的执行

多核CPU:同一时刻可以同时执行多个程序,多个程序可以并行的执行。如果运行的操作超过了CPU的数量,那么还是会有并发执行的。

在这里插入图片描述

2.共享

共享:资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。

  • 互斥共享方式:系统中的某些资源,虽然课题提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。 比如说手机上的摄像头,不可能qq和微信同时打开摄像头和别人聊天。
  • 同时共享方式:系统中的某些资源,允许一个时间段内由多个经常“同时”对它们进行访问,“同时”也可能是交替访问,比如qq和微信同时发送文件,两个程序看起来是在同时运行,但其实是交替执行的。

在这里插入图片描述

3.并发和共享的关系

如果失去并发性,那么系统中只有一个程序正在运行,那么就不需要同时共享资源,所以也就没有了共享性。

如果失去共享性,那么只允许一个程序访问资源,那么也就不会有多个程序同时访问资源,那么也就没有了并发性。

我的理解是,没并发,就执行完一个程序在执行完下一个程序,共享也就不可能实现了,共享就是可以让几个程序交替的访问资源,如果没法交替也就不能并发。
在这里插入图片描述

4.虚拟

虚拟:把一个屋里上的实体变为若干个逻辑上的对应物,物理实体是实际存在的,而逻辑上对应物是后者感受到的。也就是说用户感觉到的和实际的并无一样。

​ 一个程序需要放入内存并给它分配CPU才能运行,那你会发现你手机上运行了好几个软件,可能超过了运行内存,那么为啥还能同时运行呢,这里就用到了空分复用技术。只把需要用到的东西放入内存就行,其他不需要用到的就继续留在硬盘中。

在这里插入图片描述

​ 一个单核CPU的计算机,却能同时运行好几个程序,用户感受到的是多个程序都在同时运行,但CPU在某个时刻中却只能运行一个程序,这又是为什么呢?这里就用到了时分复用技术,每个程序在CPU都只运行一段时间,每个程序交替运行,这样感觉好像多个程序都在同时运行。

在这里插入图片描述

虚拟和并发的联系:如果没有并发,那么就会一个时间段内都只运行一个程序,那么内存中也就只会有一个程序,也就没有了空分复用技术。内存中只有一个程序,那么也就不会有时分复用技术

在这里插入图片描述

5.异步

异步:在多道程序环境下,允许多个程序并发执行,但由于资源有限,会等有资源了之后才会继续执行。进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

这里我们用java里的多线程模拟一下。这里我们可以看到程序不是按照顺序执行的。可能会走走停停。

public class ThreadDemo {
    public static void main(String[] args) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread()+"A吃饭");
                try {
                    //这里由于资源有限,所以必须要等一段时间资源来了在运行。假设等了1秒
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println(Thread.currentThread()+"A交心");
            }
        }).start();
        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread() + "B吃饭");
                System.out.println(Thread.currentThread() + "B交心");
            }
        }).start();
    }
}

在这里插入图片描述

在这里插入图片描述

并发和异步的执行:如果没有了并发,那么系统只会有一个程序执行,资源也就不会被其他程序占用,那么也就没有了异步性。

总结

在这里插入图片描述

没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征。

相关文章
|
存储 算法 Unix
《Linux操作系统编程》第一章 操作系统引论:了解操作系统的发展、特征、功能以及操作系统结构
《Linux操作系统编程》第一章 操作系统引论:了解操作系统的发展、特征、功能以及操作系统结构
52 0
|
4月前
操作系统的特征
操作系统的特征
100 2
|
6月前
操作系统----操作系统的特征
操作系统----操作系统的特征
99 0
|
6月前
|
NoSQL 容器 消息中间件
CHS_02.1.1.2+操作系统的特征
CHS_02.1.1.2+操作系统的特征
|
11月前
|
C++
【操作系统】—操作系统的四个特征
【操作系统】—操作系统的四个特征
|
存储 算法 Linux
《Linux操作系统编程》第二章 进程运行与调度: 了解进程的定义与特征、进程的状态与切换、进程管理的数据结构、进程的创建与终止、阻塞与唤醒、挂起与激活以及处理机调度的相关概念
《Linux操作系统编程》第二章 进程运行与调度: 了解进程的定义与特征、进程的状态与切换、进程管理的数据结构、进程的创建与终止、阻塞与唤醒、挂起与激活以及处理机调度的相关概念
260 0
|
程序员 人机交互 C++
操作系统的发展和分类,概念,它的运行机制和体系结构,以及和它相关的特征,功能和目标,
操作系统的发展和分类,概念,它的运行机制和体系结构,以及和它相关的特征,功能和目标,
129 0
|
存储 调度
操作系统进程的概念、组成和特征
程序是静态的,是存放在磁盘中的一个可执行文件,是一系列指令的合集 进程是动态的,是程序的一次执行过程,同一个程序多次执行会对应多个进程
319 0
|
存储
操作系统的特征和功能、类型
操作系统的特征和功能、类型
67 0
|
存储 数据可视化 中间件
操作系统和高级编程语言时硬件抽象化及Windows操作系统的特征
操作系统和高级编程语言时硬件抽象化及Windows操作系统的特征
122 0
操作系统和高级编程语言时硬件抽象化及Windows操作系统的特征
下一篇
无影云桌面