1最早的计算机是没有操作系统的,操作系统的诞生解决了什么问题?
2. 什么是批处理操作系统,它有什么特点?
3. 什么是分时操作系统,它有什么特点?
4. 操作系统主要功能是什么?
5. 操作系统实现了对计算机资源的抽象,这里面的计算机资源主要包括什么?
6. 操作系统提供了用户与计算机之间的接口,使得用户可以通过操作系统操作计算机,这个接口主要有几种形式?
7. 什么是并行?什么是并发?并行和并发有什么区别和联系?
8. 操作系统的共享性对用户来说表现为什么?
9. 对于计算机资源的共享,有哪两种形式?
10. 什么是操作系统的虚拟性?
11. 什么是操作系统的异步性?它对我们的编程有什么实际意义?
12. 什么是操作系统的进程,操作系统的进程解决了什么问题?
13. 进程在计算机中是以什么形式存在的?
14. PCB的全称是什么? 它有什么作用?
15. 什么是线程,线程与进程的关系和区别?
16. 进程的五状态主要是哪五状态?你了解进程的生命周期吗?
17. 什么是生产者消费者问题,你能够编程实现吗?
18. 什么是哲学家进餐问题,你能够编程实现吗?
19. 进程间同步一般有哪些方法,线程间同步呢?
20. 对于Linux来说,什么是前台进程、什么是后台进程、什么是守护进程?
21. 进程的调度算法可以分为两大类,抢占式调度和非抢占式调度,对于抢占式调度,主要有什么算法?
22. 死锁的危害重大,什么是死锁,死锁是怎么产生的?
23. 为了避免死锁,操作系统使用了什么算法?你了解这个算法的过程吗?
24. 什么是段?什么是页?什么是段页式存储管理?
25. 虚拟内存是什么?从根本上来说,虚拟内存解决了什么问题?
26. 虚拟内存有哪些的置换算法?
27. 请简述Buddy算法分配内存和回收内存的过程?
28. 在Buddy算法里面,什么是Buddy (伙伴)?
29. 在计算机里面,文件可以分为有结构文件和无结构文件,你可以列举常见的有结构文件和无结构文件吗?
30. 当为文件分配辅存空间时,一般有什么分配方式?
31. FAT文件系统对应的是辅存的哪种空间分配方式?
32. ext文件系统对应的是辅存的哪种空间分配方式?
33. 在辅存中,一般使用什么样的数据结构来管理存储空间?
34. 文件目录树有什么作用?
35. 文件描述信息包含哪些数据?
36. Linux文件有哪几种类型?
37. ext文件系统可以看做是由一个Boot Secto和若干个Block Group组成,你能简要的描述Block Group由什么组成吗?
38. 什么是文件的lnode, lnode存储了文件的什么信息?
39. 什么是SPOOLing技术?计算机中常说的脱机是什么意思?
答:
1.
操作系统的出现是为了解决手工操作的慢速度和计算机的高速度之间的矛盾,提高资源的利用率。
2.
批处理操作系统是指用户直接将一批作业提交给操作系统,之后就可以不再干预。
特点是:自动性和顺序性。
3.
分时操作系统:将处理器的运行时间分割成许多时间片,按照时间片轮流把处理器分配给进程使用。
特点:每个用户的感觉是独占计算机使用;可有效增加资源的使用率。
4.
操作系统是一种管理软硬件资源的程序,比如进程管理、文件管理、存储管理、设备管理。
5.
资源主要包括:存储资源、网络资源、计算资源。
6.
系统调用、命令行、图形窗口、应用程序等。
7.
并行:在一个时间点上共同进行的。
并发:在一个时间段内共同进行的。
并行是指物理上的同时发生,并发是指逻辑上的同时发生。
8.
操作系统的共享性表现为多个用户程序共用系统中的资源。
9.
资源共享主要有两种形式,互斥共享和同时访问。
10.
操作系统的虚拟性,是指通过某种技术把一个物理实体变为若干个逻辑实体上的对应物体。
11.
操作系统的异步性,是指进程以不可预知的速度走走停停,程序的开始时间、暂停时间和停止时间都是不知道的。对于编程的意义:在编程的时候要配置PCB控制块,采用进程同步机制。
12.
进程是操作系统进行资源分配和调度的基本单位。
在没有进程之前,操作系统的资源是属于正在运行的程序的,进程的引入方便操作系统实现“多道程序设计”,在保障程序正常运行的同时提高资源的利用率。
13.
进程表现为一段程序,包含进程状态、进程优先级等信息。
14.
PCB全称进程控制块。PCB是进程的实体,用于描述和控制进程运行,存储了进程标识符、处理机状态、进程调度信息和进程控制信息。
15.
线程是操作系统进行调度的基本单位,也是进程中实际运行工作的单位。一个进程可以有一个线程,也可以包含多个线程。进程的线程共享进程的资源。
16.
五状态:就绪、运行、阻塞、创建、终止。
进程的生命周期是指进程从创建到终止的整个过程。
17.
生产者消费者问题:有三个对象,生产者、消费者和缓冲池,生产者生产产品放到缓冲池中,消费者消耗缓冲池中的产品。生产者进程和消费者进程可以并发执行。
18.
哲学家进餐问题:有五个哲学家和五支筷子,哲学家只有同时拿起两只筷子时才能进餐。
19.
进程间同步主要有3种方法:消息队列、共享存储和信号量。
线程同步的方法主要有:互斥量、读写锁、自旋锁和条件变量。
20.
前台进程:具有终端,可以和用户交互的进程。
后台进程:没有占用终端,基本不和用户交互的进程。
守护进程:特殊的后台进程,很多在系统引导的时候启动。
21.
抢占式调度的算法:时间片轮转调度算法、短进程优先调度、高优先权优先调度。
22.
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者彼此通信造成的一种阻塞现象,若无外力作用,这种状态将一直维持下去。
死锁的产生:原因是竞争资源 和 进程调度顺序不当。
死锁的四个必要条件:互斥、请求保持、不可剥夺、环路等待。
23.
算法:银行家算法。
由所需资源表和已分配资源表得到,还需分配资源表,将还需分配资源表与可分配资源表一一对照,进行资源的分配。
24.
页:将进程逻辑空间等分为若干大小的页面。页面大小通常是512B-8K。连续等长的一段内存。
段:将进程逻辑空间划分为若干段(非等分)。连续不等长的一段内存。
段页式存储管理:分页可以提高内存利用率,分段可以更好的满足用户需求,将两个结合起来。先按逻辑空间分段,再按物理空间分页。
25.
虚拟内存:把程序使用的内存划分,将暂时不用的内存放置在辅存。
解决了物理内存不够的问题。
26.
置换算法:先进先出算法、最不经常使用算法、最近最少使用算法。
27.
Buddy内存管理算法,为了解决内存外碎片的问题。
首先将所需分配的内存向上取整为2的幂次,然后创建不同大小的空闲块链表。
分配过程:假设由1M大小的存储空间,需要分配100K内存。
首先100K取整为128K,不断向上查询,到1M的时候发现有空闲块,然后拆分成512K,256K,128K链接到空闲块链表上,剩下的128K分配。
回收过程与分配过程相反。
28.
Buddy:大小相同,地址相邻的内存块。
29.
有结构文件:文档、电影、音乐、游戏、文本文件。
无结构文件:二进制文件、链接库。
30.
为辅存分配内存空间的分配方式:连续分配、链接分配(显式链接和隐式链接)和索引分配。
31.
FAT文件系统对应链接分配中的显式分配。
32.
EXT文件系统是Linux的文件系统,对应索引分配方式。
33.
辅存中管理存储空间的数据结构:空闲表、空闲链表和位示图。
34.
文件目录树的作用:目录管理,文件目录的唯一性。
35.
文件描述信息:文件标识符、文件类型、文件权限、文件物理地址、文件长度、文件连接计数、文件存取时间、索引结点编号、文件状态、访问计数、链接指针。
36.
Linux文件的类型:套接字、普通文件、目录文件、符号链接、设备文件、FIFO。
37.
Block Group是块组,是存储数据的实际位置,由Inode table、Inode bitmap、Data block、Block bitmap和Superblock等组成。
Inode Table存放着文件的Inode,是文件的索引结点,Inode存在着文件的各种信息。
Inode bitmap存放着Inode的位示图,记录已分配和未分配的Inode。
Data block是存放文件内容的地方。
Block Bitmap存放着Data block的位示图。
Superblock记录着整个文件系统的相关信息。
38.
每个文件或文件夹都有一个Inode,Inode可以理解为是文件或者文件夹的“身份证”。
Inode存放了文件的信息比如索引结点编号、文件类型、文件权限、文件物理地址、文件长度、文件连接计数、文件存取时间、文件状态等等信息。
39.
SPOOLing技术:将低速的独享设备模拟为高速的共享设备。
增加了输入井和输出井,SPOOLing负责输入输出井与低速设备之间的调度。
脱机:脱离主机控制。SPOOLing技术是一种假脱机技术。