PoEdu-Windows班-001操作系统

2024-06-14 21:08
文章标签 windows 操作系统 001 poedu

本文主要是介绍PoEdu-Windows班-001操作系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

操作系统

  • 操作系统也是一种软件。
  • 操作系统是一个特殊的软件, 它需要按照特定的规定来进行编写。
  • 操作系统提供了一系列的API, 使软件可以通过操作系统进行硬件操作。


Windows版本历史


16位图形用户界面
非NT的, 它仅仅是一个运行于 MS-DOS 系统的一个图形用户界面.
它包括:

  • Windows 1.0(1985)
  • Windows 2.0(1987)
  • Windows/286
  • Windows 3.X
 
16位和32位混合操作系统
它包括:
  • Windows 95(第一版发行于1995年,后来的改进版本发行于1996年和1997年)
  • Windows 98(1998年、1999年和2000年)
  • Windows ME
虽然它是Windows 98的家族之一, 但从来没有在广告出现过Windows ME也被认为是对Windows 2000的低端仿制版本, 以适应想享受当时新出现的Windows 2000但苦于硬件性能不足的用户由于 Windows ME 系统表现太差, 被戏称为 Windows Mistake Edition
 
32位操作系统
从 NT 3.1 开始,开启了微软的 NT 时代
它们包括:
  • Windows NT 3.1(1992年)
  • Windows NT 3.5
  • Windows NT 3.51
  • Windows NT 4.0
  • Windows 2000
  • Windows XP
  • 32位 Windows Vista
  • 32位 Windows 7
  • 32位 Windows 8
  • 32位 Windows 8.1
  • 32位 Windows 10
  • Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10同时有32位的x86版本与64位的x64版本
  • Windows Server 2003
  • Windows Server 2003 R2 Datacenter Edition(32-Bit x86)
  • Windows Server 2003 R2 Enterprise Edition(32-Bit x86)
  • Windows Server 2003 R2 Standard Edition(32-bit x86)
 
64位操作系统
支持Itanium家族架构的微软Windows产品有

  • Windows 2000 Advanced/Datacenter ServerLimited Edition
  • Windows XP 64-bit Edition
  • Windows XP 64-bit Edition Version 2013
  • Windows Server 2003/2003 R2Enterprise/Datacenter
  • Windows Server 2008/2008 R2 for ItaniumBased System

支持x64架构的Windows产品有:

  • Windows XP Professional x64 Edition
  • Windows Server 2003/2003R2全线产品(Web版除外)
  • Windows Vista/7/8/8.1
  • Windows Server 2008/2008R2/2012/2012R2 全线产品
  • Windows 10
 
移动设备操作系统
微软针对移动产品而开发的精简移动设备操作系统.
包括
  • Windows Mobile
  • Windows Phone
  • Windows 10 Mobile
 
Windows CE 内核
  • Pocket PC 2000
  • Pocket PC 2002
  • Windows Mobile 2003
  • Windows Mobile 2003 SE
  • Windows Mobile 5
  • Windows Mobile 6
  • Windows Mobile 6.1
  • Windows Mobile 6.5
  • Windows Mobile 6.5.3
  • Windows Phone 7
 
Windows NT内核
  • Windows Phone 8/8.1
  • Windows RT
  • Winndows RT 8.1
  • Windows 10 Mobile


NT结构

