操作系统原理课堂记录.doc

上传人:asd****56 文档编号:83452454 上传时间:2023-03-31 格式:DOC 页数:27 大小:143KB
返回 下载 相关 举报
操作系统原理课堂记录.doc_第1页
第1页 / 共27页
操作系统原理课堂记录.doc_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《操作系统原理课堂记录.doc》由会员分享,可在线阅读,更多相关《操作系统原理课堂记录.doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、操作系统原理1、改革:时间提前实验改革,课时:(72/64+8)48+16内容:原理/Linux2、大的背景统考:数据结构/操作系统/计算机网络/组成原理/编译原理3、双语4、内容(考研大纲)前六章(第七章)明确的几个问题为什么要学习操作系统?怎么学?什么是操作系统?从两个不同的角度来考察:系统:用户:设计的目标是什么?历史发展过程中曾经出现过典型代表以及他们所解决和未能解决的问题Open:开放源代码(开源软件)/版权软件操作系统革命折衷:性能,经济性,硬件限制,使用条件层次结构Queue简单的批处理能否真正提高效率?一个作业只要进入系统开始运行,必须做完才能调度下一个作业。某个作业可能需要大

2、量的访问存储器瓶颈:存储器的速度和CPU速度越拉越大因此提出新的“多道批处理”处理机(CPU)调度:公平,效率存储管理:存储器的分配,保护,回收,重定位(逻辑地址,相对地址),物理地址计算机病毒的雏形WORM设备管理:通道多道批处理效率提高了,但是存在缺点:缺少交互性,平时周转时间比较长分时系统(时分多路复用)平均响应时间减少(十个作业,每个时间片20ms)引入了换入换出,所以对需要调整的作业,可以暂时中止其执行,将其换出内存进行修改,增加了交互性OS/2,MacOS推动操作系统发展的动力是什么?硬件的发展用户的需求并行系统/计算程序设计(软件工程)耦合度面向对象的程序设计/降低耦合度/封装A

3、-B面向对象(Java):设计模式银河,曙光巨型机Wintel联盟寻找外星人C/S:QQ,MSN,对于客户始终是在向服务器发送请求P2P:PPS,Web迅雷B/S:Web Service:论坛,教务管理系统实时系统:导弹飞行控制嵌入式操作系统(硬件小型化,微型化的需要)Windows CE/GPS导航仪手机:Windows Moblie/Nokia赛班/LinuxARM处理器及其编程MicrosoftIBM PC-DOSMS-DOSCP/MMac OSMID/E-PC8in/10in1 特性a) 并发:在一段时间间隔内,多个任务同时进行b) 并行:在同一时刻,多个任务同时进行2 功能3 设计结

4、构Java/多线程并发程序设计中,进程始终在变化,是一个动态的概念。程序的每一次执行,当输入数据不同时,输出结果可能也不同进程就是程序的一次执行,进程是资源分配与调度的单位,可以并发的。线程是一个更小的单位,只是作为CPU调度的单位,而不作为资源分配的单位。一个进程可以包含多个线程,线程可以共享进程的资源。任何一台计算机都是虚拟机。用的是计算机硬件吗?用的是操作系统以及操作系统之上其他软件。多进程/多线程可以合作完成一项任务。存储器是分层次寄存器-Cache高速缓存-内存-磁盘-光盘-磁带垃圾收集机制:实时控制程序现代计算机最大的瓶颈是I/O设备与CPU速度不相匹配的问题CPU与内存速度不匹配

5、用户与操作系统的接口:1、图形用户界面GUI2、字符命令方式:Linux3、系统调用:提供给程序员的对计算机资源进行控制的编程接口,以函数库的形式提供。第三次课:传统程序不能满足需要,问题解决:进程Process单处理机系统(硬件发展):多核处理器A,B,C窗口2:00,南京(C/Server)20-1,20-1,20-1张五个哲学家,围坐在一张桌子边,放着一盘面条,左、右手各有一根筷子。Thinking,eat.每个哲学家占有了一根筷子,再去申请另外一根。进程有不同的优先级,当有一个优先级更高的进程进入就绪队列,而调度算法采用的是剥夺式(抢占式)调度策略时,当前进程会进入就绪状态让出CPU给

