复习操作系统

1没有安装操作系统的计算机启动过程和结果?
启动会比较快,但功能很局限,无法使用常见的软件应用,对于普通用户来说,功能很局限,对于专业工程师来说,想使用没有操作系统的计算机也有难度。启动后进入 BIOS

2虚拟机软件(例如VMware,VirtualPC等)能不能理解为操作系统
虚拟机本身运行在一个操作系统上,但对虚拟机上运行的程序来说,它是一个OS。

A现代操作系统会不会因为内存太小,而让应用程序无法启动运行或让系统崩溃?
操作系统的内存管理能使较大的应用程序在内存小的情况下运行

A在多道批处理中尝试不断增加程序的数量,系统的效率会不会持续增加?结果会如何?
不会,计算机效率达到峰值时,继续增加程序数量,系统会崩溃

A分时技术的时间片设置太大或太小,应该根据哪些因素来考虑?是尽量大好还是尽量小好?
时间片小,每次运行时间短,但是等待时间短;时间片大,每次运行时间长,但是等待时间也长;根据分时操作系统的特点:多路调制性、独占性、互交性分析,时间片应尽量小;就绪队列中进程的数目,系统对响应时间的要求,系统的处理能力。

A你认为国产操作系统能否成功?影响成功的因素有哪些?
能,但对目前而言成功的概率可能有点小。对于现在国内如果发布新的操作系统在技术,组织管理,还有资金,有多少厂家能够共同撑起,等因素;国家政策支持;然后国产操作系统势必会照顾国内用户体验,因此会更受民众支持;技术层次也在一直进步
A操作系统的微内核结构的优点对我们设计大规模的应用程序有什么启示?
(1)提高了系统的可扩展性 
(2)增强了系统的可靠性 
(3)可移植性强 
(4)提供了对分布式系统的支持 
(5)融入了面向对象技术

A用户态向内核态转有多种情形(用户请求OS提供服务、发生中断、用户进程产生错误、用户态企图执行特权指令),但是本质上就是一种情形,即通过中断的形式进入。如何理解这句话?
系统在运行时由用户态转到内核态的最主要的三种方式包括1.系统调用2.异常3. 外围设备的中断    而其中系统调用可以认为是用户进程主动发起的,异常和外围设备中断则是被动的。 从触发方式上看,可以认为存在前述3种不同的类型,但是从最终实际完成由用户态到内核态的切换操作上来说,涉及的关键步骤是完全一致的,没有任何区别,都相当于执行了一个中断响应的过程,因为系统调用实际上最终是中断机制实现的,而异常和中断的处理机制基本上也是一致的,所以即是用户态向内核态转有多种情形,本质上就是一种情形,即通过中断。

ACPU收到外部中断信号后,是如何响应该外部信号,完成中断服务程序后,并最后自动回到原程序继续运行的?这个过程中硬件,软件会做哪些工作?
识别中断源
保护断点和现场
装入 中断服务程序地址CS:ip
进入中断服务程序
恢复断点和现场
中断返回

A操作系统的初始引导过程涉及哪些程序模块,各自存放的介质是什么,存放的形式是什么?
BIOS 它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,介质是电路程序固件,存放形式是硬件,MBR MBR为存储设备的第一个扇区,也就是该存储设备的最前面的512字节 介质是硬盘,存放形式是字节数据。
A make menuconfig的作用什么?它产生的最终结果是什么?或者说它输出什么?它是编译命令吗?
make menuconfig作用是配置Linux内核。它产生的最终结果是在源码主文目录中出现一个配置Linux内核的图形界面。它不是编译命令,是基于文本选项的配置界面

A比较DOS、Windows7与Linux早期版本都有哪些典型的操作界面?操作界面对普通用户(办公或娱乐)选择操作系统有何影响?
Windows:图形用户界面和系统功能调用 Linux:键盘命令与系统功能调用 命令行模式、用户图形界面,更人性化的操作界面,会使用户使用起来更加方便

A如何理解Shell与内核之间的交互?
不能,Shell就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。它是一个桥梁,用户和内核之间建立的友谊,都是通过这个桥梁完成的,也就是我们想让内核帮我们做一些事情,首先需要将用户的指令去传递给shell,翻译成内核可以理解的一些信息,从而让内核为我们服务。

A printf,open都是Linux中典型的隐式系统调用。当我们在“为Linux内核增加新的系统调用实验”中增加一个新的系统调用后,我们在应用程序中是如何调用的它们的?为何我们不能像printf,open等函数一样简单地调用?
printf, open等函数都是linux种典型的隐式系统调用,类似API函数,通常在高级语言中使用,在编译时隐式系统调用会转化为显式的系统调用,
因此可以在系统中直接调用。而在Linux中新增一个系统调用,则需要先在核态中写入一个函数,
再将函数的日寇地址加入系统调用函数入口地址列表中,然后为其设置一个中断号,并存放对应地址。
当在应用程序中调用时,函数先在用户态执行,遇到INT 80H指令时,到system_call中找到相应的子函数入口地址,再到核心态中调用该系统函数

A进程具有异步性。异步,即每个程序不考虑其它程序的运行进度,按自己的逻辑往前运行。那么,异步性这个特点,好不好呢?是进程的优点还是缺点呢?
优点是:
1、异步流程可以立即给调用方返回初步的结果。
2、异步流程可以延迟给调用方最终的结果数据,在此期间可以做更多额外的工作,例如结果记录等等。
3、异步流程在执行的过程中,可以释放占用的线程等资源,避免阻塞,等到结果产生再重新获取线程处理。
4、异步流程可以等多次调用的结果出来后,再统一返回一次结果集合,提高响应效率。
异步的执行效率高,节省时间,
缺点是:
实际操作系统中
会占用更多的资源,不利于我们对进程进行控制。

A为何没有“阻塞到运行”或“就绪到阻塞”这样的状态迁移?,为何没有“阻塞到运行”或“就绪到阻塞”这样的状态迁移?
阻塞态不能到运行态,因为CPU在同一时刻只能处理一个进程。 就绪态不能到阻塞态,一个就绪进程是不可能做任何会产生阻塞的 I/O 或者别的什么事情。只有运行的进程才能被阻塞

A进程控制块中“内部进程通信信息”这一类成员变量(显然不止一个)的作用是什么?
1 进程标识符。 2 处理机状态。处理机状态也称处理机上下文,主要由处理机的各种寄存器中的内容组成。 3 进程调度信息 4 进程控制信息。

A“撤销进程”的定义中提到,撤销一个进程之前,先【递归】检查其是否有子进程,如有,应先“撤销”子进程。请问,Linux是否会按这个要求去撤销某个进程?如果是的话,会有什么后果?如果不是的话,系统如何处理该进程的子孙进程(这些进程将失去父进程或祖先进程)?
不是 1.收回进程的所有资源 2.撤销该进程的PCB :从PCB队列中检索到该PCB,获取该进程的状态,若进程处于运行态,立即终止进程;若进程具有子进程,则先递归撤销子进程;Linux不会撤销子进程,而是由另一个进程接管,释放进程的所有资源,将进程从PCB队列中移除

A列举你知道的WINDOWS中,在程序启动exe程序创建相应进程的方法?各有什么特点?
1、点击应用程序对应的图标或在控制台上直接输入可执行程序的名字按回车,此方法简单易操作,消费者无需对

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值