面试准备计算机系统基础_第1页
面试准备计算机系统基础_第2页
面试准备计算机系统基础_第3页
面试准备计算机系统基础_第4页
面试准备计算机系统基础_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

某种方式组织起来一般是把同一状态下的所有进程的PCB在一起的数据结构成为进程队列,运行队列、就绪队列、等待队列。有三种队列组织方式:Linux进程链表:Linux中有双向循环链表、进程可运行队列链表、散列表和等待队当处理器处于态时,CPU运行可行软件,硬件允许执行全部机器指令,可以所当处理器处于用户态时,CPU运行非可信软件,程序无法执行指令,且仅限于当前CPU所在进程的地址空间,防止内核收到应用程序的。如果处理中断,可设置中断 1.暂停当前进程的执行,2.把处理器切换至内核态,3.内核获得处理器控制权 进程切换只会发生在修改被中断进程的PCB把被中断的进程的PCB修改被选中的进程PCBLinuxClone方式。允许定义父子进程所共享的内容,如果不定义内容共享,与forkLinux进程&0作,结果使处理器运行模式由态切换至用户态,内核线程演变成用户进程init(pid为1Linux6 IOCPU繁忙型作业最短作业优先算法。非式,缺点是必须先要知道作业所需要的CPU运行时间Linux2.6如果一个进程集合中的每一个进程都在等待只能由此集合中的其他进程才能的事不条件:对于占用资源的进程,已被占用的资源只能由属主释放,不允许被其它进程的资源,造成这组进程等待破坏条件1,使资源可同时而不是互斥使用,对于可重入程序、只读文件都有效,但是对于读写文件等资源只能互斥占有,为力n个进程,m个资源,riim个资源是:ri(1≤i≤m)rj(j<i)。不难证明,按这种 ①一次最多让一个进程在临界区中执行,当有进程在临界区中时,其他想进入临界区执任何一个进入临界区执行的进程必须在有限的时间内退出临界区,即任何一个进程都不不能强迫一个进程无限地等待进入它的临界区,即有进程退出临界区时应让下一个等待Linux管道之前,通过inode节点上的特征位—读写互斥标识来保证的;read阻塞,读进程睡眠,直到写进程唤醒它信号量(PV操作PV对其进行操作。P操作代表检测等待,Vsendreceive。(mutexLinuxLinuxLinuxchange_bit等等。LinuxLinux :pthead_mutex_***Spinlock(自旋锁:ptread_spin_***:thread_con_***:threa_rwloc_***信号量/intintpthread_cond_wait(pthread_cond_t*restrictpthread_mutex_t*restrictConditionVariableMutex搭配使用的。一个线程可以调用pthread_cond_wait在一个ConditionVariable上阻塞等待,这个函数做以下三步操pthread_cond_signalConditionVariable上等待的另pthread_cond_broadcast唤醒在这个ConditionVariable上pthread_cond_signal后要立刻释放互斥锁,因为pthread_cond_wait的最后一步是要将指定的互斥量重新锁住,如果pthread_cond_signal之后没有释放互斥锁,pthread_cond_wait仍然要阻塞。每种问题都要会用PV固定分区管可变分区管常用的可变分区分配算法5种:2^i的原先的空闲块。使用情况,空闲链表用来做主存中尚未使用的主存块。一个数组记录空闲块它包含m+1个列表头 [i]将所有尺寸为2^i的空闲块用双向指针在一起。系统需要分配单位大小为n的主存时,先查找满足n<=2^i的最小空闲块尺寸分页和分段管分页管理允许程序存放到若干不相邻的空闲块中(这是和连续的区别页表:页面→分段管理把进程的逻辑地址空间分为多段,每段包含:段号和段内偏移。虚拟管上为用户提供一个比物理主存容量大的多的、可寻址的“主器”。LinuxLinux数据接口文件,sockets,第一个属性为[s],最常在/var/run这 符号文件,通过ln-s命令创建Linuxlinuxlinux在传统的逻辑文件系统的基础上增加了一个虚拟文件系统(VitualFileSystem,VFS)的接口层。虚拟文件系统(VFS)位于文件系统的最上层,管理各种逻辑文件系统,并可以各种Linuxblockinode表所占的盘块数、文件数据所占盘块数、主存中登记的空闲盘块block,2#~k#inodeinodeinodeblck(k+1)#~n#inodeinodeUNIX操作系统中的一种数据结构,它包含了与文件系统中各个文件相关的一些重要信息。在UNIX中创建文件系统时,同时将会创建大量的inode。通常,文件系统磁盘空间中大约百分之一空间分配给了inode表。inode中包含有关文件的所有信息(除了文件的实际名称以及实际数据内容之外),具inodestatC文件的数属主的IDinode(inumber)。这两个术语非常inodeinodeinodeinode表包含一份,其中列出了对应文件系统的所有inode编号。当用户搜索或者一个文件时,UNIX系统通过inode表查找正确的inode编号。在找到inode编号之后,相关令才可以该inode,并对其进行适当的更改。Linuxinode,然后沿着指针,UNIX中,本身就是文件,只是在它们的inode知系统该文件实际上是一个。linux服务器,磁盘空间还剩余很多,但是却报磁盘空间不足,为什么?TCPIPIPIPTCP连接;32bit当建立接时,SYN标志变1,序号字段包含由这个主机选择的该连接的初始序号ISNISN1SYN要消耗一个序号1ACK1时确认序号字段TCP6 SYN同步序号用来发起 32166TCP的状态机的;问题:TCP首部有一个首部长度,UDPTCP有可选择的字段TCPISN1SYNSYN占用一个序号SYN时,它为连接选择一个初始序号。ISN随时间ISN。FIN将占用一个序号。ACK1。TCP选项:MSSSYNTCPMSS选项通告对端它的最大分节大小,也就是它TCP分节中愿意接受的最大数据量。TCPTCPTCPIP的信息单位称为报TCPTCP连接另一端的数据,它将发送一个确认,这个确认不是立即发送,40ms(delayack机制)TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目地是检测数据在传输TCPTCP可能对收到的数据进行重新排序,将收到的数另外,TCP对字节流的内容不做任何解释,TCP不知道传输的数据字节流是二进数据,还是Unix内核来说,它无法区分一个二进制文件与一个文本文件。补充:TCP在处理交互数据流(InctiveDataFlowBulkDataFlow,即成块数据流,典型的交互数据流如net、rlogin等)DelayedAckNagle算法来的情况。nagle算延迟这个数据段的发送,等待,直到有足够的数据填充成一个完整数delayacknagleUDPIP层的数据发送出去,但是不保证它们能到达目的HTTP web4URLURLWebURLWeb页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在DNS服务器上启动一个DNS查询。这能使浏览器获得请求对应的IP地址。浏览器与Web服务器通过TCP三次握手协商来建立一个TCP/IP连接。该握手包括一个同步报文,一个同步-应答报文和一个应答报文,这三个报文在浏览器和服务器之一旦TCP/IP连接建立,浏览器会通过该连接向服务器发送HTTP的GET请求。HTTP200HTTP响应状态表示一此时,Web服务器提供资源服务,客户端开始资源HTMLDOMTreeCSSCSSRuleTree,而javascript又可以根据DOMAPI操作DOMb-tree索引、hash索引、r-tree索引和全文索full-text索引:mysql中只有MyISAM引擎支持。目前也只是支持char、varchartext字段。全文索引的原理主要是分词和倒排索引。Myisam里的分词只支持英过优化,b+tree都是带有顺序指针,方便范围查找r-tree操作索引来排序;Hash索引在任何时候都不能避免表扫描。ACID数据库事务四个特性,ACIDAtomic(原子性、Consistency(一致性、Isolation(隔离性)Durability(持久性)的英文缩写。系统,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。务的性。数据库事务的级在数据库操作中,为了有效保证并发数据的正确性,事务级别。我们的 都是该级别(不重复读)可重复读(RepeatedRead):可重复读。在同一个事务内的查询都是事务开始时刻一例子:下面后面三种等级对应的并发问题。假设有两个事务。事务1执行查询1,2211再执行一次。查询基于以下表idname 可重复读(幻读,phantomSelect操作的时候没有获取范围锁(RangeLock),导致其他事务仍然可以插 /*Query1*/SELECT*FROMusersWHEREageBETWEEN10AND/*Query2INSERTINTOusersVALUES(3,'Bob',27);/*Query1*/SELECT*FROMusersWHEREageBETWEEN10ANDtransaction1对同一个查询语句(Query1)读已提交(不可重复读,Non-repeatableSelect操作的时候没有加读锁(readlock)。 /*Query1SELECT*FROMusersWHEREid=/*Query1SELECT*FROMusersWHEREid=

/*Query2UPDATEusersSETage=21WHEREid=1;在这个例子当中,Transaction2提交成功,所以Transaction1第二次将获取一个不同的age值.在SERIALIZABLE和REPEATABLEREAD级别中,数据库应该返回同一个值。而在READCOMMITTED和READ MITTED级别中数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论