6、优先权更高的进程使用。就绪状态:当一个进程获得了除CPU(处理机)之外的所有其他需要的资源时。卡耐基梅隆大学通信的命令:www.unix-第四周:进程同步必须对并发的进程进行控制:异步/不可再现性吃香蕉:进程的推进是“走走停停”,不可预知的顺序逻辑错误软件测试:软件测试只能证明程序有错,不能证明程序无错。数学证明:程序设计方法学(霍尔,何积丰)可信计算进程的运行状态:目标态/管态用户态/核心态User Mode/Kernel Mode忙等待(busy-waiting)Peterson方法(忙等待)优先级反转问题MinixLinux荷兰,数据结构(信号量,int类型的变量) P/VWait/si

7、gnalDown/up信号量的物理含义:表示当前可用的资源数目,如果该值为0,表示可用的资源正好分配完毕,如果该值为负数,则表示有若干进程因为申请该资源没有得到满足而被阻塞,被阻塞的进程数目等于该值的绝对值。生产者-消费者:BUFFER-SIZE:10Semaphore size =10;Wait(size) Mutex:一般作为一个互斥信号量的名字出现;互斥信号量一般初值为1Semaphore s1,s2,s3=0,0,0;运动员1:听枪响;跑100米;V(S1);运动员2:P(S1);跑100米V(S2);运动员3:P(S2)跑100米V(S3)运动员4:P(S3)跑100米C/S能不能用

8、在单机环境中?能客户机/服务器:不是一个硬件读者写者问题:多个读者可以同时读,写者不能同时写,读和写不同时进行1) 读者优先:当有一个读者在读时,其他读者可以直接进入临界区进行读操作。写者进程必须等待到没有读者读时才能进入。需要什么信号量?需要一个互斥信号量来控制写者进程。write需要一个互斥信号量控制对读者数目的统计count+/-变量?mutex2) 写者优先:当有写者要写入数据时,当前正在读的进程可以读完,但其他想要读的进程需要等待写者完成写操作之后再读。生产者/消费者:同步(控制进程推进的顺序)哲学家就餐问题:并发的问题(预防/避免死锁)竞争筷子引起的三种方法:1、最多只能有4个人参

9、与竞争2、规定奇数号先拿左边,偶数号的先拿右边3、仅当两根筷子都能用时才能拿。(信号量集的机制)死锁的引发根本原因是?资源不足PASCAL语言Semaphore plate =1,bana=0,oran=0;ParbeginProcess fatherBeginRepeat剥桔子Wait(plate)放到盘子中Signal(oran)Until falseEndProcess motherBeginRepeat剥香蕉Wait(plate)放到盘子中Signal(bana)Until falseEndProcess sonRepeatWait(oran)拿桔子Singal(plate)吃EndP

10、rocess daughterRepeatWait(bana)拿香蕉Singal(plate)吃EndParend系统调用是操作系统提供的供程序员编程使用的接口。程序员可以使用这些函数实现对计算机软硬件资源的控制。MFC API函数 圆形的窗口Fork()Kill()时间片轮转:保存现场信息(上下文切换)分时系统来说,时间片越小越好第六周:1、进程:2、进程的同步:信号量(低级的通信机制),管程3、进程的通信:多个进程交换信息信号量机制实现通信在编程实现、维护时比较复杂,容易出错。汇编语言/机器语言效率低4、线程同步/异步(同时)QQ/发邮件全局变量与模块化当前的操作系统,进程在网络环境下进行

11、消息传递时一般通过指定端口进行65536个端口/1024以下80号端口黑客Messager信使Endpoint to endpointPoint to point冲击波病毒:RPCJava:语言/虚拟机:环境为什么要线程:进程太heavy/light process(轻量级进程,线程)C/S模式:胖客户端/瘦客户端用户级线程在用户级进行创建与管理。内核仍然是进程为单位。对于一个包含了多个线程的进程来说,进程中的任意一个线程被阻塞,都意味着整个进程被阻塞,因为内核是以进程为单位的AA1,A2,A3P1 = Fork()进程数目Java线程不是Java语言提供的,由Java虚拟机提供的,不是操作系

