前言1引言11.1什么是操作系统?31.1.1所有延长机器的作业系统41.1.2作为一个资源管理器的作业系统61.2操作系统的历史71.2.1第一代(1945年至1955年)真空管71.2.2第二代(1955年至1965年)晶体管和批处理系统81.2.3第三代(1965年至1980年)的集成电路101.24第四代(1980年至今)个人电脑151.3计算机硬件检查19l.3.1处理器191.3.2内存231.3.3磁盘261.3.4胶带271.3.5I/O设备27(I/O即输入输出)1.3.6总线3013.7启动计算机331.4操作系统动物园331.4.1大型机操作系统341.4.2服务器操作系统341.4.3多处理器的操作系统341.4.4个人电脑操作系统351.4.5掌上电脑操作系统351.4.6嵌入式操作系统.351.4.7传感器节点的操作系统361.4.8实时操作系统361.4.9智能卡操作系统371.5操作系统的概念371.5.1流程381.5.2地址空间401.5.3文件401.5.4输入/输出431.5.5保护441.5.6壳牌441.5.7系统发育个体发育重演461.6系统调用491.6.1流程管理系统调用521.6.2文件管理系统调用561.6.3目录管理系统调用571.6.4杂项系统调用581.6.5在Windows的Win32API591.7操作系统结构621.7.1单片系统621.7.2分层系统631.7.3微内核641.7.4客户-服务器模型671.7.5虚拟机671.7.6出的内核711.8根据C的WORLD721.8.1C语言721.8.2头文件731.8.3大的编程项目741.8.4运行时模型751.9操作系统上的研究761.10本书的其余部分的概要771.11公制单位781.12概要792进程和线程2.1工序832.1.1过程模型842.1.2进程创建862.1.3进程终止882.1.4流程层次结构892.1.5进程国家902.1.6实施流程912.1.7多多建模的建模932.2螺纹952.2.1线程使用情况952.2.2古典的线程模型1002.2.3POSIX线程1042.2.4在用户空间中实现的线程1062.2.5在内核中实现的线程1092.2.6混合实现1102.2.7调度激活1112.2.8弹出式线程1122.2.9使单线程代码中使用多线程技术1142.3进程间通信1172.3.1静态条件1172.3.2关键区域1192.3.3忙等待的互斥1202.3.4睡眠和唤醒1252.3.5信号灯1282.3.6互斥1302.3.7显示器1342.3.8消息传递1402.3.9壁垒1442.4调度1452.4.1调度1452.4.2批处理系统的调度1522.4.3调度互动系统1542.4.4调度实时系统1602.4.5政策与机制1612.4.6线程调度1622.5经典的IPC问题1632.5.1哲学家就餐问题1642.5.2读者和作者的问题1672.6进程和线程的研究1682.7概要169习题95  第3章存储管理99  3.1无存储器抽象99  3.2一种存储器抽象:地址空间101  3.2.1地址空间的概念101  3.2.2交换技术103  3.2.3空闲内存管理104  3.3虚拟内存106  3.3.1分页107  3.3.2页表108  3.3.3加速分页过程109  3.3.4针对大内存的页表111  3.4页面置换算法113  3.4.1最优页面置换算法114  3.4.2最近未使用页面置换算法114  3.4.3先进先出页面置换算法115  3.4.4第二次机会页面置换算法115  3.4.5时钟页面置换算法116  3.4.6最近最少使用页面置换算法116  3.4.7用软件模拟lru117  3.4.8工作集
2025/2/26 1:24:41 84.5MB 操作系统
1
哲学家进餐问题是一个多线程运用的经典例子,涉及到线程同步/互斥,临界区访问问题以及一个避免死锁的解决方法。



