文章目录
windows系统基础
Windows 内核模式与用户模式
Kernel Mode(内核模式)
在内核模式下,代码能够完全、不受限制地访问底层硬件。它可以执行任意CPU指令并访问任何内存地址。内核模式通常用于操作系统的最低层级和最核心的受信任功能。一旦内核模式下的代码发生崩溃,其影响往往是灾难性的,可能导致整个系统瘫痪。
User Mode(用户模式)
在用户模式下,代码无法直接访问硬件或内存,而是需要通过系统API进行操作。这种隔离机制提供了额外的安全保护,使用户模式下的崩溃通常是可恢复的。在计算机上运行的绝大多数代码都在用户模式下执行,从而保证系统的稳定性和安全性。
Windows 服务和进程管理机制
服务(SERVICES)
Windows操作系统中的特殊应用程序类型,其目的是在后台执行某些任务,而不需要用户交互。服务通常在系统启动时启动,并在整个系统运行期间一直在后台运行。
它们可以进行配置,以便按照系统的需要启动或停止。
服务的启动类型:
- 自动(Automatic):系统启动时自动运行。
- 手动(Manual):需要用户或其他服务的请求才会启动。
- 禁用(Disabled):不能被启动。
进程(PROCESSES)
进程是操作系统中运行程序的实例。当启动应用程序时,操作系统会为其分配一个独立的进程。每个进程都有唯一的进程 ID(PID),专属的内存空间,以及一个或多个线程用于执行程序代码。这些资源确保进程能够独立运行,同时与其他进程隔离。
进程是系统资源分配和调度的基本单位。当应用程序启动时,系统会为其分配必需的内存、文件句柄、设备和其他资源。进程可以创建子进程(通常称为父子进程关系),以允许多任务和并行执行。
进程的状态:
- 运行(Running):正在CPU上执行。
- 就绪(Ready):准备执行但正在等待CPU。
- 阻塞(Blocked):等待某个事件(例如,输入/输出操作)。
任务管理与性能监控
任务管理器 (Task Manager)
任务管理器 是windows内置工具,用于查看系统当前运行的应用程序、进程和服务,以及对系统资源的使用情况。
打开方式:
- 使用快捷键
Ctrl + Shift + Esc
或Ctrl + Alt + Delete
后选择“任务管理器” - 在任务栏上右键单击并选择“任务管理器”
主要功能模块:
- 进程:查看所有正在运行的进程及其资源使用情况(CPU、内存、磁盘、网络)。
- 性能:实时监控 CPU、内存、磁盘、网络等硬件资源的使用情况。
- 启动:管理开机启动项,禁用不必要的程序以加快启动速度。
- 用户:查看每个用户的资源使用情况。
- 详细信息:显示更高级的进程信息。
- 服务:管理系统服务(启用、停止或重启服务)。
性能监控器(Performance Monitor)
性能监控器 提供详细的系统性能数据,允许用户监视特定的性能指标,如 CPU 使用率、磁盘活动和内存分配。
打开方式:
- 通过搜索“性能监视器”或运行
perfmon
命令 win + R
输入perfmon
资源监视器(Resource Monitor
资源监视器 提供了更细化的实时资源监控,允许用户查看各进程对 CPU、内存、磁盘和网络的具体占用情况。
打开方式:
- 在任务管理器“性能”选项卡中点击“打开资源监视器”或运行
resmon
命令 win + R
输入resmon
使用场景:
- 排查资源瓶颈,例如内存泄漏或磁盘高负载。
- 分析网络活动,查看每个进程的带宽占用情况。
注册表 (Windows Registry)
Windows 注册表是一个层次化的数据库,用于存储系统、应用程序和用户的配置信息。它是 Windows 操作系统的重要组成部分,对操作系统的正常运行、硬件管理、用户配置以及软件执行有着至关重要的作用。
打开方式:
win + R
输入regedit
- 直接搜索regedir或注册表
注册表结构:
注册表采用树状结构来组织数据,类似于磁盘文件系统的目录结构。每个注册表键(Key)代表一个树的节点,包含一组特定的信息,而每个键名则与它所包含的数据或配置信息相关联。
Windows 注册表共有五个根键(Root Key),它们是系统中最上层的节点,每个根键下可以包含多个子键和相应的值。根键的名称全为大写,用以表示不同的配置信息和功能。
五个根键:
- HKEY_CLASSES_ROOT:文件拓展名与应用的关联以及OLF信息
- HKEY_CURRENT)USER:当前用户控制面板选项与桌面等设置,以及映射的网络驱动器
- HKEY_LOCAL)MACHINE:计算机硬件与应用程序信息
- HKEY_USERS:所有登录用户信息
- HKEY_CURRENT_CONFIG:计算机硬件配置信息
键值
:由名称、类型、数据三部分构成
键值类型
:
字符串值 (REG_SZ)
用于存储文本字符串,是最常见的键值类型。
二进制值 (REG_BINARY)
用于存储任意的二进制数据。
32 位值 (REG_DWORD)
占 4 个字节,通常用于存储数值或布尔类型数据。
64 位值 (REG_QWORD)
占 8 个字节,适合存储较大的数值。
多字符串值 (REG_MULTI_SZ)
用于存储多个字符串,以空字符分隔。
可扩展字符串值 (REG_EXPAND_SZ)
包含可扩展变量的字符串,例如环境变量 %SystemRoot%
。
线程和线程池
线程
线程是进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。
线程与进程的区别
1、进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位
2、同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的
3、如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。
4、一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。
5、每个独立的进程有程序运行的入口、顺序执行序列和程序出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制,两者均可并发执行
线程池(Thread Pool)
线程池 是一种并发编程中常用的技术,用于管理和重用线程。它由线程池管理器、工作队列和线程池线程组成。
在应用程序启动时创建一定数量的线程,并将它们保存在线程池中。当需要执行任务时,从线程池中获取一个空闲的线程,将任务分配给该线程执行。当任务执行完毕后,线程将返回到线程池,可以被其他任务复用。
线程池关键组成部分:
线程池管理器(ThreadPoolExecutor)
:负责创建、管理和控制线程池。它负责线程的创建、销毁和管理,以及线程池的状态监控和调度任务。
工作队列(BlockingQueue)
:用于存储待执行的任务。当线程池中的线程都在执行任务时,新的任务会被放入工作队列中等待执行。
线程池线程(Worker Thread)
:实际执行任务的线程。线程池中会维护一组线程,这些线程可以被重复使用,从而避免了频繁创建和销毁线程的开销。
线程池工作原理:
深入学习可以参考:https://blog.csdn.net/u013541140/article/details/95225769
dos、cmd、powershell
dos
是早期操作系统的基础命令行界面,提供基本文件管理和系统操作功能。
特点:单任务环境,16位架构,直接运行在计算机硬件上(无图形界面)。
cmd
是 Windows 系统中提供的命令行解释器,兼容部分 DOS 命令,同时扩展了更多功能。
特点:32位或 64位架构,支持多任务,运行在 Windows 图形界面之上。
powershell
是 Microsoft 推出的高级命令行工具和脚本环境,集成了命令行界面与脚本语言,功能远超 CMD。
特点:基于 .NET 框架(或 .NET Core),支持跨平台、对象化处理,功能强大且现代化。
特性 | DOS | CMD | PowerShell |
---|---|---|---|
设计目的 | 基础操作系统 | 基础命令行工具 | 系统管理与自动化 |
支持的操作 | 基础文件和磁盘操作 | 文件管理、网络命令 | 文件管理、脚本、系统任务 |
脚本支持 | 无 | 简单的批处理(.bat) | 强大的脚本语言 |
数据处理 | 文本 | 文本 | .NET 对象 |
兼容性 | 仅适用于旧系统 | Windows 系统 | 跨平台(Windows, Linux) |
扩展能力 | 无 | 较弱 | 模块化,功能丰富 |
虚拟化技术Hyper-V
Windows 虚拟化技术是指 Microsoft 提供的一系列技术,用于在单一物理主机上运行多个虚拟化环境,从而高效利用硬件资源,同时隔离操作系统和应用程序以提升安全性和灵活性。
虚拟化技术的核心组件
- Hyper-V
- 概念:Windows 提供的原生虚拟化解决方案,允许用户在一台物理计算机上运行多个虚拟机(VM)。
- 架构:基于 Type-1 的裸机型虚拟化,即虚拟化管理程序直接运行在硬件上,性能更高。
- 主要功能
- 支持多种操作系统(Windows、Linux 等)作为虚拟机。
- 动态内存分配、快照、虚拟网络配置等。
- 集成 Hyper-V Replica,用于虚拟机灾难恢复。
- 支持 GPU 加速(用于图形密集型工作负载)。
- Windows Sandbox
- 概念:轻量级的虚拟环境,用于隔离和运行不受信任的应用程序。
- 特点
- 无需额外配置,随操作系统自动生成和销毁。
- 适用于快速测试未知软件或文件,避免污染主系统。
- Windows Containers
- 概念:基于操作系统级虚拟化技术,允许运行多个隔离的应用程序实例。
- 特点
- 使用 Docker 或 Kubernetes 等工具进行管理。
- 更轻量化,启动速度快,资源利用率高。
- 适用于微服务架构开发和云原生应用部署。
虚拟化技术的关键特性
- 资源抽象与分配
- CPU、内存、存储、网络等硬件资源可动态分配到不同的虚拟机或容器。
- 支持动态扩展或减少分配的资源。
- 高可用性与灾备支持
- Hyper-V Replica 和 Failover Clustering 提供虚拟机的高可用性。
- 支持虚拟机的实时迁移(Live Migration)和存储迁移。
- 隔离与安全
- 每个虚拟机或容器都运行在独立的环境中,互不干扰。
- Windows Sandbox 可隔离潜在恶意程序运行,防止影响主机系统。
- 兼容性与集成性
- 支持主流的虚拟硬件和操作系统。
- 与 Microsoft Azure 深度集成,可轻松实现本地和云端虚拟化资源的迁移。
典型应用场景
- 开发与测试
- 使用 Hyper-V 创建虚拟机来测试不同操作系统和软件环境。
- 使用 Windows Containers 部署和测试微服务。
- 服务器虚拟化与资源整合
- 在一台服务器上运行多个虚拟服务器,提升硬件利用率。
- 实现虚拟机之间的资源隔离,保障运行稳定。
- 桌面虚拟化
- 使用虚拟机或 Windows Sandbox 隔离工作环境与测试环境。
- 灾难恢复与备份
- 使用 Hyper-V Replica 在不同的物理主机间复制虚拟机,实现业务的高可用性。
- 云计算和混合云
- 将本地虚拟机迁移到 Azure 云,实现混合云部署。
- 使用 Azure Kubernetes 服务管理容器化应用。
优势与局限性
- 优势
- 原生支持,集成于 Windows 操作系统中,无需额外付费。
- 与 Azure 云服务无缝集成,易于迁移和扩展。
- 安全性高,支持多层次隔离。
- 局限性
- 对比其他第三方虚拟化工具(如 VMware),某些高级功能较弱。
- Hyper-V 需要特定的硬件支持(如 CPU 虚拟化扩展)。
文件系统
Windows 文件系统管理着操作系统和用户数据的存储与访问,是系统运行的重要基础。下面是文件系统部分应该加入的核心内容,按照层次和用途分门别类地进行说明。
一、文件系统概述
- 定义
文件系统是操作系统用于组织、存储和管理文件及目录的数据结构。Windows 支持多种文件系统,每种都有其特定的功能和特点。 - 作用
- 提供存储设备的逻辑抽象(例如,驱动器、分区、卷)。
- 管理文件和目录的存储位置及访问权限。
- 支持数据的读取、写入、共享和安全性。
- Windows 支持的主要文件系统
- FAT 系列(FAT12、FAT16、FAT32)
- NTFS(New Technology File System)
- exFAT(Extended File Allocation Table)
- ReFS(Resilient File System)
二、Windows 文件系统类型详解
-
FAT 系列
-
特点:
- FAT16 和 FAT32 是早期文件系统,适用于小型存储设备。
- FAT32 支持最大分区 2TB,单文件大小限制为 4GB。
-
应用场景 :
- 用于兼容性需求(如 U 盘、嵌入式设备)。
-
优点:
- 跨平台支持广泛(Windows、Linux、macOS)。
-
缺点:
- 安全性和可靠性较差,不支持高级权限管理。
-
-
NTFS
-
特点:
- Windows 默认文件系统,支持大文件和大分区。
- 提供文件级别的访问控制和加密(ACL 和 EFS)。
- 支持磁盘配额、快照、压缩等高级功能。
-
优点:
- 高效的磁盘利用率。
- 支持文件权限和日志记录,增强数据安全性。
- 适用于 HDD 和 SSD。
-
应用场景:
- 用于 Windows 操作系统分区、数据分区等。
-
-
exFAT
-
特点:
- 设计用于可移动存储设备(如 U 盘和 SD 卡)。
- 支持大文件和大分区,但不具备 NTFS 的安全性。
-
优点:
- 支持文件大小超过 4GB。
- 兼容性较强,适用于移动设备和跨平台应用。
-
-
ReFS
-
特点:
- 为数据中心和云环境设计,专注于数据完整性和容错能力。
- 支持数据校验、自动修复和更大的文件/分区规模。
-
优点:
- 提高可靠性,适合关键任务应用。
-
应用场景:
- 用于服务器存储、虚拟化、备份等场景。
-
三、Windows 文件系统的核心特性
- 目录结构
- Windows 文件系统以树状目录结构组织文件和文件夹。
- 根目录通常是驱动器号(如
C:\
)。
- 分区和卷
- 分区:存储设备划分的逻辑区域。
- 卷:文件系统分区的逻辑表示(如简单卷、跨区卷、RAID 卷)。
- 权限管理
- NTFS 提供访问控制列表(ACL),可以对文件和文件夹设置精细化权限。
- 支持用户组权限分配,提升文件共享安全性。
- 文件属性
- 普通属性(只读、隐藏、系统等)。
- 扩展属性(压缩、加密等)。
- 数据恢复
- NTFS 支持日志记录,可在系统崩溃后恢复数据。
- ReFS 提供实时数据校验和自动修复功能。
四、文件系统的管理与操作
- 常用管理工具
- 文件资源管理器(GUI)
- 命令行工具(如
dir
、attrib
、diskpart
等) - 磁盘管理(Disk Management)
- 格式化与分区
- 格式化磁盘时需要选择文件系统类型(如 NTFS、exFAT)。
- 使用
diskpart
或磁盘管理工具进行分区和卷管理。
- 文件压缩与加密
- NTFS 支持透明压缩,节省存储空间。
- 使用加密文件系统(EFS)保护敏感数据。
- 磁盘配额
- NTFS 支持设置用户磁盘配额,防止存储空间被单个用户占用过多。
- 备份与还原
- Windows 提供文件历史记录和备份工具,结合文件系统功能保护数据安全。