12、统提供的。Java的优点:跨平台(虚拟机)语言与操作系统之间的关联由Java虚拟机来做.net:中间语言继承:接口桌子上有两个盘子,爸爸削苹果,儿子吃。试用信号量描述上述问题。信号量的物理含义:值表示有多少个资源可以用。Semaphore plate = 2,apple =0Father:削苹果Wait(plate)放Signal(apple)Son:Wait(apple)拿出来Signal(plate)吃生产者/消费者读者/写者理发师问题抽烟者问题第七周:第三章 处理机调度与死锁学习课本时注意:调度算法不仅适用于处理机(进程调度),也适用于其他场合的调度,某一种调度算法适用于哪种场合。高级调

13、度:将外存中的作业调入内存,并分配相关资源给作业,使其进入就绪状态。高级调度需要考虑的问题:哪些作业应该调入内存?批处理系统:吞吐量,充分利用资源,将CPU密集型的作业与I/O密集型的作业综合考虑相对的时间较长分时系统低级调度(进程调度):从就绪队列中挑选进程使其获得CPU处于运行状态。相对执行的频繁,且时间很短,一般以毫秒为单位采用什么样的调度算法?批处理系统:SJF,短作业优先的调度分时系统:时间片轮转实时系统:优先权调度进行进程切换时需要考虑上下文切换开销,2ms时间片:2s中级调度:将作业在内存与外存之间进行换入/换出的操作。由存储器的层次结构所决定的王大牛,在数字电路实验上发明了一种

14、新型的存储器,该存储器的速度等同于寄存器,价格与同质量的馒头等价,且不挥发。问该存储器的发明,对操作系统的设计有什么影响?周转时间:等待时间+运行时间,不能准确的描述作业得到响应的情况平均周转时间:多个作业平均的周转时间带权周转时间:周转时间/运行时间平均带权周转时间:SJF Small Job First:吞吐量比较大/饥饿FIFO(FCFS):设计,数据结构队列,设计简单,效率高优先权调度:响应比,实时系统/重新计算响应比UNIX时间片轮转:多级反馈队列调度算法:多种类型:嵌入式系统/Windows信号量集:一次申请所有需要的资源,只有当所有资源都能够满足要求时,才分配,否则不分配哲学家问

15、题:规定一个资源申请或分配的顺序。先申请打印机,得到打印机才能申请扫描仪到了无法再向前推进前才称为处于死锁状态。可能引发死锁的不安全状态打印机:A/B:WORD/EXCEL使用合适的调度/进程推进顺序避免死锁在进程申请资源之后,操作系统进行资源分配之前,首先根据一定的算法看是否能够分配,如果分配之后各进程仍有一个能够执行结束的序列,则称处于安全状态,可以分配。否则,进行不安全状态,不可以分配。怎么样判断一个状态是否安全状态安全状态一定是没有死锁发生的。而不安全状态一定会导致死锁,但不安全状态不等于死锁状态安全状态下如果采用了不合适的推进顺序,也有可能进入不安全状态。银行家:10000,三个企业

16、家,建工厂,6000,4000,8000个人信用记录:7000安全序列可能是不唯一的银行家算法:1、 Request,Need比较,看是否超过需求数量2、 Request,Available比较,看是否超过可用数量3、 尝试分配资源,修改Work,Need,Allocation,系统进行一个新的状态,4、 判断新状态是否安全(安全性算法)。Work =AvaiableFishish = falseWhile (fishishi=false and NeedWork)Printf(“fjsfksdjk %d”,i);操作系统不同:UNIX:时间片轮转纯LinuxWindows:VM:提供一种调度

17、?第九周课:翻译在线翻译能力/态度1什么是死锁?死锁与不安全状态2死锁产生的原因/以及必要条件3解决死锁问题:4避免死锁:银行家算法数据结构:Available/Allocation/Need/Max/Work/Fishish1) Request Need(恶意申请)。转2)2) RequestAvailable 转3),否则,阻塞(wait)3) 尝试将资源分配给申请者,Need减少,Allocation增加,Available减少4) 进行安全性检查,当前状态是否安全?能找到安全序列,可以分配;不能找到,取消刚才的尝试分配。处理机管理:进程/线程;同步/互斥;调度,死锁存储管理:文件管理设

