前言
本篇文章开始带大家深入学习操作系统,深入操作系统有利用我们了解操作系统的内在和更好的理解API及底层逻辑的实现。
一、什么是操作系统
操作系统(Operating System)是计算机系统中的一个软件系统,它管理和控制计算机硬件资源,并提供给应用程序和用户访问这些资源的接口。操作系统充当计算机系统的核心,负责协调和管理各种软件和硬件组件的工作,以便有效地执行和完成各种任务。
操作系统的主要功能包括以下几个方面:
1.资源管理:操作系统管理计算机的硬件资源,包括处理器(CPU)、内存、存储设备(如硬盘和光驱)和输入输出设备(如键盘、鼠标、打印机等),以确保它们能够被合理分配和有效利用。
2.进程管理:操作系统负责创建、启动、暂停、恢复和终止进程(程序的执行实例),并为它们分配和管理资源。它通过进程调度算法控制进程的执行顺序,以实现对计算机资源的高效利用。
3.内存管理:操作系统管理计算机内存的分配和释放,以及虚拟内存的实现。它负责将进程所需的内存空间分配给它们,并跟踪内存的使用情况,以防止内存溢出和冲突。
4.文件系统管理:操作系统管理计算机上的文件和目录,包括文件的创建、读取、写入和删除,以及目录的管理和组织。它提供了一个统一的文件系统接口,使得应用程序可以方便地访问和操作文件。
5.设备驱动程序:操作系统提供设备驱动程序,用于管理和控制各种硬件设备。这些驱动程序允许应用程序通过操作系统接口与硬件设备进行通信和交互。
此外,操作系统还提供了用户界面,使用户能够与计算机系统进行交互。用户界面可以是命令行界面(如DOS命令行),图形用户界面(如Windows和macOS),或者是基于Web的界面。
总而言之,操作系统是计算机系统中的关键组成部分,它为应用程序和用户提供了一个稳定、高效和友好的计算环境,同时管理和协调计算机的硬件资源和软件组件。
二、程序是如何运行的
当计算机运行程序时,首先需要将程序代码加载到内存中。程序代码通常以二进制形式表示,由一系列指令组成。这些指令被存储在内存的特定地址位置。
程序的执行过程通常遵循以下步骤:
1.取指(Fetch):处理器(CPU)从内存中获取下一条指令。处理器通过读取特定地址处的指令,将其存储在指令寄存器(Instruction Register)中。
2.解码(Decode):取得的指令被传送到指令解码器(Instruction Decoder),它会解析指令的操作码和操作数等信息,并确定下一步要执行的操作。
3.执行(Execute):根据解码的指令信息,处理器执行指定的操作。这可能涉及对寄存器、内存或其他设备的读取、写入和算术运算等操作。
4.更新(Update):根据执行结果,处理器可能需要更新寄存器、内存或其他状态信息。例如,计算的结果可以存储在寄存器中,或者写入内存中的某个位置。
5.重复(Repeat):以上步骤在一个循环中不断重复,直到程序的所有指令都被执行完毕。每次循环中,处理器根据当前指令的地址从内存中取得下一条指令,并再次进行取指、解码和执行的操作。
三、实模式概念
实模式(Real Mode)是早期的x86架构计算机的一种工作模式。它是在Intel 8086和80286处理器上使用的模式,提供了对底层硬件的直接访问和控制。
在实模式下,处理器工作在16位模式下,寻址空间为1MB(220字节),使用物理地址访问内存。寻址方式采用段地址和偏移地址的组合,即通过将一个16位的段地址左移4位,再加上一个16位的偏移地址来计算物理地址。这种寻址方式限制了可寻址的内存大小为64KB(216字节),但通过不断改变段地址可以访问完整的1MB内存。
实模式下的处理器没有内存保护和多任务功能,程序可以直接访问系统内存和设备,但也意味着程序可以破坏系统的稳定性。此外,实模式下的处理器仅支持实模式的指令集,不支持后续引入的保护模式指令集和扩展功能。
实模式在早期计算机系统中广泛使用,但随着计算机技术的进步,保护模式取代了实模式成为主流。保护模式具有更大的内存寻址能力、内存保护和虚拟内存等先进特性,同时也支持多任务和多进程操作系统的运行。
尽管实模式已经过时,但在引导过程中仍然会在计算机启动时的最初阶段使用实模式。在引导过程中,计算机启动加载引导程序,该程序通过实模式进行初始化和准备,然后切换到保护模式,继续加载操作系统并完成启动过程。
总结
本篇文章就讲解到这里。