2024/12/31 15:08:23 6KB java
1
C语言解决哲学家就餐问题
2024/11/16 22:27:26 2KB C语言 哲学家就餐
1
JudeaPearl是一名美国计算机科学家和哲学家,以倡导人工智能的概率方法和贝叶斯网络的发展而闻名。
他还因为建立了基于结构模型的因果和反事实推理的理论。
他是ACM图灵奖的2011年度获奖者,这是计算机科学中的最高荣誉,“通过发展概率和因果推理的微积分对人工智能做出了重大贡献”。
2024/10/13 10:03:43 8.98MB Judea Pearl 贝叶斯网络 人工智能
1
五子棋毕业设计论文,VC实现,采用了极大极小搜索人工智能(ArtificialIntelligence)英文缩写为AI。
人工智能从诞生发展到今天经历了一条漫长的路,许多科研人员为此而不懈努力。
人工智能的开始可以追溯到电子学出现以前。
像布尔和其他一些哲学家和数学家建立的理论原则后来成为人工智能逻辑学的基础。
而人工智能真正引起研究者的兴趣则是1943年计算机发明以后的事。
技术的发展最终使得人们可以仿真人类的智能行为,至少看起来不太遥远。
接下来的四十年里,尽管碰到许多阻碍,人工智能仍然从最初只有十几个研究者成长到现在数以千计的工程师和专家在研究;
从一开始只有一些下棋
2024/9/21 4:11:09 640KB 五子棋 论文 博弈树
1
问题:哲学家就餐问题可以这样表述,假设有六位哲学家围坐在一张圆形餐桌旁,做以下两件事情之一:吃饭,或者思考。
吃东西的时候,他们就停止思考,思考的时候也停止吃东西。
餐桌中间有一大碗意大利面,每两个哲学家之间有一只筷子。
因为用一只筷子很难吃到意大利面,所以假设哲学家必须用两只筷子吃东西。
他们只能使用自己左右手边的那两只筷子。
解决方式:采用互斥量来解决该问题,每互斥量代表一只筷子。
哲学家必须等待身边两只筷子同时可以使用的时候才可以进餐,当使用一会之后,需要自动释放该互斥量(筷子),其他哲学家就可以进行抢占使用。
2024/6/9 8:44:09 37KB .net c# 多线程 互斥体
1
实验一进程同步互斥——不死锁的哲学家问题  (1)输入的形式和输入值的范围;
  由于这个是一个按钮实现监控,界面提供视图的程序,所以并不需要别的附加的输入,只需要点击相应的按钮即可。
按钮有开始、暂停、结束(退出)。
实验只需要按动开始键,即可以直观形象地看到哲学家吃面条问题在随机时间下的解决情况,方便用户查看。
  输出的形式;
  输出的形式,是以可视化界面的形式,哲学家和筷子的状态以图片的形式显示出来,可以看到是饥饿还是进餐或思考状态。
而提示输出是以String的形式显示在界面右下角的位置的。
方便用户更客观的查看进程的运行情况。
  程序所能达到的功能;
  该程序能解决经典的哲学家吃面条问题的问题,即死锁问题。
在此题中,筷子是一个共享的但是要互斥使用的临界资源,当前筷子是否被占用,其他哲学家的状态,都是需要进行交互的,于是涉及同步互斥的问题。
该程序能解决死锁问题及将哲学家的状态用可视化的界面显示出来,所以比较客观的让我们理解了这个问题的实现。
1
哲学家该项目侧重于对进程进行线程化的基础知识以及如何在相同的内存空间上工作。
您将学习如何创建线程,并发现互斥量,信号量和共享内存。
项目要求许多哲学家坐在圆桌旁,做着以下三件事之一:eating,thinking或sleeping。
哲学家坐在圆桌旁,中间放着一大碗意大利面。
桌子上有一些叉子。
由于通心粉很难用一个叉子来食用和吃,所以假设哲学家mustphilo_eatwithtwoforks一个。
哲学家决不能挨饿。
每个哲学家都需要philo_eat。
哲学家不互相讲话。
哲学家不知道另一位哲学家何时会死。
每次哲学家吃完饭,他都会掉下叉子开始睡觉。
哲学家睡觉后,他会开始思考。
当哲学家去世时,模拟停止。
2024/3/23 1:54:12 159KB Makefile
1
开发环境linux,有完整可用代码,makefile,运行截图等
2023/11/19 16:33:08 38KB 哲学家 就餐 操作系统 多线程
1
哲学家用餐问题C#实现,源码可以运行,多线程互斥操作
2023/11/4 20:02:46 17KB 哲学家用餐问题
1
共 29 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