18、备管理CPU:每秒种运算:十亿次以上运算需要数据:寄存器跟CPU完全匹配Cache:大概是寄存器速度的1/23MB/4MB内存:大概是CPU速度的1/10 ns硬盘:ms 大概是内存速度的1/1000价格,挥发性程序的执行存在局部性原理。1) 前面使用过的变量/模块(函数),在不久的将来有很大可能性再次使用。For (I =1 ,I 100,I+)a) Fsdjfksjdfsdlkfb) Fjsdkfjsdklfjsdc) fjsdkfjsd2) 对于一个大的程序来说,并不是一次执行需要其中的全部数据和程序。游戏Cache命中率:80%以上的命率程序员的理想:容量无限大,速度无限制,不挥发。地

19、址:存储器中的每个存储单元给一个唯一编号。C+,Int I逻辑地址空间,假设我们的存储空间是连续的,无限的。物理地址空间,地址转换:由逻辑地址转换为真实的物理地址。.dll:动态链接库文件连续的固定分区分配可以实现多进程共享内存空间,但是一个分区只供一个进程使用,且大小固定:内零头(内碎片)动态分区分配:分区大小可变经过多次的分配与释放,会出现外零头(外碎片)紧凑:在可重定位动态分区分配策略中。当系统中存在大量的外碎片,但不能满足进程的内存申请时,可以将碎片移动到一起集中起来。这种策略称为内存的紧凑,需要重定位寄存器(硬件)的支持。需要花费大量的CPU时间,不到万不得已,一般不做。第十周:1

20、存储器层次结构以及给操作系统带来的影响。2 程序员/机器两个角度:逻辑地址/物理地址,地址转换问题,地址重定位3 连续存储空间分配方式:一个程序(进程)在分配内存时,总是占用连续的存储空间。a) 固定分区:分区大小相等,分区大小不等。内零头(内碎片)b) 动态分区/可变:分区大小可以根据程序的情况进行调整。当多次分配/回收内存之后,会出现大量小的不可用的(不连续)存储空间(外零头)空闲分区,表中结点的顺序如何确定?重定位系统1) 没有顺序2) 按大小(从大到小/从小到大)1. 最佳适配(从小到大):在空闲分区中找最适合的大小,分配给进程使用。外零头比较小,是优点也是缺点。2. 最差适配(从大到

21、小):在空闲分区中找最大的空闲分区,将进程装入其中。避免了小的零头,但缺少大的空闲分区。3) 按地址(从低地址到高地址):1. 首次适应法找第一个满足条件的空闲分区,将进程放入该地址空间,并修改数据结构。低地址空间有大量的小的零头,而高地址空间有较大的空闲存储区。查找的效率会降低。2. 循环首次适应法。在首次适应的基础上,下一次查找空闲分区时,在上一次查找结束的位置继续进行而不是从头开始。空闲分区分布均匀,有可能会出现缺少大的空闲分区。快速适应算法:按空闲分区大小组成不同的单链表设主存的分配情况如下图所示。当有一个进程需申请45KB的存储区时,若采用最佳适应法,则所分到的分区首地址为( )。(

22、北京理工,2005)回收内存时的四种情况:(注意不同的内存分配算法所采用的空闲分区的排列顺序不同,要注意新结点的位置)两种情况修改现有结点一种情况删除一个结点,修改一个结点增加一个结点伙伴系统:Linux动态重定位需要硬件的支持:重定位寄存器:应用程序(进程)的起始地址;逻辑地址空间一般是从0开始(方便程序员)动态分区分配需要重定位机制的支持。内存空间总是有限的。但应用程序的大小相对来说是无限的。应用程序的大小有可能大于实际内存空间。如何将一个大作业装入小内存?(在逻辑上扩充内存)覆盖:由程序员控制自己程序的编写,将程序划分为互不干扰的不同程序段,这些程序段共享一段内存空间。对程序员的要求极高

