Windows原理与应用(一)——简介
前言
本系列是关于Windows原理与应用
课程的部分相关笔记,可能并不是很详细,仅仅是个人记录
系列
Windows原理与应用(一)—— 简介 | 德依安-BLOG (ddg-302.github.io)
简介
- 在具有一般编程基础(c++和c#)条件下,将引用需求与系统API进行对接
- 理解操作系统原理中的并发,同步等概念
- 了解并使用Windows平台中的特性,如dll/com等
主要内容
- 进程间通信
- 线程通信与同步
- 文件系统管理
- 注册表
- 动态链接库的创建与使用
- Windows COM原理与技术
- Windows窗体原理与消息处理机制
前置知识
- C++/C#编程语言的使用
- 数据结构
Windows的特点
面向对象
- Windows中,窗口、菜单、事件都是对象,对界面元素的操作和消息/事件的处理都涉及到对象。这些对象的属性和操作,由API的数据结构和函数提供
消息/事件驱动
- Windows通过维护消息队列的方式处理用户操作系统事件,用户的操作会向消息队列中插入一条新的消息,其他应用程序收到消息后会调用相应的消息处理函数进行处理
资源共享与数据交换
- 标准的MS-DOS程序运行时,可独占计算机所有资源。但Windows是一种抢先式[1]多任务操作系统,所以Windows应用程序必须和正在运行的其他程序共享这些资源
与设备无关的GDI
- Windows为应用程序提供了丰富的与设备无关API,免去了为不同的I/O设备编写软件的不同版本之烦恼。如利用与设备无关的GDI,应用程序使用同一函数,可在不同的显卡、打印机和显示器上输出同一个图形。
Windows编程工具——.NET框架
- .NET框架是微软公司为了与Sun/Oracle公司的Java(EE)竞争,于2000年6月提出来的一种新的跨语言、跨平台、面向组件的操作系统环境,适用于Web服务(Web services)和因特网(Internet)分布式应用程序的生成、部署和运行
- .NET框架也是Windows Vista、Windows 7和Windows 8等新版Windows操作系统的核心部件
- .NET框架基于CLR运行,CLR类似于JVM,也是一个虚拟机,具有自动垃圾回收,运行时安全性保护,异常处理等高级功能
Windows编程工具的选择——关于Visual Studio
- 在Visual Studio提供的各种语言工具中,只有Visual C++才能编写传统的Windows应用程序,VC也是VS中u唯一的一种可以同时[混合]编写非托管(API与MFC/ATL)程序和托管(.NET)程序的工具
- VS中的其他语言工具(如C#、VB和F# 等)则只能编写.NET环境下的托管程序[2]
- 1.运行抢先式多任务处理模式,各进程占用CPU的时间由系统调度程序决定,当调度程序检测出有比当前任务优先级更高的程序事件后,暂停当前任务并将CPU时间分配给优先级更高的进程——摘自百度百科。简单来说就是Windows操作系统不允许一个程序长时间占有CPU,而是会根据优先级进行调度。 ↩
- 2.这是.NET的特性,.NET基于CLR运行托管代码,程序交由CLR进行管理,确保其安全性。但是CLR也允许越过托管与非托管的边界,调用其他的非托管库,这个特性成为互操作性。什么是“托管代码”?| Microsoft Docs ↩