首页 > 代码库 > 操作系统简述

操作系统简述

本篇总体分为几个部分:

系统的简单概述

计算机系统是怎么加载的

分区的概念

系统安装扩展

系统的安装过程

linux系统的特点

1.系统的简单概述

  操作系统是作为一般应用系统和计算机硬件之间的中间层,计算机硬件通过操作系统进行组织和接管,由系统进行管理内存,cup资源等,应用通过使用系统的API向系统获取资源,在计算机系统中以进程的形式服从系统的调度。其中涉及进程的同步,优先顺序,资源的锁定,作业调度等。

简单说,操作系统在我看来有三个维度:

  •   对用户:提供一套简单易用的操作(图形化和命令)进行系统的操作,完成分配给系统任务(加载应用,使用应用),用户到系统之间的资源输入输出(各种文件保存和展示)。
  •   对计算机硬件:计算机硬件主要包括内存、cup、io、存储设备,通过系统组织,可以形成整体,完成自动化
  •   对一般的应用:只需要向系统申请资源完成自己的操作即可,不同关心底层的实现,也不同关心和其他应用之间的相互影响。

2.计算机系统是怎么加载的

  • BIOS(基本输入输出系统),是直接和硬件打交道的底层代码,一般固化保存在ROM中。计算机通电后,cup读取默认地址的第一条指令,该指令会跳转到BIOS中,开始BIOS系统。
  • BIOS系统主要执行两个功能,计算机自检、加载引导扇区
  1.   自检,系统BIOS查找各种设备的BIOS程序,调用这些BIOS内部的初始化代码来初始化相关的设备。完成计算机各种关键设备的检车和各种硬件设备的初始化。
  2.   系统BIOS更新ESCD(扩展系统配置数据),这个过程就是BIOS把基本的硬件保存在一个CMOS(特殊ram主板电池供电)中,提供之后的系统进行调用。
  3.  加载引导扇区中的概念:

BIOS将磁盘第一个物理扇区(512字节)加载到内存中,这个扇区称为Boot Sector(引导扇区),包含MBR、DPT、Boot Record ID三部分组成: 

MBR主引导记录,占引导扇区的前446个字节,存放系统主引导程序,负责从硬盘中装载运行系统引导程序,这里的代码定义了磁盘中是否已经安装有操作系统,并定义了启动的方法。

DPT主分区表,占64个字节,记录磁盘的基本信息(每个主分区的信息占16个字节,因而磁盘最多有4个主分区),这分区表定义了磁盘是否是活动的分区,也就是确定磁盘能被系统操作。

Boot Record ID引导区标记,标记是否是合法分区,占两个字节。

  1. 加载引导扇区:
    •  把上述的MBR进行检查,如果有,则会把MBR加载到内存中,将系统的控制权限交给主引导程序;
    •  接下来,MBR程序搜索活动分区表,把第一个扇区PBR加载,安装了不同的操作系统中的DBR内容不一样;
    •  以win7来说,这里面是bootmgr,加载了这个文件后,其会查找硬盘中的PCD(启动设置数据)文件,这个文件记录的是多重的操作系统的菜单,也就是装多系统时可以记录不同系统的启动程序地址,可以选择启动哪个系统。再之后对win7来说就是执行exe文件了。
    •  以linux来说,常见的是GRUB引导,GRUB可以建立在MBR中,也可以建立在活动分区中,也就是可以在win系统中的BCD文件中指向一个活动分区中的linux的引导程序GRUB,进行加载。
    •  GRUB可以理解为一个小型操作系统,其指向linux内核映像,启动后,GRUB解压内核,初始化加载主要函数到内存中,执行第一个进程init,开始系统的初始化。

    技术分享

 

