总字符数: 13.85K
代码: 2.50K, 文本: 6.79K
预计阅读时间: 40 分钟
操作系统
定义
一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序.根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等.
操作系统组成部分
- 系统调用:是操作系统提供给程序设计人员的一种服务
- 内核:是操作系统的核心
- 内核是操作系统最基本的部分
操作系统的主要特征
特征 描述 并发 支持多进程/线程同时处理,单核通过时间分片,多核实现物理并发. 共享 资源可被多进程使用,包括实时共享和虚拟共享. 虚拟 物理资源可被抽象成虚拟单位,增加系统灵活性和效能. 随机 响应并处理随机事件如设备中断和用户输入,事件发生顺序不可预测. 异步 进程不必遵循严格顺序执行,系统管理非线性和不确定性行为.
Vmware虚拟机里可以装虚拟机吗?
是否可行?
从理论上讲,嵌套虚拟机(即在一个虚拟机内部运行另一个虚拟机)是完全可行的.这取决于主机硬件的计算能力和虚拟化技术的支持.如果主机硬件(如CPU和内存)足够强大,它可以支持多层次的虚拟化.然而,实际上这样做可能会遇到性能瓶颈,因为每一层的虚拟化都会引入额外的开销.
一定行吗?
虽然理论上可行,但在实践中不一定总是如预期那样工作.许多虚拟化产品特性,尤其是那些依赖于硬件辅助的功能(如Intel VT-x或AMD-V),可能在嵌套虚拟化环境中无法有效工作或者根本不可用.这可能会限制某些应用程序的运行,或者导致性能不佳.
有意义吗?
嵌套虚拟化具有实际应用价值,特别是作为开发和测试工具.例如,开发人员可以利用桌面虚拟化应用来创建实验环境,测试软件的新特性,如测试新版本的QQ.此外,嵌套虚拟化也允许测试和学习新的或更新的虚拟化产品,而不会影响物理主机的稳定性.您提供的实例,在VMware中运行配备Hyper-V的Windows 8.1,就是一个很好的实践案例,表明嵌套虚拟化可以用来探索和学习虚拟化技术的不同方面.
初始windows
什么是Windows?
Microsoft Windows: 微软公司研发的操作系统家族
- 简介: 美国微软公司研发的操作系统,首次发布于1985年.最初,Windows仅作为Microsoft-DOS的图形用户界面扩展.
- 发展: 经过多年的不断更新和升级,Windows系统变得更加用户友好,并逐渐成为全球最受欢迎的操作系统之一.
- 技术演进:
- 图形用户界面(GUI): Windows采用的图形化界面,与以往基于文本的DOS指令输入相比,提供了更加直观和易于使用的操作体验.
- 系统兼容性: 随着电脑硬件和软件技术的进步,Windows系统也相应升级,从最初的16位架构发展到32位,再到现在广泛使用的64位架构.
- 版本历史:
- 早期版本: Windows 1.0
- 广为人知的版本: Windows 95、Windows 98
- 新千年版本: Windows ME、Windows 2000、Windows XP
- 现代版本: Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10
- 企业级: Windows Server系列
windows账号
Windows用户账号和计算机管理(本地)
- 用户账户特点:
- 不同的用户身份拥有不同的权限.
- 每个用户账号包含一个名称和一个密码.
- 用户账户拥有唯一的安全标识符(SID),这是一个用来唯一标识用户、组和账号的号码.该标识符在账号首次创建时生成,并在网络上唯一.
- 用户账号类型:
- Administrator(管理员账户)
- DefaultAccount(默认账户)
- Guest(访客账户)
- WDAGUtilityAccount(用于Windows Defender应用程序守护)
- 用户账户管理工具:
- 系统工具
- 任务计划程序
- 事件查看器
- 文件共享管理
- 本地用户和组管理
- 性能监视
- 高级账户管理操作:
- 使用
whoami /user
命令查看当前用户的SID. - 通过
secpol.msc
打开本地安全策略进行策略配置.
- 使用
- 特别指令:
C:\Users\>whoami
:显示当前的用户信息.用户名:desktop-s
:示例用户名.
权限
- Windows常用用户账号及其权限等级:
- SYSTEM: 本地计算机上拥有最高权限的用户账户,为系统核心组件及服务访问计算机资源提供全面权限.
- Administrator: 默认的系统管理员账户,拥有几乎所有权限,可进行系统设置和更改.
- User: 普通用户,拥有进行日常操作所需的权限,但不能进行影响其他用户或系统安全的操作.
- Guest: 来宾用户,权限最少,通常只用于非常基础的操作,且默认情况下是禁用的.
- 详细权限说明:
- SYSTEM: 通常不由普通用户使用,它允许操作系统及其服务以最高权限运行,确保系统稳定和安全.
- Administrator: 可以安装软件、更改系统设置、管理其他用户账号和权限等.
- Guest: 通常用于临时访问,不允许更改系统设置或安装新软件.
Windows Server
Windows Server 是一个专门为企业级用户和网络服务设计的操作系统,它由微软公司开发,为用户提供了一系列的服务和应用程序,如网络资源管理、Web服务器能力、用户和组管理、消息传递、文件和打印服务等.Windows Server 提供了不同的版本,以满足各种规模和需求的企业,比如 Windows Server 2012、2016、2019 以及最新的 Windows Server 2022.
每个版本的 Windows Server 都在前一个版本的基础上增加了新的功能和改进,例如更好的安全性、改进的虚拟化技术、更方便的管理工具和更高的性能.Windows Server 在企业环境中通常用作域控制器(运行Active Directory来管理用户和资源)、文件和打印服务器、Web服务器(运行IIS)、邮件服务器(运行Exchange Server)及其他专业应用服务器.
Windows Server 的特点包括但不限于:
- 用户和资源管理 - Active Directory是Windows Server的一个核心组件,可以管理网络上的用户帐户和资源.
- 虚拟化支持 - Hyper-V允许用户在单个物理服务器上创建和管理多个虚拟机.
- 安全性功能 - 提供了多种安全功能,包括加密服务、访问控制和防病毒集成.
- 存储解决方案 - 包括不同的存储技术,比如文件系统、存储空间直通和数据去重.
- 网络服务 - 包括DNS、DHCP和IPAM等网络基础设施服务.
- 远程访问 - 提供了远程桌面服务,允许用户远程连接和使用服务器资源.
- Web和应用平台 - Windows Server能够托管网站、应用程序和服务,如使用IIS提供Web服务.
- 自动化和脚本工具 - PowerShell是一个强大的脚本语言和命令行接口,用于自动化和管理任务.
这里推荐一个博客专栏,对于Windows Server讲的很详细
目录
系统目录:
- 此电脑 > 本地磁盘 (C:) > Windows: Windows操作系统的主目录,包含了整个系统运行所需的文件和程序.
关键子目录:
- All Users目录: 所有用户共享的数据存储位置,包括共用的开始菜单、桌面设置等.
- Command目录: 包含Windows和DOS环境下常用的命令行工具,例如
chkdsk
(检查磁盘)、format
(格式化磁盘)、fdisk
(磁盘分区工具)等. - Config目录: 存放Windows系统的硬件配置文件,用于系统启动和硬件识别
- Desktop目录: 存放用户桌面上的所有图标和快捷方式,这些文件与桌面上显示的图标动态同步.
- Downloaded Program Files目录: 通常为Internet Explorer下载的ActiveX控件和Java applets的存放地点.
- System32目录: Windows系统的核心文件夹,包含系统文件和硬件驱动程序.是系统稳定和功能实现的关键所在.
重要的系统文件夹:
System和System32:这两个目录对于Windows的运行至关重要,它们包含了操作系统的核心文件和硬件驱动程序等信息.
SAM文件内有密码信息
当然,可以为您提供一个综合解释,结合了上述两段内容,对于这些关键的Windows系统文件和目录:
windows\System32\config\SAM
:
这是Windows系统中非常关键的文件,因为它存放了加密的用户账号密码信息.具体来说,它是Security Accounts Manager (安全账户管理器) 的数据库,记录着每个用户的账户信息、加密的密码哈希值以及安全描述符等敏感数据.出于安全考虑,这些信息都不会以明文形式存储,而是通过加密保护.windows\System32\drivers\etc\hosts
:
这个文件对于网络配置至关重要.它是一个简单的文本文件,允许用户自定义域名到IP地址的映射.例如,在文件中,您可能会看到如下内容:1
2
3127.0.0.1 localhost
192.168.1.10 myprinter.local
93.184.216.34 example.com这样,当尝试访问
example.com
时,系统会优先查询hosts
文件而不是发送请求到DNS服务器.这就是为什么恶意软件可能会试图修改这个文件以改变域名解析结果,进行网站劫持.事件查看器日志文件:
Windows事件查看器记录了多种类型的系统日志,用以追踪应用程序、安全、系统等方面的事件.例如,安全日志可能会记录用户的登录事件,展示出登录用户的名称、域、登录ID和登录类型.1
2
3
4
5
6安全性-成功审核:
用户登录成功:
用户名: JohnDoe
域: WIN-DESKTOP
登录ID: 0x20F3D
登录类型: 2Program Files
目录:
这是Windows系统默认的应用程序安装目录.在这里,各种软件会存放它们的执行文件(.exe
)和动态链接库文件(.dll
),这些文件是软件运行的必要组件.以”Feige”软件为例1
2C:\Program Files\Feige\Feige_setup.exe - 安装程序
C:\Program Files\Feige\FeigeShlExt64.dll - 应用程序的一个组件或插件
文件权限
- 完全控制(Full Control): 用户可以对文件或文件夹做任何事情,包括修改权限、更改所有者、删除、读取、写入、执行等.这是最高级别的权限,通常只为系统管理员或特定需要的用户组设置.
- Authenticated Users: 通过系统认证的所有用户.
- SYSTEM: 指代系统账户,它具有操作系统内几乎所有权限,用于执行系统任务.
- Administrators (DESKTOP-S5SQ6LB\Administrators): 特定计算机(在这个例子中为DESKTOP-S5SQ6LB)的管理员组.
- 修改(Modify): 用户可以修改或删除文件和文件夹,也可以写入新的数据,但不能更改权限或所有者.
- Users (DESKTOP-S5SQ6LB\Users): 特定计算机的普通用户组,它包含了该计算机上的几乎所有用户账户.
- 读取和运行(Read & Execute): 用户可以运行文件中的程序,阅读文件内容,浏览和访问文件夹中的项目,但不一定能修改它们.
- 列出文件夹内容(List Folder Contents): 与”读取和运行”类似,但主要是针对文件夹结构,允许用户查看文件夹内的项目列表.
- 读取(Read): 用户可以查看文件内容以及文件夹中的项目,还可以查看文件或文件夹的属性、所有者和权限,但不能做出任何更改.
- 写入(Write): 用户可以在文件夹中创建新文件或文件夹,修改文件夹的属性,但不允许删除文件或文件夹.
服务
服务:(端口区分服务)服务是一种应用程序类型,它在后台运行.服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序.
服务其实就是定义理论计算机的一些功能.
要打开服务管理器,您可以按照以下步骤操作:
- 使用快捷键
Win+R
打开”运行”对话框. - 输入
services.msc
并按Enter
键.
这样就会打开Windows的服务管理控制台,您可以查看和管理系统中的所有服务.服务的状态可以是运行中、已停止、暂停、禁用等.
服务的作用可以归纳为:
- 功能启用:服务决定了计算机上哪些功能可以使用.例如,如果打印机服务被禁用,用户将无法打印文档.
- 功能对应性:不同的服务提供不同的功能.比如,
DHCP
服务负责自动分配IP地址,Print Spooler
服务管理打印队列. - 资源共享:服务使得计算机可以有效地共享其资源.例如,文件共享服务允许网络上的其他计算机访问特定的文件夹和文件.
常见服务
- Web服务: 允许计算机托管网站和Web应用程序,通常使用HTTP(超文本传输协议)或HTTPS(安全超文本传输协议)来访问.在Windows上,这通常是指Internet Information Services (IIS).
- DNS服务(Domain Name System): 解析域名到IP地址,是使得用户可以通过人类可读的域名访问网站而不需要记忆复杂的IP地址的服务.
- DHCP服务(Dynamic Host Configuration Protocol): 自动为网络上的设备分配IP地址、子网掩码、默认网关和DNS服务器信息等网络配置信息.
- 邮件服务: 处理、发送和接收电子邮件.在Windows服务器上,这可能指的是Microsoft Exchange Server或其他邮件服务器软件.
- Telnet服务: Telnet是一个旧的网络协议,用于提供文本界面远程登录服务,允许用户通过网络连接到远程计算机.由于安全性较低,现在更推荐使用SSH.
- SSH服务(Secure Shell): 是一个加密协议,用于安全地访问远程计算机.SSH提供了安全的网络服务、远程命令执行等功能.
- FTP服务(File Transfer Protocol): 用于在网络上的计算机之间传输文件.FTP可以用于上传和下载数据,但它不加密传输的数据,因此被认为不如SFTP或FTPS安全.
- SMB服务(Server Message Block): 是一种网络文件共享协议,允许在局域网络内的计算机之间共享文件和打印机等资源.在Windows环境中,这通常与文件和打印共享设置相关联.
进程
进程是计算机中的一个执行实例,是操作系统分配资源和调度执行的基本单位.当你运行一个程序时,系统为它创建一个进程,进程会拥有运行该程序所需的所有资源,包括内存、处理器时间、磁盘空间和输入输出设备.每个进程都有一个独一无二的进程标识符(PID).
一个进程通常包括以下几个部分:
- 代码区域:存储可执行程序的代码.
- 数据区域:存储变量和动态分配的内存.
- 堆栈区域:包含执行运行时的函数参数、局部变量和返回地址.
进程能够执行任务,处理数据,并与其他进程进行通信.操作系统通过进程管理来确保平稳有序的执行多个任务,这包括进程创建、执行、暂停和终止,以及进程间通信和同步.进程管理是现代计算机操作系统中最复杂和关键的部分之一.
- conime.exe: 与输入法编辑器有关的系统进程,能够确保正常调整和编辑系统中的输入法
- csrss.exe: 客户端/服务器运行时子系统(Client/Server Runtime Subsystem),负责管理Windows图形显示,处理用户与系统交互的基础界面任务.
- ctfmon.exe: 与微软的文本服务框架有关并负责输入法的管理,确保语言栏能正常显示在任务栏中.
- explorer.exe: Windows资源管理器,是Windows图形用户界面的核心组成部分,提供桌面环境、任务栏、文件管理等功能.
- lsass.exe: 本地安全权限管理系统(Local Security Authority Subsystem Service),负责验证用户登录Windows的过程.
- services.exe: 服务控制管理器(Service Control Manager),负责启动、停止和管理后台服务的进程.
- smss.exe: 会话管理子系统(Session Manager Subsystem),负责管理Windows用户会话的启动过程.
- svchost.exe: 服务主机进程(Service Host),用于加载由DLL文件实现的服务.
- system: 系统进程,负责管理系统级别的功能和页面文件(虚拟内存).
- System Idle Process: 系统空闲进程,当CPU处于空闲状态时会运行,不是实际的进程,而是一个用于计算空闲CPU资源的指示器.
- winlogon.exe: Windows NT登录程序,负责管理用户的登录和注销过程.
注册表
注册表是Microsoft Windows操作系统中的一个重要组件,它用于存储系统设置和配置信息.注册表包含了与操作系统、安装的应用程序、系统硬件和用户偏好设置相关的信息,这些信息组织在一个层次化的数据库中.
注册表主要由以下几个”根键”构成:
- HKEY_CLASSES_ROOT (HKCR):存储了文件类型关联信息.
- HKEY_CURRENT_USER (HKCU):包含当前登录用户的配置信息.
- HKEY_LOCAL_MACHINE (HKLM):包含计算机的硬件和软件配置信息.
- HKEY_USERS (HKU):包含所有用户的配置信息.
- HKEY_CURRENT_CONFIG (HKCC):包含当前硬件配置信息.
- HKEY_PERFORMANCE_DATA:存储性能数据.
注册表的打开方式如下:
在大多数版本的Windows操作系统中,可以通过以下步骤打开注册表编辑器(Regedit):
- 按下
Win+R
组合键打开”运行”对话框. - 输入”regedit”然后按Enter键或点击”确定”.
- 这会打开注册表编辑器,你可以浏览和修改注册表项.
DOS命令
DOS(全称为Disk Operating System,被称为磁盘操作系统)是计算机上的一种基于磁盘管理的操作系统.它允许用户直接操作和管理磁盘上的文件.大多数计算机在出厂时会自带DOS操作系统.
MS-DOS
MS-DOS,即Microsoft Disk Operating System的简称,是由美国微软公司(Microsoft)提供的磁盘操作系统版本.在Windows 95发布之前,DOS是个人计算机的基础,而MS-DOS是最广泛使用的版本.
DOS充当了人与计算机硬件之间的桥梁,是一层封装硬件复杂性的”外壳”.
使用DOS时,用户不必深入理解硬件结构或记忆复杂的机器指令.通过简单的类自然语言的DOS命令,可以轻松完成大多数日常操作.
此外,DOS有效地管理各种软硬件资源,并进行合理调度,确保软件和硬件在其监控和管理下有序工作.
DOS和Windows的区别
本质
DOS和Windows都是微软公司推出的操作系统.Windows可以视为DOS的图形界面扩展或后继版本,相比于DOS,Windows在用户接口和多任务处理上有了质的飞跃.
DOS特点
- 实模式操作系统.
- 仅支持单任务单用户.
- 文字交互界面(非图形化).
- 快速响应操作.
- 需要通过特定的DOS命令进行操作,例如远程操作等高级功能.
Windows特点
- 图形用户界面(GUI).
- 支持多任务多用户.
- 简化操作,主要通过鼠标点击进行.
- 由于多任务特性,可能存在安全隐患.
关键区别
Windows中的cmd命令提示符不是真正的DOS,而是Windows在图形环境中模拟的DOS环境.它用于执行某些高级命令,这些命令在纯DOS环境中更高效.真正的DOS是一个独立的操作系统,而非Windows系统的一部分.
命令和批处理
在早期的操作系统中,DOS命令和批处理命令是用于执行操作的命令集合.下面详细解释了它们之间的主要区别:
DOS命令
DOS命令是一系列可以在DOS操作系统中直接执行的指令.它们用于在命令行界面(CLI)下执行诸如文件管理、系统检查等特定操作.
- 例子:
DIR
:显示目录内容.COPY
:复制一个或多个文件到另一位置.
DOS命令在执行完毕后,控制权会返回到命令行,等待用户输入新的命令.
批处理命令
批处理命令是将一系列DOS命令按照特定顺序组合在一个文本文件中,这个文件通常具有扩展名.bat
或.cmd
.
- 特性:
- 自动化: 通过执行批处理文件,可以自动连续执行所有列出的命令.
- 控制结构: 包括条件语句、循环等,允许根据特定条件执行或跳过某些命令.
- 方便: 用户可以通过单次执行批处理文件来完成复杂的任务序列,而不必手动输入每个命令.
总结
DOS命令适用于单次任务,方便快捷,而批处理文件则适用于需要一系列操作的批量处理任务,可以实现高效的任务自动化.批处理命令在需要重复性任务处理时尤其有用,它们显著提高了效率,减少了手动执行命令的需要.
Windows 命令行操作指南
在Windows操作系统中,命令行(CMD)提供了一组丰富的命令,用于执行各种任务,如文件管理、系统状态查询和网络操作等.以下是一些常用的DOS命令和批处理命令
文件和目录操作命令
1. 查看目录内容 (dir)
1 | dir [盘符:][路径][文件名] [参数] |
2. 创建新目录 (md/mkdir)
1 | md [盘符][路径] |
3. 删除目录 (rd/rmdir)
1 | rd [盘符][路径] |
4. 进入指定目录 (cd)
1 | cd [路径] |
5. 拷贝文件 (copy)
1 | copy [源目录或文件] [目的目录或文件] |
6. 移动文件 (move)
1 | move [源目录或文件] [目的目录或文件] |
7. 删除文件 (del)
1 | del [盘符][路径][文件名] [参数] |
8. 重命名文件或目录 (ren/rename)
1 | ren [原名] [现名] |
9. 查看文本文件内容 (type)
1 | type [文件名] |
10. 新建文本文件
1 | # 使用以下命令之一新建文件: |
网络工具命令
11. 查看本机IP (ipconfig)
1 | ipconfig # 显示简单信息 |
12. 测试网络连通性 (ping)
1 | ping [ip或主机名] # 基本用法 |
13. 查看网络连接状态 (netstat)
1 | netstat -ano # 查看网络连接、状态以及对应的进程ID |
系统操作命令
14. 清屏 (cls)
1 | cls |
15. 查看系统日期和时间
1 | echo %date% %time% |
16. 显示操作系统版本 (ver)
1 | ver |
17. 关机命令 (shutdown)
1 | shutdown -s # 关机 |
18. 退出命令行环境 (exit)
1 | exit |
其他实用命令
19. 修改CMD窗口标题和颜色 (title, color)
1 | title 新的标题名 |
20. 查看和设置环境变量 (set)
1 | set # 显示所有环境变量 |
21. 创建批处理文件示例
1 | # 在桌面创建批处理文件'hah.bat',内容为打印信息 |
进阶网络命令
22. 查询DNS信息 (nslookup)
1 | nslookup www.example.com |
23. 追踪路由 (tracert)
1 | tracert [目标IP或域名] |
24. 生成目录树 (tree)
1 | tree /F /A |
25. 文件隐藏与属性设置 (attrib)
1 | attrib +h [文件或文件夹名] # 隐藏 |
高级命令行技巧
26. 使用find和findstr进行文本搜索
1 | find "[字符串]" [文件名] |
27. 查看系统详细信息 (systeminfo)
1 | systeminfo |
28. 切换用户并以管理员权限运行 (runas)
1 | runas /user:administrator cmd |
29. 显示当前登录用户
1 | net config workstation |
30. 用户和权限管理
1 | net user |
31. 进程管理
1 | tasklist |
32. 服务管理
1 | net start # 查看运行的服务 |
33. 简单文件操作
1 | echo hello > hello.txt # 创建并写入文件 |
编码和系统诊断
34. 更改命令行窗口编码
1 | chcp 65001 |
35. 查看主机名 (hostname)
1 | hostname |
36. 查看或修改路由表 (route)
1 | route print |
37. 查看或修改ARP缓存 (arp)
1 | arp -a |
38. 查看网络共享 (net view)
1 | net view |
39. 配置网络 (netsh)
1 | netsh firewall show state |
40. 网络连接测试 (telnet)
1 | telnet [目标IP或域名] [端口] |