23、。交换/对换:将暂时不用的进程(处于阻塞状态,在就绪队列中优先级较低的进程)暂时的调出内存,放入外存。借助于外存来暂时存放一些作业(进程)。基于存储器的分层结构这一前提。4 离散的分区分配方式(链式):页式存储管理a) 与大小相等的固定分区分配方式有相似的地方。将内存空间划分为大小相等的连续若干页(页面/页框/页帧),512B16KBb) 可以使用多个不连续的页帧来存储一个大的应用程序。c) 页表:用户程序的逻辑地址所需要的页号与实际物理地址的页号的对应关系。采用了分页存储管理方案之后,每个进程都会有自己独立的页表。如果逻辑地址空间由256页组成,每一页的长度为2048B,则二进制的逻辑地址有

24、 19 位? 256*2KB=512KB画出页式存储管理地址转换机制图,并进行下面的计算设页式存储器管理中,页表的内容如下表,若页的大小为4KB,则地址转换机构将逻辑地址12293转成物理地址 ?北京理工大学,2005逻辑地址:页号/页内偏移 122881)页号=INT(逻辑地址/页大小)=32)页内偏移=逻辑地址 MOD 页大小 5 3500-3072=4283)通过页表找到页号3对应的物理块号(8)。74)物理块号8的起始地址为7*1K=7K+42832773页号块号0215263843511引入页表带来的问题:1 页表放在内存中,需要占用存储空间。占用多大?a) 设一个32位的地址空间,

25、划分为页,页大小为4KB。可以有220页(1M,大约100万),页表中的页表项就有100万,每个页表项需要占用4个字节,所有单个页表需要占用4MB连续的内存空间。每个进程都需要自己的独立的页表,假设有20个进程在内存中,共需要占用80MB内存空间。b) 要访问一个地址,需要首先访问页表,根据页表计算实际物理地址,再到相应地址去访问数据。因此访问数据需要两次访问内存。如果不做处理,则实际数据访问时间增加了一倍。c) 管理的角度,数据,程序在页面中可能没有相关性。多花费了一倍的时间来换取存储空间的不连续分配。如何解决?第十一周:TLB:高速缓冲寄存器(Cache),速度比内存快的多(5倍)。容量(

26、SRAM):20100分之一或更小工作原理:当需要进行地址转换时,不是直接到内存中找页表,而是先到高速缓存中找,如果能找到,则送MMU(内存管理单元)进行地址转换。找不到,仍然需要再到内存中找相关页表项,找到后送MMU进行转换,同时将相关页表项装入TLB,如果TLB已经满了,则需要采用相关策略将某些页表项调出。TLB命中率。386:32位地址空间Pentium IV64位/42位 4TB分页:将地址空间分为大小相等的连续的存储空间。(固定分区分配方案)/页表(逻辑页面号,物理页块号)。不能避免固定分区分配中的内零头(内碎片)。分页存储:将数据分页的依据是什么? 64KB/4KB:只是为了解决物

27、理存储空间的管理问题。每一段都是一个连续的存储空间。其中存储的都是逻辑上相关的代码或数据。进程:主函数,调用了一些子函数,数据二维地址空间段式存储管理的地址转换;1)根据段号和段内偏移计算是否出现越界中断?2)根据段号到段表中查找得到所在段的起始地址3)段的起始地址+段内偏移量得到物理地址。分页分段一维地址空间二维页是信息的物理单位段是信息的逻辑单位页内信息在逻辑上可能不完整段内信息在逻辑上是完整的页的大小固定段的大小可变,可以由用户指定不方便适于动态链接和共享,便于存储保护存在内零头存在外零头,需要紧凑分配和对换以页为单位分配和对换以段为单位一百个用户同时登录UNIX服务器,都使用VI编辑器

28、编辑C程序。(120KB)共享的代码段必须是可重入代码:代码在执行的过程中不会发生任何修改。软件复用(reuse)存储保护:由于分页存储是按照方便信息管理的目的进行分页的,因此页内的信息(页和页之间的信息)的逻辑性不能保证。给存储保护带来了问题。 6K(占据3个页面)main(),2Ksub() 4K段的保护是很方便的,因此每一段都是在逻辑上相对固定且独立的功能模块。能否将两种方式结合起来?现代操作系统,Windows,UNIX,Linux都采用了段页式的存储管理。组成原理存储管理分配方案:分区存储管理:固定分区大小/可变分区大小分页:固定分区大小(内碎片)分段:可变分区大小(外碎片)段页式:

