AronaAI介绍
关于我的项目AronaAI(https://github.com/xiahy456/AronaAI)
关于我的项目AronaAI(https://github.com/xiahy456/AronaAI)
计算机基于冯诺依曼存储程序思想工作。操作系统启动时,从ROM-BIOS开始,经过引导扇区、setup模块、head模块,最终进入main函数,完成内存、中断、时钟等初始化。
操作系统是一个软件,它能让用户更加方便地控制计算机。应用程序可以通过操作系统来更加方便地控制计算机完成用户的任务,而不用控制内存到显卡再到外置设备的一系列操作。
CPU通过取指-执行的方式工作,在一个CPU上交替执行多道程序(并发)可以提升CPU利用效率。运行中的程序叫做"进程",用户管理计算机就是使用进程。
操作系统通过多进程图像来管理多个进程
操作系统通过遵循POSIX标准的系统调用作为接口,连接用户态应用程序与内核态,实现权限检查与功能调用
TLB通过硬件缓存频繁使用的地址映射来加速分页转换,并利用局部性原理、ASID等机制处理未命中及多进程上下文切换问题。
为了缓解线性页表占用内存过大的问题,可以采用更大的页、分页与分段混合、多级页表、反向页表或将页表交换到磁盘等方法,但这些方法各自会引入内部碎片、外部碎片、实现复杂性或查找开销等新的挑战。
分页通过将进程虚拟内存划分为固定大小的页,并借助存储在内存中的页表将其映射到物理页帧,从而解决分段的内存碎片问题,但会带来额外的内存访问开销。
分段通过为地址空间中的每个逻辑段(如代码、堆、栈)分配独立的基址/界限寄存器,实现了稀疏地址空间的高效物理内存使用和段间共享(如只读代码段),但会导致外部碎片问题,需通过内存紧凑或空闲列表管理算法解决。
空闲空间管理在固定大小单元时通过列表简单管理,在大小不一时需处理外部碎片,并依赖分割、合并、头块追踪、堆增长及多种分配策略(如最优匹配、首次匹配等)来平衡速度与碎片最小化。
当物理内存不足时,操作系统通过将不常用的页换出到硬盘上的交换空间,并利用页表中的存在位和页错误机制,在软件层面处理缺页中断以按需换入页面,从而为用户提供比实际物理内存更大的内存假象。
当物理内存不足时,操作系统通过替换策略(如最优、FIFO、随机、LRU或近似LRU)将某些页换出到磁盘以腾出空间,目标是最大化缓存命中率、最小化平均内存访问时间(AMAT),并通常优先换出干净页而非脏页以减少磁盘I/O开销。
并发中的缺陷分为非死锁缺陷(包括违反原子性缺陷和违反顺序缺陷)和死锁缺陷,前者可通过加锁或条件变量解决,后者则需通过预防、避免或检测恢复等手段处理。
该系统通过分层总线连接CPU、内存和外设,采用轮询、中断、DMA及内存映射I/O等机制与设备交互,并利用设备驱动程序将硬件接口统一纳入操作系统管理
RAID是一种将多个物理磁盘组合成单个更快、更大、更可靠的虚拟磁盘系统的技术,通过条带化、镜像或奇偶校验等不同设计,在容量、可靠性和性能之间进行权衡
磁盘调度中的最短任务优先原则可能导致饥饿问题,为此发展出电梯算法(如SCAN、C-SCAN、F-SCAN)以避免饥饿,而最接近SJF的最优策略是综合考虑寻道和旋转时间的最短定位时间优先(SPTF),但后者在操作系统中实现困难
磁盘可视为由0到n-1号扇区组成的地址空间,其访问性能取决于寻道时间、旋转延迟和传输时间,且仅保证单个扇区的原子写入