并发编程实现的基础

Posted lyj910313

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并发编程实现的基础相关的知识,希望对你有一定的参考价值。

# 多道程序系统 原理,缺点

#允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种硬、软件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。

# 多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。

# 时间复用,空间复用

# 空间上的多路复用: 将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。

# 空间上的复用最大的问题是:程序之间的内存必须分割,这种分割需要在硬件层面实现,由操作系统控制。如果内存彼此不分割,则一个程序可以访问另外一个程序的内存,

# 首先丧失的是安全性,比如你的qq程序可以访问操作系统的内存,这意味着你的qq可以拿到操作系统的所有权限。

# 其次丧失的是稳定性,某个程序崩溃时有可能把别的程序的内存也给回收了,比方说把操作系统的内存给回收了,则操作系统崩溃。

# 时间上的多路复用: 当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%

# 操作系统采用了多道技术后,可以控制进程的切换,或者说进程之间去争抢cpu的执行权限。这种切换不仅会在一个进程遇到io时进行,一个进程占用cpu时间过长也会切换,或者说被操作系统夺走cpu的执行权限

# 什么是操作系统?

# 操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。

# 操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成

# posix是IEEE提出的一个unix标准,(可移植的操作系统接口Portable Operating System Interface)

# 操作系统的功能?

# 隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口)。应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。

# 将应用程序对硬件资源的竞态请求变得有序化

# 操作系统的作用?

# 作用一:为应用程序提供如何使用硬件资源的抽象。例如:操作系统提供了文件这个抽象概念,对文件的操作就是对磁盘的操作,有了文件我们无需再去考虑关于磁盘的读写控制

# 作用二:管理硬件资源。操作系统的任务是在相互竞争的程序之间有序地控制对处理器、存储器以及其他I/O接口设备的分配。

 

以上是关于并发编程实现的基础的主要内容,如果未能解决你的问题,请参考以下文章

python并发编程基础

并发编程实现的基础

Python之路--Python基础12--并发编程之协程

[Java并发编程之美]第2章 并发编程的其他基础知识 补充知识

Erlang 并发编程基础之一

并发编程的基础