当前位置: 首页 > news >正文

网站开发的技术可行性app开发注意事项

网站开发的技术可行性,app开发注意事项,信息技术教案 建设我们的网站,wordpress 缩短网址所有学嵌入式Linux系统的看过来了#xff0c;以下内容是每一位想学习Linux嵌入式系统想要了解的内容#xff0c;真的很想要分享给大家#xff01;本文分享的内容主要如下几个方面#xff1a;3.1 并发的原理3.1.1 一个简单的例子3.1.2 竞争条件3.1.3 操作系统关注的问题3.1.…所有学嵌入式Linux系统的看过来了以下内容是每一位想学习Linux嵌入式系统想要了解的内容真的很想要分享给大家本文分享的内容主要如下几个方面3.1 并发的原理3.1.1 一个简单的例子3.1.2 竞争条件3.1.3 操作系统关注的问题3.1.4 进程的交互3.1.5 互斥的要求3.2 信号量原理3.2.1 互斥3.3 生产者消费者问题3.4 读者-写者问题3.3.1 读进程具有优先权3.3.2 写进程具有优先权本章首先介绍并发的概念和多个并发进程的执行。我们发现支持并发进程的基本需求是加强互斥的能力。也就是说当一个进程被授予互斥的能力时那么在其活动期间它具有排斥所有其他进程的能。本章通过两个经典的并发问题来说明并发的概念并对本书中使用的各种方法进行比较。在本章开始将介绍一个可运行的例子——生产者/消费者问题读者-写者问题。3.1 并发的原理在单处理器多道程序设计系统中进程被交替执行表现出一种并发执行的外部特征。即使不能实现真正的并行处理并且即使在进程间来回切换需要一定的开销交替执行在处理效率和程序构造上还是带来了重要的好处。在单处理器的情况下问题源于多道程序设计系统的一个基本特性进程的相对执行速度不可预测它取决于其他进程的活动、操作系统处理中断的方式以及操作系统的调度策略。这就带来了下列困难 全局资源的共享充满了危险。例如如果两个进程都使用同一个全局变量并且都对该变量执行读写操作那么不同的读写执行顺序是非常关键的。关于这个问题的例子将在下一小节中给出。 操作系统很难对分配资源进行最优化的管理。例如进程 A 可能请求使用一个特定的 I/O 通道并获得控制权但它在使用这个通道前被挂起了操作系统仍然锁定这个通道以防止其他进程使用这是难以令人满意的。此外这还会导致死锁。 定位程序设计错误是非常困难的。这是因为结果通常是不确定的和不可再现的。上述所有困难在多处理器系统中都有具体的表现因为在这样的系统中进程执行的相对速度也是不可预测的。一个多处理器系统还必须处理多个进程同时执行所引发的问题从根本上来说这些问题和单处理器系统中的是相同的。这些问题随着讨论的深入将逐渐明了。3.1.1 一个简单的例子考虑下面的过程为理解如何解决与执行速度无关的问题我们首先需要考虑进程间的交互方式。3.1.4 进程的交互1 、进程中的资源争用当并发进程竞争使用同一个资源时它们互相之间会发生冲突。我们可以把这种情况简单描述如下两个或更多的进程在它们的执行过程中需要访问一个资源每个进程并不知道其他进程的存在并且每个进程也不受其他进程的执行的影响。每个进程都不影响它所使用的资源的状态这类资源包括 I/O 设备、存储器、处理器时间和时钟。竞争进程间没有任何信息交换但是一个进程的执行可能会影响到竞争进程的行为。特别是如果两个进程都期望访问同一个资源操作系统把这个资源分配给一个进程另一个就必须等待。因此被拒绝访问的进程速度就会变慢。一种极端情况是被阻塞的进程永远不能访问这个资源因此一直不能成功地终止。竞争进程面临三个控制问题。首先是互斥的要求。假设两个或更多的进程需要访问一个不可共享的资源如打印机。在执行过程中每个进程都给该 I/O 设备发命令接收状态信息发送数据和接收数据。我们把这类资源称为临界资源使用临界资源的那一部分代码称为程序的临界区。一次只允许有一个程序在临界区中这一点是非常重要的。由于不清楚详细要求我们不能仅仅依靠操作系统来理解和增强这个限制。例如在打印机的例子中我们希望任何一个进程在打印整个文件时都拥有打印机的控制权否则在打印结果中就会穿插着来自竞争资源的打印内容。实施互斥产生了两个额外的控制问题。一个是 死锁。例如考虑两个进程 Pl 和 P2以及两个资源 Rl和 R2假设每个进程为执行部分功能都需要访问这两个资源那么就有可能出现下列情况操作系统把 Rl分配给 P2把 R2 分配给 Pl每个进程都在等待另一个资源并且在获得其他资源并完成需要这两个资源的功能之前谁都不会释放自己已经拥有的资源。这样这两个进程就发生了死锁。另一个控制问题是 饥饿。假设有三个进程(P1、P2 和 P3)每个进程都周期性地访问资源 R。考虑这种情况Pl 拥有资源P2 和 P3 都被延迟等待这个资源。当 Pl 退出临界区时P2 和 P3 都允许访问 R。假设操作系统把访问权授予 P3并且在 P3 完成临界区之前 PI 又需要访问该临界区如果在 P3 结束后操作系统又把访问权授予 Pl并且接下来把访问权轮流授予 Pl 和 P3那么即使没有死锁P2 也可能无限期地被拒绝访问资源。由于操作系统负责分配资源竞争的控制不可避免地涉及到操作系统。此外进程自身需要能够以某种方式表达互斥的要求如在使用资源前锁定资源但任何一种解决方案都涉及到操作系统的某些支持如提供锁机制。图 32 用抽象术语给出了互斥机制。假设有 n 个进程并发执行每个进程包括(1)在某些资源 Ra 上操作的临界区(2)不涉及访问资源 Ra 的额外代码。因为所有的进程都需要访问同一资源 Ra因此保证在同一时刻只有一个进程在临界区是很重要的。为实现互斥需要两个函数entercritical 和exitcritical。每个函数的参数都是竞争使用的资源名如果另外一个进程在临界区中那么任何试图进入关于同一个资源的临界区的讲程都必须等待。本章总结现代操作系统的中心方案是多道程序设计、多处理和分布式处理这些方案的基础以及操作系统设计技术的基础是并发。当多个进程并发执行时不论是在多处理器系统的情况下还是在单处理器多道程序系统中都会产生解决冲突和合作的问题。并发进程可以按多种方式进行交互。互相之间不知道对方的进程可能需要竞争使用资源如处理器时间或对 IO 设备的访问。进程间由于共享访问一个公共对象如主存中的一块空间或一个文件可能间接知道对方这类交互中产生的重要问题是互斥和死锁。互斥是指对一组并发进程一次只有一个进程能够访问一个给定的资源或执行一个给定的功能。互斥技术可以用于解决诸如资源争用之类的冲突还可以用于进程间的同步使得它们可以合作。后一种情况的一个例子是生产者消费者模型一个进程往缓冲区中放数据另一个或更多的进程从缓冲区中取数据。支持互斥的第二种方法涉及到使用专门的机器指令这种方法减少了开销但由于使用了忙等待因而仍然是低效的。支持互斥的另一种方法是在操作系统中提供功能其中最常见的两种技术是信号量和消息机制。信号量用于在进程间发信号并可以很容易地用于实施一个互斥规定。消息对实施互斥是很有用的它还为进程间的通信提供了一种有效的方法。死锁是指一组争用系统资源或互相通信的进程被阻塞的现象。阻塞是永久的除非操作系统采取某些非常的行动如杀死一个或多个进程或者强迫一个或多个进程沿原路返回。死锁可能涉及到可重用资源或可消费资源。可重用资源是指不会因为使用而被耗尽或毁灭的资源,如 I/O 通道或存储器区域。可消费资源是指当被一个进程获得时就毁灭了的资源这类资源的例子有消息和 I/O 缓冲区中的信息。处理死锁通常有三种方法预防、检测和避免。死锁预防通过确保死锁的一个必要条件不会满足保证不会发生死锁。本章没有对检测和避免进行深入讨论。
http://www.zqtcl.cn/news/812143/

