文件IO
1.FAT32和NTFS的区别
1)FAT32
优点是稳定性和兼容性好,能充分兼容Win 9X及以前版本,且维护方便。
缺点是安全性差,单个文件也只能支持最大4GB。
2)NTFS
优点是安全性及可靠性高,除兼容性之外,它远远优于FAT32。它不但可以支持2TB大小的分区,而且支持对分区、文件夹和文件的压缩,可以更有效地管理磁盘空间。
缺点是它只能被WindowsNT/2000/XP以上系统、Linux系统所识别。经由NTFS压缩的文件,在网络传输的过程中,会丧失压缩属性,但是Zip文件则可以直接经由网络进行传输,不会丢失压缩属性。
2.MMU(Memory Management Unit 内存管理单元)如何将虚拟地址与物理地址进行交换
用户想要控制硬件必须通过硬件寄存器,想要访问寄存器必须使用寄存器的物理地址,得先让CPU生成虚拟地址,然后MMU将CPU生成的虚拟地址转换成物理地址,然后再进行物理寻址。
借鉴至:一个虚拟地址到物理地址的过程
3.请简述Linux内核的作用(笔试题)
Linux内核的四大作用:内存管理,文件系统管理,进程管理,网络管理
1)内存管理:Linux内核的内存管理主要分为内核空间和用户空间,内核空间主要管理的是物理内存地址空间,用户空间主要管理的是当前进程线性地址空间的管理。
2)文件系统管理:在Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上,Linux文件系统中的文件包含了文件中的数据和文件系统的结构,存储了Linux所看到的所有文件、目录等信息。
3)进程管理:进程管理的重点是进程的执行,在内核中,这些进程称为线程,代表了单独的处理器虚拟化(线程代码、数据、堆栈和 CPU寄存器)。在用户空间,通常使用进程 这个术语,不过 Linux 实现并没有区分这两个概念(进程和线程)。
4)网络管理:网络必须由操作系统来管理,因为大部分网络操作不是特定于某一个进程: 进入系统的报文是异步事件。报文在某一个进程接手之前必须被收集,识别,分发,系统负责在程序和网络接口之间递送数据报文,它必须根据程序的网络活动来控制程序的执行。另外,所有的路由和地址解析问题都在内核中实现。
4.Linux系统目录文件与文件夹区别
目录文件不是文件夹,Linux系统目录文件相当于一个索引,存储的是文件数据的信息和找到文件数据的路径。(可简单理解为每本书前的目录)
文件夹是是文件系统中的一种特殊文件,用于存储和组织文件数据的内容。(可看作一个容器)
5.根文件系统与Linux系统内核的关系
根文件系统首先是内核启动时所挂载的第一个文件系统,而Linux系统需挂载在根文件系统。
借鉴至:Linux内核与根文件系统的关系详解
6.库给的函数与系统给的函数有什么区别
系统IO,系统给的函数是系统IO,是操作系统提供的接口函数,运行在用户空间中。
标准IO,库给的函数可以简单理解为标准IO,调用系统IO来实现功能的,运行在内核空间。
文件IO,而系统IO和标准IO又统称为文件IO。
7.请简述Linux系统启动过程(笔试题)
上电 -> 执行启动引导程序bootloader -> 加载Linux内核 -> 挂载rootfs根文件系统 -> 安装驱动程序并执行脚本文件 ->提供字符终端,执行应用程序