29、需要访问几次内存才能得到真实的数据?首先根据段号取得段表中的页信息;然后根据页的信息计算得到页号和页内偏移。送MMU进行计算得到真实的物理地址。最后根据计算得到的地址访问数据。花费三倍的时间代价来解决存储管理问题。前述各种分配方案都要求一次性将程序或数据的所有内容装入内存。内存是重要的资源,是有限的。内存有限的,大作业装入小内存?游戏:地图 2MB,100张按需调页(段)?没有调入的数据(程序)放在哪里?虚拟存储方案:类似于前面所讲的交换技术交换技术是以进程为单位进行的。虚拟存储方案以页或段为单位,按需调用存储器分层:Cache,内存,硬盘,光盘?价格,性能数据结构:1)是否在内存?2)如果在

30、内存,是否被修改过?组成原理:Cache访问:写回时机?软件:当要把某一个页面调入内存时,如果内存已满,则需要将某些页面调出内存。该选择什么样的页面进行调度?(调度策略)一次性调入多次性:对换性:可以在内存和外存之间实现页面的对换。Pagefile虚拟性:虚拟存储管理方案从逻辑上扩充了主存空间,买内存条。如果有足够的内存,是否需要虚拟存储管理?硬盘的访问速度很慢。10倍以上第十二周:请求分页存储管理及页面调度策略Cache:写回对分页系统来说:页面大一点好:程序需要的页面数较少,页表较小。页内碎片?小:碎片少,页表项多一个进程需要8个页面,给8个页面1 硬件支持:a) 页表数据结构b) 缺页中

31、断c) 地址变换机构2 分配策略:a) 固定分配,局部置换:每个进程分配固定的物理块。8页/3页,只能从分配给该进程的物理块中进行置换。(策略)b) 可变分配,全局置换:先给每个进程分配一定的物理块数,然后将空闲块由操作系统组织。8/3页,如果出现缺页,则操作系统选择一个空闲页分配给该进程。c) 可变分配,局部置换:3 何时调入,:a) 预调页:在调入页面前,估计可能会用到的页面,将他们提前调入。(准确预测)并发:顺序性,可再现性。50%b) 按需调用:需要某一页时,再将他调入内存。c) 结合:第一次装入内存时采用预调页,以后按需调页:8页/3页,4 如何调入:a) 从何处调入b) 如何调入,

32、步骤:i. 判断页是否在内存中。不在则转2ii. 产生缺页中断,交中断处理程序,转3iii. 查找页表,找该页面在外存中的位置iv. 判断内存是否已满(分配给该进程的页块是否已被全部占用),如果否,则直接装入,如果是,转5v. 选择合适的调度策略,将现在内存中的某一页调出。需要考虑调出的页面是否已被修改过,如果是,则需要写回硬盘,如否,则将新的页直接覆盖即可。对于交换区的管理和普通文件的管理方式不同。交换区中数据存储是连续的:1MB文件存储可以放在不连续的扇区中:1MB硬盘的访问时间:旋转延迟时间(5ms)+寻道时间(5ms)+数据访问时间(0.01ms/扇区)48小节的前提,假设了一个模拟的

33、虚拟调页系统。我们已知进程对于页面的请求顺序。最佳置换算法:(往后看,找最远使用的或者以后再也不出现的)理论上是最优的。但是不可能实现,因为我们不可能知道页面的准确的访问顺序。可以用来衡量其他算法的优劣。可以看到前面曾经使用过的页面(往前看)LRU算法:需要硬件的支持:寄存器/栈寄存器移位:时间?可能是一个时钟周期,也可能是多个。对于一个进程,是否分配的物理页块越多,缺页中断率就越小?FIFO:当某一种特殊情况下,分配的物理页块越多,缺页中断率反而会提高。这种现象称为Belady异常。实现简单第二次机会页面置换算法(second chance):在FIFO基础上的一种改进。将要置换时,除了考虑