它是指一系列微软设计及制造,WindowsNT所派生出的视窗操作系统架构.

  • WindowsNT采用用户模式与核心模式的分层设计并且是抢占式和可重入的.
  • 可运行在单处理器或对称多处理器(SMP),并利用I/O请求包与异步I/O来处理所有的I/O请求.
  • Windows2000()之前采用的WindowsNT皆为32位版本的,第一版64位的WindowsNT首先用于64位的WindowsXP.
  • 用户模式下的程序与子系统仅能访问其可访问的资源,核心模式下的程序则可以访问所有资源与外部设备.
  • WindowsNT采用的核心是属于混合核心.
  • 其体系结构包括简单内核、硬件抽象层(HAL)、驱动程序、服务(总称为运行体),这些均属于核心模式.
  • WindowsNT的用户模式子系统可以通过核心模式中的I/OManager传递I/O请求给同样在核心模式中合适的驱动程序.
  • WindowsNT的用户模式包括了两个子系统:环境子系统(在不同操作系统类型下运行应用程序);集成子系统(Integralsubsystem)运行一些系统相关的函数.
  • WindowsNT,在核心模式的程序可以访问电脑所有的硬件和系统资源,且在核心模式的程序可以在用户模式下运行的服务与应用程序访问到临界区(criticalareas)时终止他们,以避免访问到不该访问的存储器空间.
  • 运行体提供了大部分的系统服务功能.
  • 位于硬件抽象层与运行体之间的WindowsNT的核心模式部分提供了多处理器同步、线程、中断调度与分派、异常处理、例外分派的功能.
  • 核心还负责在引导时初始化设备驱动程序.
  • 核心模式驱动程序分为三层:高层驱动程序、中层驱动程序、低层驱动程序.
  • Windows驱动程序模型(WDM)是存在于中层驱动程序,主要用于二进制档与源代码兼容于Windows98Windows2000的驱动程序.
  • 低层驱动程序也可以是旧式WindowsNT的设备驱动程序,或是PnP总线.

所有的程序都运行在内存中的

  • 我们的操作系统, 用户软件都运行于我们的物理内存
  • 如果软件中使用了错误的内存地址, 修改了其他软件中的数据, 就会导致其他程序的数据被更改, 从而引起应程序崩溃
  • 直接操作物理内存风险很大.
  • 在WindowsNT之前, 都是直接操作物理内存的
  • WindowsNT之后就分为了用户态和和核心态, 它是通虚拟内存管理程序实现的.
  • 虚拟内存中程序在执行的时候会正确地加载到物理内存.
  • 我们写的程序都会运行在用户态, 发现可以执行才会转到核心态.
  • 这样确保程序崩溃后操作系统并不会崩溃.
  • 所以 Windows 95, Windows 98 等系统很容易出现操作系统崩溃蓝屏

硬盘上面的程序是不可以执行的

  • CPU是在内存中取数据, 硬盘的数据要想被读入CPU, 需要首先被加载到内存中

NT架构的运行流程为:

  • 软件载入用户态
  • 从用户态载入核心态
  • 对硬件进行操作
  • 用户态我们也称之为 RING3, 它是我们平时所用的.
  • 核心态我们也称之为 RING0, 它是操作系统平时用的.

 

WindowsAPI

  • Windows提供了一套程序开发接口,全名叫做 Application ProgrammingInterface,即应用程序编程接口.
  • 它有 R0 APIR3 API
  • WindowsAPI是向下兼容的
  • 为了实现向下兼容,在有新的函数的时候,通常会加一个Ex
  • 比如, MessageBox,有新函数叫MessageBoxEx

SDK

  • 软件开发工具包(Software DevelopmentKit, SDK)一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、作业系统等创建应用软件的开发工具的集合.SDK全称为Software Development Kit.

MFC

  • MFC是一套框架
  • 它是微软提供的,用于在C++环境下编写用于程序的一个框架和引擎
  • 它可以说是WinAPI C++结合后的再一次封装
  • 它属于应用程序框架

Windows API的分类

