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

建站用什么工具怎么快速建网站

建站用什么工具,怎么快速建网站,html个人主页模板,设计网站有没有版权文章目录 6.经典进程同步问题6.1 生产者-消费者问题 (既有同步又有互斥)6.2 读者-写者问题6.3 哲学家进餐问题6.4理发师问题 7. 进程之间通信7.1 共享存储区7.2 消息传递7.3 管道 8.线程8.1 线程的实现机制 9 进程调度9.1 调度方式9.2 常见算法先来先服务 FCFS短进程优先 SPN最… 文章目录 6.经典进程同步问题6.1 生产者-消费者问题 (既有同步又有互斥)6.2 读者-写者问题6.3 哲学家进餐问题6.4理发师问题 7. 进程之间通信7.1 共享存储区7.2 消息传递7.3 管道 8.线程8.1 线程的实现机制 9 进程调度9.1 调度方式9.2 常见算法先来先服务 FCFS短进程优先 SPN最高相应比优先算法时间片轮转 RR基于优先级的调度多级反馈队列 10 死锁10.1 基本概念资源分类 10.2 如何处理死锁10.2.1 死锁检测10.2.2 何时检测 6.经典进程同步问题 6.1 生产者-消费者问题 (既有同步又有互斥) 生产者往缓冲区写数据满了的话就不能写了 消费者从缓冲区取数据空的话就不能取了 一次只能有一个生产者或消费者取读数据 总结要求 1不能向满的缓存区写数据 2不能向空的缓存区取数据 3任何时刻仅允许一个1个生成者或1个消费者访问 ​ 意味着消费者之间互斥生成者之间互斥消费者和生产者之间互斥 full记录缓冲区中非空的槽数初始值0 empty记录缓冲区中空的槽数初始值N mutex确保进程不同时访问缓冲区初始值1 解决12 void producer(void){while (True) {produce(); //生产1项P(empty); //申请1个空槽P(mutex); //请求进入临界区append(); //加入缓冲区V(mutex); //离开临界区V(full); //递增非空槽} }void consumer(void){while (TRUE) {P(full); //申请1个非空槽P(mutex); //申请进入临界区remove(); //从缓冲区移出1项V(mutex); //离开临界区V(empty); //递增空槽数consume(); //消费数据} } 解决死锁问题 6.2 读者-写者问题 多个Reader进程多个Writer进程共享文件F 要求 允许多个Reader进程同时读文件 不允许任何一个Writer进程与其他进程同时访问读或写文件 我的方案 read_countN 初始值N空额的值 write_count0 void reader(void){while (True) {P(read_count)if(writer0)read();//读操作V(read_count)P(write_count)read();V(write_count)} }void writer(void){while (True) {P(write_count)write();V(write_count)} } 标答 write WriteMutex 0 读写操作的互斥访问 Rcoun 0 正在读操作的读者数目 CountMutex 0 读者计数的互斥访问 void reader(void){while (True) {P(CountMutex);if (Rcount 0)P(WriteMutex);Rcount;V(CountMutex);read;P(CountMutex);--Rcount;if (Rcount 0)V(WriteMutex);V(CountMutex);} }void writer(void){while (True) {P(WriteMutex);write;V(WriteMutex);} }6.3 哲学家进餐问题 6.4理发师问题 注意对于共享变量一定要加PV临界操作 7. 进程之间通信 P,V操作实现的是进程之间的低级通信所以P,V操作是低级通讯原语即不能传递大量的信息 所以我们引入进程间高级通讯方式 7.1 共享存储区 相互通信的进程间设有公共的内存区每个进程既可向该公共内存中写也可从公共内存中读通过这种方式实现进程间的信息交换。 把同一个物理内存区域同时映射到多个进程的内存地址空间的通信机制 7.2 消息传递 源进程发送消息目的进程接受消息。所谓消息就是一组数据。 1消息队列message Queue或消息缓冲 发送者发消息到一个消息队列中 接收者从相应的消息队列中取消息。 消息队列所占的空间从系统的公用缓冲区中申请得到。 2邮箱mailbox 发送者发消息到邮箱接收者从邮箱取消息。 邮箱是一种中间实体一般用于非实时通信。 7.3 管道 首创于Unix。用于连接一个读进程、一个写进程以实现它们之间通信的共享文件称为pipe文件。 管道分为下列2种 有名管道 无名管道 8.线程 为什么引入线程 线程是进程的条执行路径。 1个进程可以有多个线程其中至少有1个主线程primary thread。 1个进程内的多个线程在同一个地址空间内共享该进程的地址空间。 每个线程有自己的线程控制块TCBThread Control Block包含自己的堆栈和状态信息。TCB比PCB小得多。 8.1 线程的实现机制 用户级线程 ​ 由在用户空间执行的线程库来实现OS对此一无所知。  线程库提供线程创建、撤消、上下文切换、通信、调度等功能。 ​ 用户级线程是自己实现的线程创建删除 ​ 但是这样的话操作系统分配的是进程为单位的容易阻塞 ​ 但是性能高无需陷入内核 核心级线程 ​ 用户级线程是自己实现的线程创建删除 ​ 但是这样的话操作系统分配的是线程为单位的 ​ 但是性能低需要陷入内核 进程和线程是操作系统中用于实现并发执行的两个基本概念它们之间有许多重要区别包括以下几点 定义 进程Process是一个独立的执行单元拥有独立的内存空间和系统资源它代表了一个正在运行的程序的实例。每个进程都有自己的地址空间堆栈和数据段相互之间不共享这些资源。线程Thread是进程内的一个轻量级执行单元线程共享进程的地址空间和系统资源包括堆栈和文件描述符。多个线程可以在同一进程中并发执行它们之间共享相同的内存空间。 创建和销毁开销 进程的创建和销毁通常比较耗费系统资源因为每个进程都有独立的内存空间需要进行全新的资源分配和销毁。线程的创建和销毁相对较轻量因为它们共享进程的资源。创建一个线程通常比创建一个新进程要快速和经济。 通信 进程之间通信通常需要使用进程间通信Inter-Process CommunicationIPC机制例如管道、消息队列、共享内存等来传递数据和信息。线程之间通信可以更容易地实现因为它们共享相同的内存空间。线程可以通过共享变量等方式直接进行通信。 并发性和并行性 进程通常具有更高的并发性因为不同进程之间相互独立可以在不同的处理器上并行执行。多进程可以更好地利用多核处理器。线程在同一进程内并发执行它们共享进程的资源因此在多核处理器上并行执行的程度有限。但线程之间的切换比进程切换更快因为不涉及进程资源的切换。 安全性 由于线程共享进程的内存空间因此多个线程之间的错误可能更容易导致进程崩溃或数据损坏。进程之间的安全性更高因为它们拥有独立的内存空间一个进程的错误通常不会影响其他进程。 编程模型 多进程编程相对较复杂因为需要处理进程间通信和同步问题。多线程编程相对较简单因为线程之间共享数据但需要小心处理共享资源的同步问题。 9 进程调度 为什么进程调度 多个进程就绪时候OS决定先执行哪一个 我们进程调度要达到的目的 ​ CPU利用率高吞吐量大周转时间少等待时间短公平 ​ 很多时候都是在权衡很多时候很难兼顾所有的目的 什么时候会切换进程呢 ​ 硬件中断进程异常或者该进程请求IO这些都会让CPU闲下来我们就要给CPU找活干了 一些概念 周转时间 作业完成时刻 - 作业到达时刻带权周转时间 周转时间 / 服务时间平均周转时间 作业周转总时间 / 作业个数平均带权周转时间 带权周转总时间 / 作业个数 9.1 调度方式 非抢占方式 ​ 一旦某进程被调度直到完成或因某事件而阻塞才会切换到其他进程 抢占方式 ​ 允许暂停正在运行的进程切换到其他进程 抢占原则 ​ 时间片原则时间片到时抢占 ​ 优先级原则优先级高者到时抢占 9.2 常见算法 先来先服务 FCFS 按照进程就绪的先后次序来调度进程非抢占式方式 优点实现简单 缺点: 1平均等待时间波动很大 短进程、长进程到达时间是随机的 2有利于CPU繁忙型进程不利于I/O繁忙型进程 3有利于长进程不利于短进程 短进程优先 SPN 最高相应比优先算法 时间片轮转 RR 将所有的就绪进程按FCFS原则排成一个队列 规定一个时间片为进程每次使用CPU的最长时间 每次选择队首进程运行 当时间片到时剥夺该进程的运行将其排在队尾 基于优先级的调度 多级反馈队列 10 死锁 10.1 基本概念 死锁 一个进程集合中的每个进程都在等待只能由该集合中的其它进程才能引发的事件这种状态称作死锁。一组竞争系统资源的进程由于相互等待而出现“永久”阻塞。 例如2个进程A、B都需要资源R1、R2 若A拥有R1申请R2 若B拥有R2申请R1 如何 资源分类 可重用资源 资源不能被删除且在任何时刻只能有一个进程使用 进程释放资源后其他进程可重用 消耗资源 10.2 如何处理死锁 由OS处理 ​ 检测死锁并恢复 ​ 分配资源时避免死锁 ​ 假装没看见鸵鸟策略多数OS对待死锁的策略 ​ 死锁了怎么办开机重启 由应用程序本身预防死锁 ​ 实际中检测死锁恢复是可能的但是代价太大 10.2.1 死锁检测 E[M]总资源数E[i]资源i的个数 A[M]当前可用资源数A[i]资源i的可用数 C[N][M]当前分配矩阵C[i][j]进程i对资源j的占有数 ​ 第i行是进程i当前占有的资源数 R[N][M]申请矩阵R[i][j]进程i对资源j的申请数 ​ 第i行是进程i申请的资源数 F[N]进程标记F[i]取0/1为1表示进程i能够执行 算法 ​ 看当前是否有进程可以执行可以执行的话该进程F[N]设置为1同时释放他的资源 ​ 依次进行 ​ 两种情况 ​ 一 所有进程都可以执行则不死锁 ​ 二存在某一种情况所有的进程都无法执行则死锁 10.2.2 何时检测 1每当有资源请求时 2周期性检测 3每当CPU的使用率降到某一阈值时。 死锁检测会占用大量的CPU时间
http://www.dnsts.com.cn/news/183638.html

相关文章:

  • 专门下载工程建设标准的网站网站建设公司的小程序选择什么
  • windows和linux做网站程序开发培训
  • 网站建设框架图域名有免费的吗
  • 安卓app定制常用的seo查询工具
  • 南昌网站设计哪个最好hao123主页怎么删除
  • 免费做会计试题网站vps租用
  • 企业网站傻瓜搭建众创空间那个网站做的好
  • 个人网站开发视频适用的深圳网站定制开发
  • 西湖区建设局网站wordpress page 自定义
  • 玩具网站规划说明书购物网站网页制作与设计课程设计报告
  • php开源网站管理系统网站认证是什么意思
  • 做网站的企业有哪些小程序app备案
  • 外贸人常用的网站重庆市建设工程信息服务平台
  • 美橙互联网站模板怎么做多个网站单点登录
  • 怎么做网站音乐网站建设项目运营岗
  • c 怎么和网站做交互wordpress logo制作
  • 全国门户网站有哪些深圳网站建设网站制作公司
  • 开发网站现实网络传输失败wordpress ftp用户名
  • 网站后台演示织梦网站 数据库
  • 个人免费网站开发中国建设银行网站能查流水吗
  • 绍兴网站建设方案推广遵义北京网站建设
  • 新建一个网站需要多少钱网站如何推广出去
  • 熊撑号怎么做网站推广个人网站备案名和运营
  • 外贸网站运营推广广州皮具网站建设
  • 专业建站公司设计方案域名 做网站和邮箱
  • 怎样建设论坛网站php网站后台上传不了图片
  • 网站栏目建立网站 wordpress
  • 淘宝 做网站空间 条件北京哪里有教怎么做网站的
  • 柯桥区建设局网站四川德阳做网站和app
  • 天津做网站.都找津坤科技推介网