操作系统面试

1.内部碎片与外部碎片分别是什么?

内部碎片---(在数据页内部)产生的碎片

  • 内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;

外部碎片---(在数据页外部)产生的碎片

  • 外部碎片指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。

2.系统调用与库函数的区别

系统调用执行后会产生中断陷入内核。

系统调用库函数
实现实现在函数库中实现在内核中
调用属于过程调用调用需要进行用户态和内核态的上下文切换
开销较小较大

3.中断与系统调用

中断

中断机制,宏观上讲就是cpu在执行某件事情时可以暂停执行当前的任务而转去执行其他任务的能力。

中断分为:

  • 外部中断:cpu指令以外事件中断引起的中断。例如:I/O中断、控制台中断
  • 异常:cpu指令内部事件中断引起的中断。例如:地址越界、算法溢出

系统调用

  •  内核提供的、功能十分强大的一系列的函数。
  • 系统调用是在内核中实现的,再通过一定的方式把系统调用给用户,一般都通过门(gate)陷入(trap)实现。

  • 系统调用是用户程序和内核交互的接口。

4.虚拟内存的理解

虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

目的是为了减少程序对内存的消耗。

5.什么是临界资源

临界资源:一次仅允许一个进程使用的共享资源

临界区:每个进程中访问临界资源的那段代码

6.内存池、进程池、线程池

  • 内存池是一种内存分配方式。内存池则是在真正使用内存之前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存。这样做的一个显著优点是,使得内存分配效率得到提升。从线程安全的角度来分,内存池可以分为单线程内存池和多线程内存池
  • 进程池是由服务器预先创建的一组子进程,这些子进程的数目一般在3~10 个之间。
  • 线程池中的线程数量应该和 CPU 数量差不多。

7.进程调度的种类有哪些?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很高兴听到您对Linux操作系统面试感兴趣。以下是一些可能有用的信息: 1. Linux是一种开源操作系统,它的内核由Linus Torvalds开发。它被广泛用于服务器和嵌入式设备。 2. Linux有许多不同的发行版,如Ubuntu、Debian、Fedora、CentOS等。每个发行版都有自己的特点和优点。 3. Linux的命令行界面是非常强大的,它可以让用户通过命令来完成各种任务。一些常用的命令包括ls、cd、mkdir、rm、cp、mv等。 4. Linux支持多用户和多任务,这使得它非常适合用于服务器环境。 5. Linux的安全性非常高,它有许多内置的安全功能,如SELinux、iptables等。 6. Linux的软件包管理系统非常方便,用户可以通过包管理器来安装、升级和删除软件包。 希望这些信息能够帮助您在Linux操作系统面试中取得成功。祝您好运! ### 回答2: Linux操作系统是目前世界上最流行的开源操作系统之一,无论在服务器领域还是移动设备领域都有着广泛的应用。因此,在Linux操作系统面试中,我们需要了解一些关于Linux的基本知识,这些知识包括以下几个方面: 1. Linux基本命令 在Linux操作系统中,命令是操作系统中最基本的元素,必须掌握基本命令才能够对操作系统进行操作。例如,cat、cd、ls、mkdir等基本命令。 2. Shell编程 Shell是Linux操作系统的一个外壳,它不仅仅是用户与Linux操作系统之间的一个交互界面,还可以进行脚本编程。在Linux操作系统中,Shell编程非常重要,我们可以利用Shell编程来完成一些自动化任务,如日志分析、自动更新等。 3. Linux安全性 Linux操作系统具有较高的安全性,这也是它能够在服务器领域广泛应用的原因之一。在Linux操作系统面试中,面试官可能会问一些与Linux安全性相关的问题,如如何保证Linux系统的安全性、如何防范攻击等。 4. Linux文件系统 Linux操作系统中有一个独特的文件系统,与其他操作系统不同。在Linux文件系统中,所有文件和目录都被视为树状结构,并由一个根目录来控制。因此,在面试过程中,我们需要对Linux文件系统有一个清楚的了解。 5. Linux服务 Linux操作系统中有很多重要的服务,这些服务对系统的运行至关重要。在面试中,面试官可能会询问一些与Linux服务相关的问题,如如何启动、停止、重启服务等。 总之,在Linux操作系统面试中,我们需要了解关于Linux基本命令、Shell编程、Linux安全性、Linux文件系统和Linux服务的相关知识。同时,我们也要熟悉一些Linux常用工具,如vi编辑器、wget命令、ssh命令等。只有掌握了这些基础知识,才能在Linux操作系统的领域中获得更多的机会。 ### 回答3: Linux操作系统是一款免费、开源、稳定、安全、高效的操作系统.因此在现代IT行业中,Linux操作系统已经成为绝大多数互联网企业、云计算公司、金融机构、电信企业等领域必不可少的技术基础.如果想从事这些领域的工作,那么对于Linux操作系统的熟悉程度和掌握能力是必不可少的. 不同公司或者职位对于Linux操作系统的掌握程度都有不同的要求,但在面试中常见的问题主要分为以下几个方面: 1. 基本概念及理论知识:包括Linux操作系统的历史和基本概念,Linux的文件系统结构,进程、线程和文件描述符等基本概念及其相互关系。 2. Linux常用命令及其使用:包括Linux系统的常用命令,例如ls、cd、mkdir、rm、ps、grep等,以及通过管道、重定向、通配符等技术进行高效的命令操作. 3. Linux系统管理及配置:包括Linux系统的用户管理、权限控制、服务开启或关闭、网络配置等方面. 4. Linux内核原理和调优:主要就是对于Linux的内核机制、内存管理、I/O操作等知识的了解,可以让面试官了解到IT人员的系统调优能力. 总之,Linux操作系统面试将会涉及到多个方面,包括Linux的基本概念、常用命令、系统管理及配置和内核原理和调优等. 面试者应该对常见问题进行充分准备,同时建议通过虚拟机等方式来进行实际操作和实践,提升自己的技能水平。同时,也需要在综合素质上不断提升,包括技术水平、沟通和解决问题的能力等方面, 才能更好地面对各种复杂的工作任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值