并发编程

概念: 

 什么是程序?什么是进程?

     程序就是一堆文件

     进程就是一个正在运行的过程/程序,进程是一个抽象的概念,这个概念起源于操作系统

  

  什么是操作系统?
    操作系统是位于计算机硬件与应用软件之间,用于协调、管理、控制计算机硬件与软件的资源的一种控制程序

  

操作系统的两大作用:
    1.把复杂的硬件操作都封装成接口,提供给应用程序使用
    2.管理、调度进程,把进程对硬件的竞争变得有序

  

多道技术:(多路复用+硬件支持的进程内存隔离)
  多道的产生背景是想要在单个cpu的情况下实现多个进程并发执行的效果

  多到技术的实现是为了解决多个程序竞争或者共享同一个cpu的有序调度问题,解决方式就是多路复用

  

  多路复用:   

    空间上的复用(多道程序复用内存的空间)

      将内存分为几部分,每个部分放入一个程序,这样同一时间内存中就有了多道程序

程序之间的内存必须分割,这种分割需要在硬件层面实现,由操作系统控制。
如果内存彼此不分割,则一个程序就可以访问另外一个程序的内存:
    首先丧失安全性,程序可以访问操作系统的内存,可以拿到操作系统的权限
    其次丧失的是稳定性,某个程序崩溃的时候有可能把其他程序的内存也给回收了
空间复用的问题

    时间上的复用(多道程序复用CPU时间)

      当一个程序在等待 I/O 时,另一个程序可以使用cpu

      时间复用的体现:

        cpu遇到IO操作要切换(提升运行效率)
        一个进程占用cpu时间过长也要切换(降低了效率,保证了并发的效果)

    

    进程和进程之间的内存空间是互相隔离的:必须是硬件层面的隔离

分时操作系统:多个联机终端 ++++ 多道技术

猜你喜欢

转载自www.cnblogs.com/guodengjian/p/8919838.html