筑基期

1. 什么是操作系统?它的主要功能有哪些?

操作系统就是用于用户与计算机硬件交互的软件。简单来说就是我们在硬件上安装了系统,之后我们就是在使用这个操作系统软件。

操作系统会提供进程管理、内存管理、文件系统管理、设备管理、安全与权限控制等功能。


2. 进程与线程的区别是什么?

进程的范围比线程更大,比如我们在计算机运行了一个软件,这个软件就会产生一个或多个进程。

在这个软件的进程中,为了处理多个任务或者复杂的计算,又会开辟出多个线程。

总的来说区别就是:进程之间相互独立,线程之前可以共享资源,线程开销远远小于进程。


3. 内存管理的基本概念是什么?分页与分段有什么区别?

当我们在运行程序时,都需要内存,内存管理就是负责为这些程序分配内存、管理内存、回收内存等操作。

分页:分页就是将内存分配为相同大小的块,每一页大小相同,这样可以减少内存碎片

分段:分段则是将内存划分为了长度不同的块,系统根据不同的数据类型、场景按需分配。


4. 什么是虚拟内存?它是如何工作的?

虚拟内存简单理解就是将一部分磁盘空间转化为内存使用,比如当内存极度紧张时,操作系统会拿出一部分磁盘空间来作为内存使用。

准确的来说就是:当物理内存不足时,操作系统会将一些不常用的数据移动到磁盘的交换空间,也就是相当于使用虚拟内存作为一个暂存。


5. 中断是什么?在计算机中起到什么作用?

中断是一种信号,用于通知 CPU 暂停当前的任务,去处理更紧急的任务或事件。

中断可以将 CPU 的效率提高,通过中断、交替执行,提高了 CPU 的使用率,让 CPU 可以更实时的处理任务。


6. 什么是缓存?为什么缓存对于计算机系统很重要?

缓存是一种快速的存储区域,用于存放频繁访问的一些数据。

缓存可以减少 CPU 直接访问内存的频率,缩短了数据读取时间,提高了系统性能。


7. I/O 模型有哪些?阻塞与非阻塞 I/O 的区别是什么?

I/O模型 描述了应用程序与操作系统之间处理输入/输出的方式。

阻塞性I/O:程序会等待 I/O 操作完成后再继续执行,CPU 处于空闲状态。

非阻塞性I/O:I/O 操作不会阻塞程序执行,程序可以继续处理其他任务,直到 I/O 操作完成。

其他常见的 I/O 模型:

多路复用 I/O:selectpoll,允许一个进程同时监听多个 I/O 事件。

异步 I/O: I/O 操作和应用程序完全并行,操作系统会在 I/O 完成后通知应用。

results matching ""

    No results matching ""