基础服务(Base Services)

  • 提供对Windows系统可用的基础资源的访问接口.
  • 文件系统(filesystem
  • 外部设备(device
  • 进程(process
  • 线程(thread
  • 访问注册表(Windowsregistry
  • 错误处理机制(errorhandling

    这些功能接口位于:
	16位Windows下的kernel.exe、krnl286.exe或krnl386.exe系统文件中
	32位Windows下的kernel32.dll和advapi32.dll中
 

图形设备接口(GDI

  • 提供输出图形内容到显示器,打印机以及其他外部输出设备.

    它位于
	16位Windows下的gdi.exe;
	32位Windows下的gdi32.dll
 

图形化用户界面(GUI

  • 提供创建和管理屏幕和大多数基本控件(control
  • 比如按钮和滚动条
  • 接收鼠标和键盘输入
  • 其他与GUI有关的功能

    这些调用接口位于
	16位Windows下的user.exe
	32位Windows下的user32.dll
	从Windows XP版本之后, 基本控件和通用对话框控件(Common Control Library)的调用接口放在comctl32.dll中.
 

通用对话框链接库(Common Dialog Box Library

  • 为应用程序提供标准对话框
  • 比如打开/保存文件对话框
  • 颜色对画框
  • 字体对话框等等.

    这个链接库位于:
	16位Windows下的commdlg.dll中
	32位Windows下comdlg32.dll中
	它被归类为User Interface API之下
 

通用控件链接库(Common Control Library

  • 为应用程序提供接口来访问操作系统提供的一些高级控件.
  • 比如状态栏(statusbar
  • 进度条(progressbars
  • 工具栏(toolbar
  • 标签(tab

    这个链接库位于
	16位Windows下的commctrl.dll中
	32位Windows下comctl32.dll中
	它被归类为User Interface API之下
 

Windows外壳(Windows Shell

  • 作为WindowsAPI的组成部分,不仅允许应用程序访问Windows外壳提供的功能,还对之有所改进和增强.

它位于
  16位Windows下的shell.dll中
  32位Windows下的shell32.dll中(Windows 95则在shlwapi.dll中)
  它被归类为User Interface API之下

网络服务(Network Services

为访问操作系统提供的多种网络功能提供接口

它包括

NetBIOS

Winsock

NetDDE

RPC

Web相关API

Internet Explorer网页浏览器也提供许多程序接口

可嵌入的网页浏览器控件(以及 Trident / MSHTML引擎)

位于shdocvw.dllmshtml.dll之中

urlmon.dll中的命名服务(URL moniters service

利用COM对象为应用程序提供解析URL服务

应用程序也可以为其他程序提供自己的URL处理程序

WinInet IE的网络层,支持HTTPHTTPS等协议

一个支持多种语言文本的链接库(mlang.dll

DirectX Transforms

一组图像过滤组件

XML支持(MSXML组件)

Windows的邮件功能相关的API

地址本和邮件API

Windows7取消邮件功能之后也随之从Windows API中去除

由于WindowsMailWindows Vista上取代了Outlook Express, 对应的API也随之变化.

多媒体相关API

自从Windows95 OSR2以来, MicrosoftDirectX API作为Windows安装的一部分.

DirectX提供一组松散相关的多媒体和游戏服务

Direct3D可以作为OpenGL的替代,来访问3D加速硬件.

DirectDraw提供硬件加速2D framebuffer(帧缓冲)访问接口.

DirectX9以来,相比Direct3D更倾向于后者

因为Direct3D提供更全面的高性能图形功能(毕竟2D渲染只是3D渲染的(不严格)子集).

已被Direct2D替代。

DirectSound提供底层次的硬件加速声卡访问.

XAudio替代

DirectInput用来与输入设备(摇杆和gamepad)进行通信

已被DirectX9中引入的XInput所替代

DirectPlay提供一个多人游戏的架构(multiplayer gaminginfrastructure.

它已经被DirectX9所替代

Microsoft不建议用它开发游戏。

DirectShow可以创建和运行通用的多媒体管道(generic multimediapipelines

它可以与GStreamer框架相媲美

经常被用来渲染游戏视频和创建媒体播放器(Windows Media Player

诸如FFDShow之类的编解码器正是基于此;

WindowsVista及更高版本中, DirectShowMedia Foundation替代).

不建议用DirectShow开发游戏

DirectMusic提供类似MIDI的功能

DirectSound一起被XAudio替代

程序通信API

Windows API的功能主要通过使操作系统和应用程序之间的交互来实现.

为了实现不同Windows应用程序的通信,微软随着主要Windows API, 推出一系列的技术.

最初的DDEDynamicData Exchange)升级为对象连接与嵌入(Object Linking andEmbedding

再后来是组件对象模型(COM

封装库

微软利用许多更底层的WindowsAPI函数,开发出许多封装库(wrapper,让应用程序以更抽象的方式与WindowsAPI进行交互.

MFCMicrosoftFoundation Class Library)用C++类别来封装WindowsAPI的功能,因而允许用更为面向对象的方式与API进行交互

ATLActiveTemplate Library)是对COM的面向模板(templateoriented)的封装

WTLWindowsTemplate Library)作为ATL的增强,被用来作为MFC的轻型的替代物

其他著名的封装库是Borland公司的产品,为了与MFC竞争而推出的OWLObjectWindows Library)提供了类似的面向对象封装

不久Borland又推出VCLVisualComponent Library)来取而代之

大多数的Windows程序框架(applicationframework)是对WindowsAPI的封装

.NET FrameworkJava以及其他在Windows下的程序语言,都是(或者包含)封装库.


这篇关于PoEdu-Windows班-001操作系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1061510

相关文章

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

Windows如何添加右键新建菜单

Windows如何添加右键新建菜单 文章目录 Windows如何添加右键新建菜单实验环境缘起以新建`.md`文件为例第一步第二步第三步 总结 实验环境 Windows7 缘起 因为我习惯用 Markdown 格式写文本,每次新建一个.txt后都要手动修改为.md,真的麻烦。如何在右键新建菜单中添加.md选项呢? 网上有很多方法,这些方法我都尝试了,要么太麻烦,要么不凑效

Windows下Nginx的安装及开机启动

1、将nginx-1.16.1.zip解压拷贝至D:\web\nginx目录下。 2、启动Nginx,两种方法: (1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过。 (2)打开cmd命令窗口,切换到nginx目录下,输入命令 nginx.exe 或者 start nginx ,回车即可。 3、检查nginx是否启动成功。 直接在浏览器地址栏输入网址 http://lo

Windows环境利用VS2022编译 libvpx 源码教程

libvpx libvpx 是一个开源的视频编码库,由 WebM 项目开发和维护,专门用于 VP8 和 VP9 视频编码格式的编解码处理。它支持高质量的视频压缩,广泛应用于视频会议、在线教育、视频直播服务等多种场景中。libvpx 的特点包括跨平台兼容性、硬件加速支持以及灵活的接口设计,使其可以轻松集成到各种应用程序中。 libvpx 的安装和配置过程相对简单,用户可以从官方网站下载源代码

C++实现俄罗斯方块(Windows控制台版)

C++实现俄罗斯方块(Windows控制台版) 在油管上看到一个使用C++控制台编写的俄罗斯方块小游戏,源代码200多行,B站上也有相关的讲解视频,非常不错,值得学习。 B站讲解视频地址为:【百万好评】国外技术大神C++游戏编程实战教程,油管580W收藏,新手10小时入门,并快速达到游戏开发能力(中英字幕) B站 CSDN博主千帐灯无此声还为此写了一篇博客:C++实现俄罗斯方块(源码+详解),讲

Windows下php扩展开发c++动态库

PHP扩展开发,从零了解到初步完成一个小项目,经过三天的仔细研究,现整理如下 一、需求介绍 PHP扩展开发,调用自己之前的c++动态库,完成功能 二、项目之前 系统:windows xp  开发工具:vs 2008 web环境:apache2.4  PHP5.3.29-VC9-ts-x86 aphach和PHP 环境之前已经搭建完成 PHP源码:去官网http://www.php.n

OpenStack镜像制作系列4—Windows Server2019镜像

本系列文章主要对如何制作OpenStack镜像的过程进行描述记录  CSDN:OpenStack镜像制作教程指导(全) OpenStack镜像制作系列1—环境准备 OpenStack镜像制作系列2—Windows7镜像 OpenStack镜像制作系列3—Windows10镜像 OpenStack镜像制作系列4—Windows Server2019镜像 OpenStack镜像制作系

Windows与linux中docker的安装与使用

windos中安装使用docker 下载Docker_Desktop 安装包进入docker官网下载Docker_Desktop: https://www.docker.com/ 启用wsl 我们搜索“启用或关闭Windows功能”,打开后勾选适用于Linux的Windows 子系统 Docker_Desktop设置 出现Docker Engine stopped的解决

Windows 10 各版本

对应于服务选项的 Windows 10 当前版本 Version服务选项上市日期OS build最后修订日期1803半年频道7/10/201817134.1917/24/2018Microsoft 建议使用1803半年频道(定向)4/30/201817134.1917/24/20181709半年频道1/18/201816299.5797/24/20181709半年频道(定向)10/17/2017