html企业网站模板免费下载,上海优化网站方法,南京市雨花台区建设局网站,网站建设中的html1.区分系统#xff08;软件#xff09;和固件
1.1概念辨别
系统#xff08;软件software#xff09;#xff1a; 角色#xff1a; 系统是计算机中的核心软件#xff0c;提供基本的管理、控制和资源分配功能。它通常包括操作系统#xff0c;负责管理硬件资源、提供用户…1.区分系统软件和固件
1.1概念辨别
系统软件software 角色 系统是计算机中的核心软件提供基本的管理、控制和资源分配功能。它通常包括操作系统负责管理硬件资源、提供用户界面命令行界面或者图形化界面以及执行基本的系统任务。关系 应用程序和插件通常依赖于操作系统因为它们需要操作系统提供的服务、资源管理和用户界面。 固件Firmware 角色 固件是嵌入在硬件设备中的软件用于控制设备的基本功能。它通常存储在设备的非易失性存储器中如芯片上的闪存。固件可以不依赖操作系统而工作。关系 固件通常独立于操作系统但某些设备可能在引导过程中依赖于固件。固件可以包含引导加载程序、嵌入式系统的驱动程序和控制代码等。路由器固件其实是包含了固件和嵌入式操作系统的集合。 插件Plugin 角色 插件是一种可插拔的软件组件设计用于增强主要软件应用程序的功能。它们可以在运行时动态加载和卸载。关系 插件依赖于主程序的框架和接口可以是系统级的也可以是应用级的。插件通过主程序提供的接口与用户和系统进行交互。 应用Application 角色 应用是独立运行的软件程序为用户提供特定的功能或服务。它们建立在操作系统之上利用操作系统的服务和资源来完成任务。关系 应用程序依赖于操作系统提供的运行环境但通常是独立于其他应用程序的。 系统应用驱动脚本等都是软件系统软件可以为应用软件提供工作环境比如微软系统为qq提供用户操作界面等而插件是依赖在系统软件之上工作的。应用软件虽然是独立工作的不依赖系统但是与硬件沟通还是需要操作系统才能完成操作系统软件的作用就是沟通硬件和应用软件并为软件提供用户界面应用软件可以与硬件直接沟通固件但是缺乏有效管理和资源分配不受控制稳定性就弱了。 系统软件 是一类管理计算机硬件和提供基本服务的软件。包括操作系统、引导加载程序、设备驱动程序等。主要任务是协调和管理计算机的各种资源提供运行环境为应用程序提供服务。提供用户管理界面允许用户与计算机进行交互配置系统设置启动应用程序等。 应用软件 是为执行特定任务或提供特定服务而设计的软件。包括各种应用程序如文字处理软件、图形设计软件、游戏、浏览器等。依赖于操作系统提供的服务和资源通过这些服务与硬件交互。提供具体的功能和体验使用户能够完成特定的工作或娱乐活动。
1.2操作系统分类
个人计算机操作系统Personal Computer Operating System一种单用户多任务的操作系统。 特点 计算机在某一时间内为单个用户服务采用图形界面人机交互的工作方式界面友好使用方便用户无需具备专门知识也能熟练地操作系统。嵌入式操作系统Embedded Operating System运行在嵌入式芯片的环境中对整个芯片以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。 嵌入式操作系统具有高可靠性、实时性、占有资源少、智能化能源管理、易于连接、低成本等特点。嵌入式操作系统是嵌入式系统Embeded System的控制中心而嵌入式系统则是嵌入式操作系统、相应设备环境与应用环境的结合是一个很宽的概念。服务器操作系统一般指的是安装在大型计算机上的操作系统比如Web服务器、应用服务器和数据库服务器等是企业IT系统的基础架构平台分布式操作系统将大量的计算机通过网络连接起来可以获取极高的运算能力及广泛的数据共享。这样一种系统称之为分布式系统。为分布式系统配置的操作系统称之为分布式操作系统。
2系统启动中的引导
2.1BIOS和BOOT
BIOS基本输入/输出系统和 boot引导是计算机启动过程中两个关键的组成部分它们共同协作以确保计算机能够成功启动并加载操作系统。以下是它们之间的关系 BIOS基本输入/输出系统 作用 BIOS 是计算机启动过程中的第一个阶段。它负责执行系统的自检POSTPower-On Self-Test并提供一组基本的硬件初始化和服务以便让计算机能够进行基本的输入和输出操作。检测处理器内存适配器鼠标键盘存储设备时钟总线控制外设等存储位置 BIOS通常存储在计算机主板上的一块芯片中通常是闪存Flash或只读存储器ROM。BIOS本身就是一个固件为硬件服务的专用软件。BIOS设置 计算机的BIOS中通常有一个设置指定引导设备的顺序。这个设置被称为“引导顺序”或“启动顺序”提供磁盘网络U盘等。用户可以在BIOS设置中配置这个顺序决定计算机将首先尝试从哪个设备引导。UEFI设置Unified Extensible Firmware Interface 在使用UEFI统一扩展固件接口的计算机中引导顺序的配置通常在UEFI设置中完成。UEFI是一种更现代的固件替代品取代了传统的BIOS。 Boot引导 作用 引导阶段是计算机启动的第二个关键阶段。在BIOS自检完成后计算机需要加载操作系统。这是引导加载程序Boot Loader的工作。引导加载程序是一个小型的程序其任务是从存储介质通常是硬盘或固态硬盘中加载操作系统的内核到计算机的内存中。存储位置 引导加载程序通常存储在启动分区的引导扇区通常是硬盘的第一个扇区上。 关系 BIOS启动过程 计算机启动时BIOS首先执行进行自检和硬件初始化。接着BIOS查找引导设备通常是硬盘上的引导扇区并将控制权传递给该扇区的引导加载程序。引导加载程序 引导加载程序接管控制权负责加载操作系统的内核到内存中并开始执行操作系统的初始化过程。 U-BootUniversal Bootloader是一个开源的引导加载程序用于嵌入式系统的引导。它是一个通用的引导加载程序可以在各种嵌入式平台上使用。U-Boot 提供了许多功能包括引导操作系统、加载内核映像、进行设备初始化等。U-Boot 提供了命令行界面允许用户通过串口或网络进行交互。在 U-Boot 中你可以执行一系列的命令包括刷写固件、更新引导配置等为了方便路由器的uboot提供了web界面通过难过web界面刷固件。 引导过程 U-Boot 通常被用于引导嵌入式系统。在启动过程中U-Boot 会初始化硬件加载引导加载程序和内核然后将控制权转交给操作系统。 命令行界面 U-Boot 提供了一个命令行界面通过该界面用户可以手动执行各种命令如加载和启动内核、设置环境变量、烧写固件等。 支持的架构 U-Boot 支持多种处理器架构包括 ARM、MIPS、PowerPC、x86 等。 配置文件 为了适应不同的硬件和需求U-Boot 使用一个配置文件允许用户根据其特定的硬件配置进行自定义。 开发和维护 U-Boot 是一个开源项目具有活跃的社区支持。它经常用于嵌入式 Linux 系统中特别是在嵌入式设备和嵌入式开发板上。 **总结**个人操作系统的bios是由主板决定集成了boot有统一规定所以可以装成不同的系统直接进行设置就可以直接引导进入系统而路由器的硬件不同的厂商硬件不同自定义bios和boot两个是分开的导致自身的boot兼容性差因此需要刷入uboot来支持openwrt。 个人计算机操作系统是通用的系统就是一个软件称作系统软件如果需要支持特殊的硬件就通过驱动进行支持。这个系统软件可以和其他应用软件分别单独工作系统软件可以为应用软件提供用户界面。嵌入式操作系统的核心是为了管理固件为特殊硬件提供的配套软件支持系统的核心是通过web界面管理固件而openwrt是基于Linux的系统来支持管理固件还可以支持各种个样的插件插件运行在操作系统上提供丰富的服务。嵌入式操作系统的重点是固件因为固件才是调动硬件的关键。固件和驱动程序有相似之处但是在本质上还是有一些区别的。首先固件是固化到 ROM 或者闪存等非易失性存储器中并且不容易被修改或替换。而驱动程序通常存在于磁盘或其他可写的存储介质中并且可以随时更新。其次固件是为特定的硬件环境而设计的因此它更加紧凑、高效更易于与硬件相结合。而驱动程序则更加通用一些它可以被多个不同的操作系统共享并且可以从各种不同的源获取。简单理解为特殊硬件提供支持的软件固化在rom中叫固件放在操作系统上叫驱动
2.2软路由和应路由的关系
软路由 固件 在软路由中通常使用嵌入式操作系统例如基于 Linux 的路由发行版如OpenWrt。固件在这里是嵌入在操作系统中的而不同的软件包和配置选项可以通过操作系统的机制进行安装和定制。工作方式 软路由需要完整的操作系统来运行而路由功能是通过运行在这个操作系统上的路由软件实现的。这使得软路由非常灵活可以通过添加软件包来增加新的功能。 硬路由 固件 在硬路由中通常存在一个轻量级的嵌入式操作系统也称为固件。这个固件通常是预先安装在设备上的用于提供基本的路由功能。工作方式 硬路由通常不需要完整的通用操作系统因为它们的设计目标是专注于提供基本的路由服务。这些设备可以直接通过预装的固件进行工作而无需运行类似通用操作系统的完整软件堆栈。 总结 应路由是把系统系统就是软件嵌入到固件中存储在固定的rom上操作系统的作用就是管理固件设置配置参数系统成为嵌入式操作系统而软路由是把固件安装在操作系统上此时的固件其实就是驱动程序在系统中能够安装各种插件实现不同功能严格上讲这不是嵌入式操作系统而就是一个通用的系统。只不过习惯把这两种方式都叫嵌入式操作系统而已。硬路由是不经过操作系统控制的固件可以直接和操作系统系统沟通因此叫嵌入式系统软路由则是驱动程序固件是需要通过操作系统和硬件进行沟通的。
3.开机的过程
BIOS/UEFI阶段 自检POST 电脑通电后主板上的基本输入/输出系统BIOS或统一可扩展固件接口UEFI会进行自检Power-On Self-TestPOST。这一阶段检查计算机硬件的状态包括处理器、内存、显卡、硬盘等。启动加载 BIOS/UEFI会根据预设的启动顺序通常是从硬盘、光盘、USB等加载引导程序。 引导加载程序阶段 引导记录加载 引导加载程序如GRUB或Windows Boot Manager被加载到内存中因此c盘删除的话不重启是不出问题但是重启的话就出问题。这个加载程序负责引导操作系统的启动。但是删根的话会导致系统访问磁盘文件无法进行就会直接出问题操作系统加载 引导加载程序读取操作系统的引导文件比如Windows的ntldr或Linux的vmlinuz。 操作系统加载阶段核心 内核加载 操作系统的引导文件加载操作系统内核到内存中。初始化 操作系统内核开始初始化系统的各个部分建立基本的系统环境。 用户登录阶段 用户登录 操作系统启动后通常会显示登录界面。用户输入用户名和密码进行登录。用户环境初始化 操作系统根据用户的配置初始化用户的桌面环境和其他设置。 用户桌面加载阶段 图形界面加载可选 如果是图形用户界面GUI则加载桌面环境和相关服务。如果是文本界面则直接显示命令行。 用户应用启动阶段 启动应用程序 用户可以开始启动和使用各种应用程序。
启动过程中的引导加载程序Bootloader的主要责任是加载操作系统内核到内存中并将控制权转交给内核这个过程确实是启动过程的核心部分。
一旦操作系统内核加载到内存中并开始运行引导加载程序的使命基本上就完成了。然后内核负责启动和初始化系统的各种组件、服务以及用户空间程序。
启动过程并不仅限于加载内核。内核启动后它会进一步执行系统初始化、设备初始化、加载系统服务如网络服务、文件系统服务等以及用户级应用程序。这些后续的步骤和服务启动的管理通常由操作系统的各种管理器、初始化脚本或服务管理工具来完成。
所以启动过程只是启动了内核而后续的服务加载和应用程序启动确实是由系统内核及相关的管理模块或配置执行的与引导加载程序Bootloader的职责并不直接相关。
4.存储数据相关
4.1.数据文件存储方式
数据文件都是通过二进制的方式存储在磁盘中的1kbyte【百特】1000Kb8000bitascii码通过一字节也就是8bit连续8个二进制表示一个符号用0-127表示常见的换行回车英文字符大小写数字等。通过对字符进行编号就能通过二进制表示任何数字。unicode对ascii码进行升级可以表示已知的任何一个字符对与任何一个字符都使用32bit四个字节进行表示因此就浪费资源。UTF-8字符集合采用可变字节表示字符1-4字节兼容前边的编号设置对于编号只需要1字节的就通过一字节表示多字节就多字节表示弥补了unicode的不足。在计算机图形学中常用的颜色编码方式是RGB红绿蓝颜色模型。每种颜色都由三个分量组成分别表示红色、绿色和蓝色的强度。每个分量通常用8位无符号整数来表示范围为0到255。颜色需要3个字节即24位来存储。这被称为24位真彩色或Truecolor。在这种编码方式下可以表示16,777,216种不同的颜色。红色可以被编码为(255, 0, 0)绿色可以被编码为(0, 255, 0)蓝色可以被编码为(0, 0, 255)。白色可以被编码为(255, 255, 255)黑色可以被编码为(0, 0, 0)。声音也是通过采样扫描编码表示声音的音色响度频率从而存储在磁盘中
4.2磁盘
磁盘是一种存储设备它可以永久地保存数据即使在电源关闭后也能保持数据不丢失。磁盘的开头位置通常用于存放引导记录Boot Record、分区表Partition Table以及文件系统的元数据比如超级块、文件系统结构等。具体内容包括 引导记录Boot Record位于磁盘的最开始位置包含引导加载程序这是启动计算机时系统加载的第一段代码。它指示计算机在哪里找到操作系统并启动该操作系统的加载过程。 作用引导记录位于磁盘的最开始位置包含了启动计算机所需的引导加载程Bootloader。这个引导加载程序指示计算机在哪里找到操作系统并启动加载操作系统内核到内存的过程**核心**。内容引导记录一般包括引导加载程序的代码和指令该程序负责加载操作系统的内核文件使计算机能够启动。 分区表Partition Table紧随引导记录之后的内容它记录了磁盘上分区的信息指示每个分区的起始位置、大小和类型。分区表告诉操作系统如何识别和访问磁盘上的不同分区。 作用分区表位于引导记录之后记录了磁盘的分区信息指导操作系统识别和访问磁盘上的不同分区。引导记录中的引导加载程序确实记录了操作系统内核在磁盘中的位置类似于文件系统中inode表的作用内容分区表包含了磁盘分区的条目每个条目描述了一个分区的起始位置、大小和类型等信息。常见的分区表格式包括传统的MBR主引导记录和新的GPTGUID 分区表。 超级块Superblock对于文件系统而言紧随分区表之后的是超级块。超级块包含文件系统的元数据例如文件系统的类型、大小、空闲块数量、inode表的位置等重要信息。 文件系统类型指示文件系统的类型如EXT4。 文件系统大小指示整个文件系统的总大小。 空闲块和空闲inode数量表示文件系统中可用的空间数量。 块大小确定文件系统中块的大小通常以字节为单位。 inode数量和inode表位置指示文件系统中的inode总数小文件占用过多的inode号则会导致磁盘空间足够但是不能存储数据的情况以及inode表的磁盘存放位置。 挂载信息记录文件系统的挂载次数、上次挂载时间等信息用于维护文件系统的一致性。 文件系统的布局和结构信息包括数据块的分布方式、索引结构等。 元数据是指描述文件系统中文件和目录的数据包括文件的属性、权限、位置等信息。常见的元数据包括
Inode索引节点
每个文件或目录在文件系统中都有一个对应的inode。Inode中存储了文件或目录的元数据如文件类型、权限、所有者、大小、时间戳以及数据块的位置等信息。文件名
文件系统中的目录项包含文件名和对应的inode号码它们一起构成了文件的关联。文件名作为用户识别文件的标识符。权限和属性
包括文件或目录的读取、写入和执行权限以及所有者、所属组、大小、创建时间、修改时间和访问时间等属性。时间戳
包括文件的创建时间ctime、修改时间mtime和访问时间atime这些时间戳记录了文件的不同操作和状态变化时间。数据块指针
对于较小的文件inode直接存储文件数据的指针对于大文件inode会存储指向数据块的指针这些数据块实际上存储着文件的内容。链接计数
记录了指向该inode的硬链接数量。当链接计数归零时系统才会释放该inode所占用的存储空间。扩展属性
一些文件系统支持额外的元数据如扩展文件属性Extended Attributes或访问控制列表Access Control Lists用于存储更多的文件信息或设置更复杂的权限控制。Inode表在文件系统中inode表紧随超级块存储了所有文件和目录的元数据。每个文件或目录都有对应的inode条目包含了文件的权限、所有者、大小和数据块的位置等信息。 Inode索引节点每个文件或目录在文件系统中都有一个对应的inode。Inode存储了文件或目录的元数据如权限、所有者、大小、时间戳以及数据块的位置等信息。例如文件的名称并不直接存储在inode中而是存储在目录项中指向对应的inode。目录项目录是一种特殊的文件其中的条目将文件名映射到对应的inode。目录项包含了文件名和对应的inode号码。权限和属性文件或目录的权限和属性例如所有者、读写执行权限等。时间戳记录文件或目录的创建时间、修改时间和访问时间。数据块指针对于较小的文件inode直接存储文件数据的指针。对于大文件inode会存储指向数据块的指针这些数据块实际上存储着文件的内容。
超级块包含了整个文件系统的信息其中包括了inode表的位置和inode的大小等重要信息。
Inode表是由超级块描述的一部分它存储了文件和目录的元数据比如文件的权限、所有者、大小和数据块的位置等信息。
超级块提供了对inode表的定位和描述而inode表则提供了每个文件或目录的详细元数据信息。
虽然两者都是元数据但超级块更多地关注整个文件系统的全局信息而inode表则关注于单个文件或目录的详细信息。4.3文件系统
文件系统是操作系统的一部分用来管理和组织计算机存储设备上文件和数据的方法。它定义了文件和目录的组织方式、访问权限、存储结构以及如何存储和检索数据的规则。文件系统提供了创建、删除、移动、重命名文件和目录的功能以及分配存储空间和跟踪磁盘使用情况的能力。
文件系统执行以下功能
文件管理文件系统负责管理文件和目录的创建、删除、复制、移动以及对其进行访问和修改的操作。存储管理文件系统管理物理存储设备将文件组织成逻辑上的数据单元负责数据的存储、读取和写入。命名和定位文件系统提供了命名机制使用户能够通过文件名来标识和访问文件。它还负责将文件名映射到文件的物理存储位置。权限和保护文件系统管理文件和目录的访问权限控制哪些用户或进程有权对文件进行读取、写入和执行操作并保护文件不受未经授权的访问或损坏。元数据管理文件系统维护文件和目录的元数据包括文件的属性、权限、时间戳以及文件在存储设备上的物理位置等信息。错误恢复和一致性文件系统需要处理和恢复因存储设备故障或意外断电等原因造成的数据损坏或丢失并确保文件系统的一致性和稳定性。
常见的文件系统包括NTFSWindows系统的文件系统、FAT32、EXT4Linux系统的文件系统、HFS苹果系统的文件系统等它们各自有不同的特点、优势和适用场景。不同文件系统的选择取决于所需的功能、性能、兼容性以及特定操作系统的支持。
4.4磁盘和文件系统的关系
磁盘是物理存储设备而文件系统则是操作系统对磁盘上的数据进行管理和操作的一种逻辑结构通过难过文件系统能够实现管理磁盘储存数据。 访问文件的过程 inode表通过一个唯一的编号即inode号来标识文件并将元数据存储在该inode中。当访问文件时操作系统首先会根据文件名找到对应的inode号然后读取该inode中的元数据信息如文件大小、权限等。此外inode还包含了指向文件数据块的指针操作系统可以通过这些指针找到文件数据的实际存储位置。因此当我们访问一个文件时实际上是在访问该文件的inode和相关的数据块。这也是为什么Linux系统中经常会出现“磁盘空间没占满但inode占满了”的情况因为大量的小文件会导致inode数量不足而无法创建更多的文件。 硬链接和软连接 硬链接Hard Link 硬链接是文件系统中的一个文件和另一个文件可以是文件或目录之间的直接连接它们共享同一个inode和存储块。对于用户来说硬链接就像是同一个文件的多个拷贝对个硬链接指向同一份inode。执行删除的本质是删除硬链接如果有多个硬链接是不会删除inode表的只有删除最后一个硬链接的时候才会删除inode表从而链接不上磁盘这部分磁盘会被标记为可以覆写。硬链接不能跨越文件系统即只能在同一个文件系统中创建硬链接。 软链接Symbolic Link 或 Soft Link 软链接是一个指向另一个文件或目录的特殊类型文件类似于快捷方式。它实际上是一个指向目标文件的路径的指针。删除原始文件并不会影响软链接的有效性但如果目标文件被删除软链接则会失效。软链接可以跨越文件系统允许在不同文件系统间创建链接。 主要区别硬链接是直接连接到inode而软链接是一个指向文件路径的符号链接。硬链接在文件系统中具有更强的连接因为它们共享相同的inode和数据块而软链接则是一个独立的文件存储着指向目标文件的路径。硬链接是指向inode的指针而软连接是指向硬链接的指针 需要注意的是硬链接不能用于目录因为硬链接会造成循环引用。软链接则可以指向文件或目录。