准备转行做Linux运维你需要具备哪些知识?
发布时间:2022-07-14 16:36:11 所属栏目:Linux 来源:互联网
导读:今天小编要跟大家分享的文章是关于准备转行做Linux运维你需要掌握哪些知识?想要转行做Linux的小伙伴是否对Linux已经有所了解了呢?今天小编为大家分享这篇文章,就是帮助想要转行做Linux运维的小伙伴们提前了解一下都需要掌握哪些知识, Linux入门新手和正在L
今天小编要跟大家分享的文章是关于准备转行做Linux运维你需要掌握哪些知识?想要转行做Linux的小伙伴是否对Linux已经有所了解了呢?今天小编为大家分享这篇文章,就是帮助想要转行做Linux运维的小伙伴们提前了解一下都需要掌握哪些知识, Linux入门新手和正在Linux学习的小伙伴快来看一看吧,希望能够对大家有所帮助! 一、Linux操作系统概述 Q1.什么是GNU?Linux与GNU有什么关系? A: 1)GNU是GNU is Not Unix的递归缩写,是自由软件基金会(Free Software Foundation,FSF)的一个项目,该项目已经开发了许多高质量的编程工具,包括emacs编辑器、著名的GNU C和C++编译器(gcc和g++); Q2.Linux系统由哪几部分组成?Linux内核处于什么位置? A: 1)Linux系统由四个部分组成:用户进程,系统调用接口、Linux内核子系统和硬件; 2)Linux内核处于用户进程和硬件之间,包括系统调用接口和Linux内核子系统。 Q3.Linux内核由哪几部分组成?各个子系统的主要功能是什么? A: (1)Linux内核除系统调用外,由五个主要的子系统组成:进程调度、内存管理、虚拟文件系统、网络和进程间通信(IPC); (2)各个子系统的主要功能为: 1)进程调度:它控制着进程对CPU的访问,当需要选择一个进程开始运行时,由调度程序选择最应该运行的进程; 2)内存管理:它允许多个进程安全地共享主内存区域,支持虚拟内存;从逻辑上可以分为硬件无关的部分和硬件相关的部分; 3)虚拟文件系统(VFS):它隐藏了各种不同硬件的具体细节,为所有设备提供统一的接口,支持多达数十种不同的文件系统,分为逻辑文件系统和设备驱动程序; 4)网络:它提供了对各种网络标准协议的存取和各种网络硬件的支持,分为网络协议和网络驱动程序两部分; 5)进程间通信:支持进程间各种通信机制,包括共享内存、消息队列和管道等。 二、内存寻址 Q1.什么是物理地址?什么是虚地址?什么是线性地址? A: 1)将主板上的物理内存条所提供的内存空间定义为物理内存空间,其中每个内存单元的实际地址就是物理地址; 2)将应用程序员看到的内存空间定义为虚拟地址空间(或地址空间),其中的地址就叫做虚拟地址(或虚地址),一般用“段:偏移量”的形式来描述,如A815:CF2D; 3)线性地址空间是指一段连续的、不分段的、范围为0~4GB的地址空间,一个线性地址就是线性地址空间的一个绝对地址。 Q2.在保护模式下,MMU如何把一个虚地址转换为物理地址? A: 在保护模式下,内存管理单元(MMU)由一个或一组芯片组成,其功能是指虚拟地址映射为物理地址,即进行地址转换;MMU是一种硬件电路,它包含分段部件和分页部件两个部件,分别叫做分段机制和分页机制,分段机制是把一个虚拟地址转换为线性地址,分页机制是把一个线性地址转换为物理地址。 A: (1)页面高速缓存自动保留处理器最近使用的32项页表项,因此可以覆盖128KB范围的内存; (2)Linux主要采用分页机制来实现虚拟存储器管理,原因为: 1)Linux的分段机制使得所有的进程都使用相同的段寄存器,这使得内存管理变得简单; 2)Linux的设计目标之一就是能够被移植到绝大多数流行的处理平台上,但许多RISC处理器支持的分段功能非常有限;为了保证可移植性,Linux采用三级分页模式,因为许多处理器都采用64位结构;Linux定义了三种类型的页表:页目录(PGD)、中间目录(PMD)和页表(PT)。 三、进程 Q1.程序与进程的概念分别是什么?为什么要引入“进程”的概念? A: 1)程序是一个普通文件,是机器代码指令和数据的集合,这些指令和数据存储在磁盘上的一个可执行映像中,可执行映像(executable image)就是一个可执行文件的内容; 2)进程代表程序的执行过程,它是一个动态的实体,随着程序中指令的执行而不断地变化,在某个时刻进程的内容被称为进程映像(process image); 3)程序的执行过程可以说是一个执行环境的总和,这个执行环境除了包括程序中各种指令和数据外,还有一些额外数据;而执行环境的动态变化体现了程序的运行,为了对动态变化的过程进行描述,就引入了“进程”概念。 Q2.什么是进程控制块?它包含哪些基本信息? A: 1)Linux中把对进程的描述结构叫做task_struct,将这样的数据结构称作进程控制块(PCB); 2)PCB是一个其域多达80多项的相当庞大的数据结构,按其功能将所有域划分为:状态信息,链接信息、各种标识符、进程间通信信息、时间和定时器信息、调度信息、文件系统信息、虚拟内存信息和处理器环境信息。 Q3.Linux内核的状态有哪些? A: 1)Linux最基本的进程状态有三种:运行态、就绪态和阻塞态(或等待态);这三种状态之间有四种可能的转换关系:运行态->阻塞态、运行态->就绪态、就绪态->运行态和阻塞态->就绪态; 2)为了管理上的方便,将就绪态和运行态合并为一个状态—可运行态,再包括其它方面的一些改变,将进程状态划分为:可运行态、睡眠(或等待)态(分为深度睡眠态和浅度睡眠态)、暂停状态和僵死状态。 Q4.PCB的组织方式有哪几种? A: PCB的组织方式有:进程链表、散列表、可运行队列和等待队列。 Q5.主要的调度算法包括哪些?一个好的调度算法要考虑哪些方面? A: 1)主要的调度算法包括:时间片轮转调度算法、优先级调度算法(非抢占式优先级算法和抢占式优先级算法)、多级反馈队列调度算法和实时调度算法; 2)一个好的调度算法应该考虑五个方面:公平、高效、响应时间、周转时间和吞吐量。 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |