实例介绍
操作系统常见面试题及答案,校园招聘操作系统相关
设备( block):d表示日录( directory):|表示链接文件(link) 后面第一个三个连续的短横是用户权限位(User),第二个三个连续短横是组权限位( Group), 第三个三个连续短横是其他权限位( Other)。每个权很位有三个权限,r(读权限),w(写 杈限).ⅹ(执行权限)。如果每个杈限位都有权限存在,那么满权限的情况就是:- rwxrwXI,x: 权限为空的情况就是--- 权限的设定可以用 chmod命令,其格式位: chomod ugo+/= rwx filename/ directory。例如: 个文件a具有完全空的权限---以下命令: chmod u+rwaa(给用户权限位设置读写权限,其权限表示为:-rw chmod g+ra(给组设置权限为可读,其权限表示为 chmod ugo+rWaa(给用户,组,其它用广或组设置权限为读写,权限衣示为:-rW-rW-rw) 如果aa只有满权限- rwX rwxrwx,以下命令为: chmod u-x aaa(去掉用户可执行权限,权限表示为:-rw- rwxrwx) 如果要给aa赋予制定权限-rWxr-x「x,命令为: chmod u=rwx, go=rx aaa 12 UNX显示文件夹中文件名的命令是什么?能使文件内容显示在屏幕的命令是什 么? Is cat type tail 13 makefile文件的作用是什么? 个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中, makefile 定义了·系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重 新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个She脚本一样,其中乜 可以执行操作系统的命令。 makefile带来的好处就是“自动化编译”,一旦写好,只需 要一个make命令,整个工程完全自动编译,极大的提高了软件廾发的效率。make是一个 命令工具,是一个解释 makefile中指令的命令T具,一般来说,大多数的|DE都有这个命 令,比如: Delphi的make,ⅥsuaC++的 nmake, Linux下GNU的make。可见, makefile 都成为了一种在工程方面的编译方法。 14 简术oo的物理层 Layer1,链路层 Layer2,网络层 Layer3的任务 网络层:资料传送的目的地寻址,再选择出传送资料的最佳路线; 链路层:负责网络上资料封包如何传送的方式; 物理层:在设备与传输媒介之间建立及终止连接。参与通讯过程使得资源可以在共享的 多用户中有效分配,对信号进行调制或转换使得用户设备中的数字信号定义能与信道上实际 传送的数字信号相匹配。 15 cPU在上电后,进入操作系统的man之前必须做什么? 加电后,会触发CPU的 reset信号,导致CPU复位,然后CPU会跳到arm下0×0000000×86 下ofo.行指令。主要是倣¢PU初始化,确定CPU的工作模式,mmu初始化。建立页 表段表,初始化中孤单控制器和中断向量表,初始化输入和输岀,初始化 nandflash,把OS 的TEXT区加载到 sdram,然后跳转到 sdram的man( 16 什么是中断?中断时cPU做什么工作? 中断是指在计算机执行期间,系统内发牛仟何非寻常的或非预期的急需处理事件,使得 CPU暂时中断当前正在执行的程序而转士执行相应的事件处理程序。待处理完毕后又返回原 来被中断处继续执行或调度新的进程执行的过程 17.存储过程是什么?有什么用?有什么优点? 存储过程( Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存 储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执 行它。存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个 单元处理。存储过程存储在数据库内,可由应用程序通过个调用执行,而且允许用户声明 变量、有条件执行以及其它强大的编程功能。存储过程在创建时即在服务器上进行编译,所 以执行起来比单个SQL语句快。 存储过程的优点:(1)存储过程只在创造时进行编译,以后每次执行存储过程都不需 再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行 速度;(2)当对数据库进行复杂操作时(如对多个衣进行 Update, Insert, Query, Delete时), 可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用:(3)存储过 程可以重复使用,可减少数据库开发人员的工作量;(4)安全性高,可设定只有某此用户才 具有对指定存储过程的使用权 冇储过稈的缺点:(1)如果更改范闱大到需要对输入存储过稈的参数进行更改,或者 要更改由其返回的数据,则悠仍需要更新程序集中的代码以添加参数、更新 Getvalue(调 用,等等,这时候佔计比较繁琐∫。(2)可栘植性差。由于存储过程将应用程序绑定到SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性 18 你知道操作系统的内容分为几块吗?什么叫做虚拟内存?他和主存的关系如何? 内存管理属于操作系统的内容吗? 操作系统的主要组成部分:进程和线程的管理,存储管理,设备管理,文件管理 虚拟内存是一些系统贝文件,存放在磁盘上,每个系统贝文件大小也为4K,物理内存也被 分页,每个页大小也为4K,这样虚拟页文件和物理内存页就可以对应,实际上虚拟内存就 是用于物理内存的临时存放的磁盘空间。页文件就是内存页,物理内中每页叫物理页,磁 盘上的页文件叫虚拟页,物理页+虚拟页就是系统所以使用的页文件的总和。属于。 19 进程是一个比较重要的概念,那么进程有哪几种状态吗? 基木状态有3种,即 ready(就绪) running(运行),wait(等待) 0.OS中如何实现物理地址到逻辑地址的转换? CPU要利用其段式内存管理单元,先将逻辑地址转换成个线程地址,再利用其页式内 存管理单元,转换为最终物理地址。 21 堆和栈的区别? 栈区,由编译器自动分配释放,存放函数的参薮值,局部变量的值等。其操作方式类似 于数据结构中的栈。堆:一般由稈序员分配释放,若稈序员不释放,程序结束时可能由OS 回收。注意它与数据结构中的堆是两回事,分配方式是类似于链茯。可能用到的关键字如 neW、 malloc、 delete、free等等 22. 线程是否具有相同的堆栈?d是否有独立的堆栈? 每个线程有自的堆栈。 DLL中有没有独立的堆栈,这个问题不好回答,或者说这个问题本身是否有问题。因为 儿L中的代码是被某些线程所执行,只有线程拥有堆栈,如果DLL中的代码是EXE中的线程 所调用,那么这个时候是不是说这个DLL没有自己独立的堆栈?如果DLL中的代码是由DLL 自己创建的线程所执行,那么是不是说DLL有独立的堆栈? 以上讲的是堆栈,如果对于堆来说,每个DL有自己的堆,所以如果是从DL中动态分 配的内存,最好是从DLL中删除,如果你从DLL中分配内存,然后在EXE中,或者另外一个 DLL中删除,很有可能导致程序崩溃 23 网络编程中设计并发服务器,使用“多进程”与“多线程”,请问有什么区别? 进程:子进程是父进程的复制品。子进程获得父进程薮据空间、堆和栈的复制品 线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他 线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。 两者都可以提高程序的并发度,提高程序运行效率和响应时间。 线程和进程在使用上各有优缺点:线程执行丌销小,但不利于资源管理和保护;而进 桯正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。 24.解释一下分页式管理. 用户程序的地址空间被划分成若十固定大小的区域,称为“页”’相应地,内存空间分 成若干个物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现了 离散分配。 25.解释一下P操作与操作 卩就是请求资源,Ⅴ就是释放资源 26 什么是缓冲区溢出?有什么危害?其原因是什么? 缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢的数 据覆盖在合法数据上, 危害:在当前恻络与分布式系统安全中,被广泛利用的50%以上都是缓冲区溢出,其中 最著名的例子是1988年利用 fingerd漏洞的蠕虫。而缓冲区溢出中,最为危险的是堆栈溢出, 因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其眺转到任意地址, 带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如 得到she,然后为所欲为。通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出, 从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。 造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数 什么是死锁?其条件是什么?怎样避免死锁? 死锁的概念:在两个或多个并发进稈中,如果每个进程持有某种资源而又都等待别的进 程释放它们现在保持着的资源,否则就不能向前推进。此时,每个进程都占用了一定的资源 但是又不能向前推进,称这一组进程产生了死锁。通俗的讲,就是两个或多个进程无止境 的等候着永远不会成立的条件的一种系统状态。 死锁产生的原因主要是:(1)系统资源不足;(2)进程运行推进的顺序不合适;(3)资 源分配不当。 生死锁的必要条件:(1)互斥( mutual exclusion),一个资源每次只能被一个进程使 用;(2)占有且等待( hold and wait),一个进程因请求资源而阻塞时,对凵获得的资源保持 不放;(3)不可抢占( no preemption),进稈已获得的资源,在未使用完之前,不能强行剥 夺;(4)环形等待( circular wait),石进程之间形成种首尾相接的循环等待资源关系。 这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之 不满足,就不会发生死锁。 死锁的解除与预防:理解了死锁的原因,尤其是产生死锁的四个必要条件,就可以最大 可能地避免、预防和解除死锁。所以,在系统设计、进稈调度等方面注意如何不讣这四个 必要条件成立,如何确定资源的合理分配算法,避免进程永久占据系统资源。此外,也要 防止程在处于等待状态的情况下占用资源。因此,对资源的分配要给予合理的规划。 死锁的处理策略:鸵鸟策略、预防策略、避免策略、检测与解除死锁 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论