1、思考问题?(答案:Linux操作系统原理)
当内存不足时,我们如何进行分配?当操作系统运行时候太长,产生很多很多内存碎片,此时我们应该怎么办?如果我们想要分配几十个字节的小块内存,应该使用什么样的方法来解决此问题?我们如何提高系统分配物理内存的效率?
2025年09月21日
1、思考问题?(答案:Linux操作系统原理)
当内存不足时,我们如何进行分配?当操作系统运行时候太长,产生很多很多内存碎片,此时我们应该怎么办?如果我们想要分配几十个字节的小块内存,应该使用什么样的方法来解决此问题?我们如何提高系统分配物理内存的效率?
2025年09月21日
前言:调度器作为操作系统的核心部件,具有非常重要的意义,其随着linux内核的更新也不断进行着更新。本系列文章通过linux-3.18.3源码进行调度器的学习和分析,一步一步将linux现有的调度器原原本本地展现出来。此篇文章作为开篇,主要介绍调度器的原理及重要数据结构。
2025年09月21日
在计算机时代,很大一部分人有一个误解,认为Unix和Linux操作系统是一样的。但是,情况正好相反。 让我们仔细看看。
什么是Unix
在IT方面,我们遇到了Unix作为AT&T于1969年在美国新泽西州创建的操作系统(在商标下)。 大多数操作系统都受Unix的启发,但Unix也受到了Multics系统的启发,该系统尚未完成。 另一个版本的Unix是贝尔实验室的Plan 9。
2025年09月21日
在“Linux内核的整体架构”中,有提到,由于Linux支持世界上几乎所有的、不同功能的硬件设备(这是Linux的优点),导致Linux内核中有一半的代码是设备驱动,而且随着硬件的快速升级换代,设备驱动的代码量也在快速增长。个人意见,这种现象打破了“简洁就是美”的理念,是丑陋的。它导致Linux内核看上去非常臃肿、杂乱、不易维护。但蜗蜗也知道,这不是Linux的错,Linux是一个宏内核,它必须面对设备的多样性,并实现对应的驱动。
2025年09月21日
服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。
2025年09月21日
进程
进程不仅仅是一段可执行程序的代码,通常进程还包括其他资源,比如打开的文件,挂起的信号,内核内部的数据结构,处理器状态,内存地址空间,或多个执行线程,存放全局变量的数据段等。线程是进程中活动的对象,每个线程都拥有一个独立的程序计数器,进程炸,和一组进程寄存器。内核调度的对象是线程,而不是进程。传统的Unix系统中一个进程只包含一个线程。对于linux而言,线程只不过是一种特殊的进程罢了。在linux系统中通过fork()来复制现有进程的资源和创建一个新的进程。随后调用exec这组函数创建自己的地址空间最后载入要运行的程序,在linux中fork其实是clone系统调用来实现。程序执行完毕后使用exit退出执行,父进程调用wait或waitpid来等待子进程结束,并回收其资源。
2025年09月21日
注意:
搞清楚每个操作系统的安装位置。操作系统使用的 bootloader 是什么,安装在哪。
一 系统引导原理
1 概述
BIOS:
BIOS(上电自检)–>
MBR 的主引导程序(bootloader 自身的一小部分)–>
启动引导程序 bootloader(Grub/Bootmgr。bootloader 的其他部分,安装到磁盘上的可用空间中。这段可用空间位于常规 MBR 末尾和第一个分区的起始位置之间。)–>