3.分区的概念

  • 分区的目的是把硬盘进行格式化,创建分区的过程就是把硬盘的各项物理参数设置,指定硬盘MBR的位置。
  • 主分区是一中比较单纯的分区,格式化后形成最多四个分区,为了形成多分区,而引入了扩展分区,扩展分区是把其中的一个分区进行扩展,把一个分区分为多个扩展分区。
  • 把其中的一个主分区设置为活动分区,操作系统安装在活动分区中,从活动分区中加载
  • 磁盘进行分区格式化(低级格式化)后,要使得操作系统能识别,就需要操作系统对磁盘进行指定文件系统,这个过程就是高级格式化,高级格式化把磁盘进行组织记录,完成系统识别磁盘和接管磁盘。
  • 分区的格式,分区的格式不同的操作系统支持的格式不一样,window中长分为FAT,FAT32,NTFS,linux中有Ext2/3/4 、linux swap、VFAT(长文件名系统,可以与window兼容)

 4.系统的安装过程

广义上的系统安装一般分为两个派系

  1. 使用系统的安装镜像IOS进行安装

系统的IOS镜像可以是光盘中,也可以把u盘通过软件进行ios文件加载,并把u盘设置让系统识别成光盘;之后一样的原理,系统加载BIOS-->设置从光盘启动,系统加载光盘中的内容到内存,进行系统安装。系统安装过程会有相应的程序进行对磁盘的格式化等操作。

  1. 使用u盘,从u盘进行引导,把u盘中的简单系统进行加载到内存中,加载系统后再进行对磁盘管理或者系统修复。
    •  u盘格式化,使用软件把u盘激活成活动分区(DiskGenius硬盘分区工具)
    •  写入u盘活动分区的PBR,使系统加载PBR的时候指向bootmgr,加载u盘中的系统
    • 复制相应的系统启动文件到u盘中
    • 修改BIOS中,从U盘启动

这样,系统的启动就变为了 BIOS-->u盘(MBR)-->u盘(PBR)-->系统启动(u盘中的简单系统)

进入这个u盘的系统之后,一般提供了多种功能:gost恢复系统,磁盘工具,引导修复

5.系统安装扩展

  • 磁盘分区表格式:MBR、GPT  
    • MBR分区表,其实一种磁盘的组织形式,或者说是系统对磁盘的一种描述,MBR扇区肩负管理磁盘功能,不属于任何分区。512字节,当中的分区表64字节,描述4个主分区,其决定了磁盘自能是四个以内的主分区。
    • GPT分区表:全局唯一标识分区表,是一个实体磁盘的分区表的结构布局的标准;GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头。特点是能支持128个主分区
  • BIOS引导模式:Legacy BIOS、UEFI BIOS
    • 传统的Legacy BIOS:无法识别GPT分区表格式,只能对应着MBR分区的磁盘。
      • LegacyBIOS→MBR→“活动的主分区”→\bootmgr→\Boot\BCD→\Windows\system32\winload.exe
      • 一个BCD文件可以加载多个系统启动文件从而实现引导多个系统的启动
      • MBR磁盘格式下,windows系统的启动文件(bootmgr、BCD)必须存放在活动的主分区内,这样才能正常引导系统启动(MBR磁盘分区格式下,只允许有一个分区是活动的)。
  • UEFI BIOS:可同时识别MBR分区和GPT分区,所以UEFI下,MBR和GPT磁盘都可用于启动操作系统。
    • UEFIBIOS→EFI系统分区(FAT格式的分区)—>\efi\Microsoft\boot\bootmgfw.efi→efi\Microsoft\BCD→\Windows\system32\winload.efi
    • (对比legacy引导发现,UEFI的引导文件为winload.efi,而Legacy的引导文件为winload.exe)

6.linux系统的特点

  •  1.基本思想

Linux的基本思想有两点:一切都是文件和每个软件都有确定的用途。

其中第一条详细来讲就是系统中的所有都归结为一个文件,包括硬件设备和软件、操作系统、进程等对于操作系统内核来说,都被视为拥有各自特性或类型的文件。

  • 2. 完全开源
  • 3.多任务,多用户; 各自用户之间通过权限设置,不相互影响,对文件有各自的权限。

总的来说,linux给了用户所有的权限,让用户能完全自己做决定,用户需要知道自己做什么。

操作系统简述