相关文章:

  • 子目录网站wordpress无中断音乐插件
  • 网站开发算是研发支出吗淘宝客网站建设的策略
  • 如果在工商局网站上做股权质押刷推广链接的网站
  • 保定建站公司模板wordpress 华为云
  • 好的网页设计网站推荐开发定制软件公司
  • 深圳做网站设计多媒体网站开发
  • 什么是网站组件高端网站设计高端网站制作
  • 网易网站建设深圳专业营销网站制作
  • 有口碑的佛山网站建设东莞网约车资格证官网登录入口
  • 网站建设合同 保密条款wordpress网站手机端
  • 汕头建站费用wordpress转cms
  • 全美网站开发PHP 网站开发 重点知识
  • 电商网站建设重要性一个公司可以做几个网站吗
  • 婚恋网站系统淘宝联盟推广做网站违法
  • 双鸭山网站建设公司百度电脑版官网下载
  • 网站开发项目名html欧美网站模板
  • 成都哪里有做网站的雪樱wordpress主题
  • 深圳建站模板公司微商管理系统
  • 贸易建设网站网页美工设计图片
  • 网站建设尺寸规范国外h5网站模板下载
  • 怎么区分网站的好坏软件定制化开发的知识产权归属
  • 网站建设客户需求分析调研表网站建设企业网站
  • 建设网站要注意什么问题临沂网站建设团队
  • 怎么做网站和注册域名互联网行业的工作岗位
  • 北京做网站优化多少钱网站反链和外链的区别
  • 厦门网站推广找谁wordpress的模板目录在哪里
  • 做网站的维护成本wordpress 密码更改
  • 企业网站建设流程概述长春网站推广排名
  • 网站导航设计牙科 网站建设方案
  • 手机微信网站开发教程企业网站的制作成本