34、先后顺序外,多考查一个因素,即最近是否被访问过。如果访问位为1,则将该结点放到队列的最后,并修改访问位为0,同时修改进入时间。替换时总是挑选访问位为0的,且进入时间较早的页面进行替换。将新的页面放入队列时,需要置访问位为1。CLOCK算法就是一种二次机会算法,只不过是具体实现时的方法不同,使用循环队列,减少插入删除节点次数。改进的CLOCK算法:除了访问位A之外,再多考虑一下该页面是否被修改过(M位 0/1) A位 M位0 00 11 01 1FIFO/LRU/最佳/CLOCK第十三周 1 第四章 存储管理:共享段的访问:1) 判断是否有其他进程共享该段?如果是第一个,转2,如果不是,转32)

35、 Count=13) Count+读者-写者问题(读者优先)低优先级的程序向高优先级的程序发送调用请求,由高优先级的程序根据需要给予响应。Client/Server(服务器)C/S模式能否在单机环境下实现?第五章:不是最重要的,但是相当的复杂:设备的类型太多了。速度差异,工作方式,管理方式计算机体系结构:五大部件:经典的冯.诺依曼体系结构。现代计算机体系结构:1) 由集中控制到分散控制。最早的计算机所有设备的控制都是由CPU完成的由控制器对不同设备进行控制。2) 存储器内/外3) CPU通信总线硬件的每一个设备都需要占用一段内存地址。4GB内存/3.2GB32位 4GB引入了控制器之后,CPU

36、只需要发送一条指令,后继操作由控制器完成。中断数组多路通道相当于在通道程序中引入多道程序设计。前端总线:FSB CPU和内存交换数据总线 DDR2 1033I/O总线AGPPCI-E:显卡PCI总线:声卡,网卡:集成到主板的芯片组忙等待:CPU的时间被大量浪费,CPU的利用率非常低。缓冲区(FIFO)设备SPOOLing和虚拟设备的概念的区别。是操作系统虚拟性的体现。实现将独占设备改造为共享设备。假脱机:预输入/缓输出温盘:BT下载工具伤硬盘?磁头和盘片不接触震动:固态硬盘/U盘512B/0.01ms磁盘访问时间?移臂算法:操纵磁头,使得经过的磁道数最经济SSTF可能存在的问题(短作业优先:饥

37、饿)磁臂粘着:程序局部性,可能需要反复访问某一段数据。其他较远的磁道的访问就无法得到响应。SCAN:电梯调度算法CSCAN算法,在访问数据时,磁头只能向一个方向运动。清江商场硬盘自带的高速缓存的容量 16MB/8MBDirty位/脏位1TB/250GB:四块 0/1/2。7卡:两块硬盘:(提高速度,提高安全性)镜像/备份Patterson:RISC/CISC:CPU制造/复杂指令集系统A/B:放数据/C:校验电话号码:051783525035姓+名数据项对应一个对象的某种属性记录对应现实生活中的一个对象抽象/建模面向对象的程序设计:哲学角度结构化程序设计:计算机的程序员认识世界,抽象以用计算机

38、来处理现实世界中问题的一种方法论相关的记录组合在一起,产生文件。流式文件。Chmod:软件,程序:更改文件属性。Touch:建立文件,修改文件的访问时间命令接口图形用户接口 GUI系统调用:提供给程序员编程使用的一种接口61 文件及文件系统1、 文件的组成与分类2、 文件系统分层62文件的逻辑结构优点:顺序文件与磁带结合,常用来做大量数据的备份。缺点:数据访问必须顺序进行,因此进行查找/修改/删除都存在较大的时间开销。(定长顺序文件),可以随机访问第N条记录。事务(日志文件)文件:原子操作,原子对象银行业务处理:ATM机1) 插卡并输入密码。2) 输入取款额3) 判断取款额是否合法?如果合法,则从卡中余额减去取款额4) 吐钞审计功能索引文件需要用到索引表:主键(唯一的表示一条记录的数据项或数据项的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