001 about Windows

Source: Internet
Author: User
Tags save file



                  001 about Windows



#Windows Introduction



  Windows version History



16-bit graphical user interface



16-bit and 32-bit hybrid operating systems



64-bit operating system



Mobile device Operating system






  NT Architecture






#Windows and programming languages



  Windows API



Sdk&api&mfc



SDK (software development Kit)



API (Application Programming Interface)



MFC (Microsoft Foundation Classes)






  Windows API Classifications



Basic services (Base service)



Graphics Device Interface (GDI)



Graphical user interface (GUI)



Common Dialog link libraries (Common contral Library)



Universal Control link Library (Common Control Library)



Windows shell (Windows shell)



Network Services






  Multimedia-related APIs



  Package Library









#Windows introduction



Microsoft Windows (Chinese sometimes translate Microsoft Windows, usually do not translate) is a series of operating systems introduced by Microsoft, it was launched in 1985, initially under MS-DOS desktop environment, the subsequent version gradually developed into the mainstream of PC and server users to design the operating system , and eventually gained the monopoly of the world's PC operating system, which can run on several different types of platforms, such as personal computers (PCS), mobile devices, servers, and embedded operating systems, among others, which are most prevalent in the field of personal computers, At a 2004 international data information company meeting on future trends, Vice Chairman Avneesh Saxeena announced that Windows has a market share of more than 70% of the terminal operating system



The latest stable operating system for the Windows operating system is the Windows Server 2016, which was released on July 29, 2015, and Windows Server is currently the latest robust operating system.


A long time ago, every computer in the world had an OS, and each machine was customized, and the CPU instruction components were different. // The operating system OS we want to use is to operate our hardware // The computer is called a computer, so long ago, the computer was used to calculate the trajectory of the missile. // A long time ago programming was to program the computer's hardware. So the development of the computer is the bottleneck, because the hardware is different, development will do a lot of things


Daniel will find a way to abstract the hardware above a layer, is a set of specialized programs, used to control the hardware of the program is our current OS (operating system)

Hardware software is divided before the separation, our hardware is and software one by one corresponding to the 

 





#Windows Version History



Release Time Version Code official name                    



1985 1.01 Windows 1.01 (has stopped supporting)



1986 1.03 Windows 1.03 (has stopped supporting)



1987 2.03 Windows 2.03 (has stopped supporting)



1988 2.1 Windows 2.1 (has stopped supporting)



1990 3.0 Windows 3.0 (has stopped supporting)



1992 3.1 Windows 3.1 (has stopped supporting)



1994 NT 3.1 Windows NT 3.1 (has stopped support)



1994 3.2 Windows 3.2 (Simplified Chinese version) (support has been discontinued)



1994 NT 3.5 Windows 3.5 (has stopped support)



1995 NT 3.51 Windows NT3.51 (has stopped support)



1995 4.0 Windows 95 (has stopped supporting)



1996 NT 4.0 Windows NT 4.0 (has stopped support)



1996 CE 1.01 Windows CE 1.01 (Support supported)



1997 CE 2.0 Windows CE 2.0 (has stopped support)



1997 CE 2.01 Windows CE 2.01 (has stopped support)



1998 CE 2.10 Windows CE 2.10 (has stopped support)



1998 CE 2.11 Windows CE 2.11 (has stopped support)



1998 4.1 Windows 98 (has stopped supporting)



1999 CE 2.11 Wdinwos CE 2.11 (has stopped support)



1999 4.1 winows 98 Second Edition (98 Me) (support has been discontinued)



2000 NT 5.0 Windows 2000 (has stopped support)



2000 4.9 Windows Millennum Editon (Me) (has stopped support)



2000 CE 3.0 Windows CE 3.0 (has stopped support)



2001 NT 5.1 Windows Xp (has stopped support)



2002 CE 4.1 Windows CE (supported support already supported)



2002 NT 5.1 Windows XP Media Center Edition (has stopped supporting)



2002 NT 5.1 Windows XP tablepc Edition (has stopped support)



2003 NT 5.2 Windows Server 2003 (has stopped supporting)



2003 NT 5.2 Windows Xp 64-bit Edition (has stopped support)



2005 NT 5.2 Windows Xp Professional x 64 (has stopped support)



2005 NT 5.2 Windows Server 2003 x64 Editions (has stopped supporting)



2006 NT 5.1 Windows Fundamentals for Legacy PCs (has stopped support)



2006 CE 6.0 Windows Embedded CE 6.0 (has stopped support)



2007 NT 6.0 Windows Vista (has stopped support)



2007 NT 6.0 Windows Home Server (has stopped support)



2008 NT 6.0 Windows Server 2008 (has stopped supporting)



2009 NT 6.1 Windows 7 (until 2020 stop support)



2009 NT 6.1 Windows Server R2 (has stopped support)



2010 CE 7.0 Windows Phone 7 (has stopped support)



2011 CE 7.0 Windows Embedded Compact 7 (has stopped support)



2011 NT 6.1 Windows Server 2011 (has stopped supporting)



2012 NT 6.2 Windows 8 (has stopped support)



2012 NT 6.2 Windows RT (has stopped support)



2012 NT 6.2 Windows Server 2012 (until 2023 stop support)



2012 NT 6.2 Windows Phone 8 (until 2023 stop support)



2013 NT 6.3 Windows 8.1 (until 2023 stop support)



2013 NT 6.3 Windows RT 8.1 (to 2023 stop support)



2013 NT 6.3 Windows Server R2 (stop support until 2023)



2014 NT 6.3 Windows Phone 8.1 (until 2023 stop support)



2015 NT 10.0 Windows 10 (technical support for each version 5 years, Extended support 10)



2016 NT 10.0 Windows Moble (supports 5 years per release, extended support 10)


// Windows and Windows Server differ in that the additional software is different, and the home version and server version of the software, kernel and functionality are the same. // Kernel The most primitive requirement of the OS is that the version number of the operating hardware NT core is the ability of the operating hardware to operate the hardware Core Interface control hardware officially provided by the Windows software backwards compatible 

 





Three periods of #Windows



  16-bit graphical user interface



Earlier versions of Windows were often seen as simply a graphical user interface running in the MS-DOS system, not an operating system. Primarily because they run on MS-DOS and are used as file system services. However, even the earliest 16 versions of Windows already have many typical operating system features. This includes having its own executable format and providing its own device drivers (calculators, graphics, printers, mice, keyboards, and sound cards) for the application. Unlike MS-DOS, Windows allows users to execute multiple graphical applications at the same time through collaborative multitasking. Finally, Windows implements a well-designed, Archiver-based software virtual memory scheme that allows it to run applications larger than physical memory. Code snippets and resources are exchanged when memory is low, and data segments are moved like memory when an application is placed under processor control, especially when the user is waiting for input.



Windows 1.0 (1985)



Windows 2.0 (1987)



windows/286



Last version of Windows 3 X






  16-bit and 32-bit hybrid operating systems



The upgraded version of the 16-bit Windows in this series still needs to rely on 16-bit DOS grassroots programs to run, not really a 32-bit operating system. Because of the use of DOS code, the architecture is also the same as 16-bit DOS, the core belongs to the single core. But also introduced a part of the 32-bit system features, poly friend a certain 32-bit processing capacity. It can be considered that Microsoft has integrated the MS-DOS operating system and the earlier Windows graphical user interface for sale, or itself to the operating system, so users no longer have to purchase MS-DOS separately to run the Windows graphical user interface.



This system includes



Windows 95 (first edition released with 1995, later improved version with 1996 and 1997)



Windwos 98 (1998, 1999 and 2000)



Windows Me. Although it is one of the Windows 98 family, but never in the ad appeared, the low-end clone version of Windows 2000 to accommodate users who want to enjoy the new Windows 2000 but suffer from insufficient hardware performance.






  32-bit operating system



This series is a Windows NT architecture operating system and is a true pure 32-bit operating system. The Windows NT architecture operating system is a complete standalone operating system, unlike the 16/32-bit Windows 9x that still require DOS grassroots programs to mix



The operating system is a 32-bit operating system written for the commercial market for higher performance requirements, which is a Windows NT architecture, with the core being a hybrid core that improves the micro-core.



Including



Windows NT 3.1 (1992)



NT3.5



NT4.0



Windows 2000



Windows Xp



Windows Vista



Windows 7



WIndows 8



Windows 8.1



Windows 10



    Windows Xp, Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 also have 32 version with x64 version



Windwos Server 2003 also has x86 to include this



Windows Server 2003 R2 Datacenter Edition (32-bit x86)



Windows Server 2003 R2 enterpnse Edition (32-bit x86)



Windows Server 2003 R2 Standard Edition (32-bit x86)






64-bit operating system



64-bit Windows NT architecture operating system, divided into two different versions that support the IA-64 architecture and the x64 architecture



Microsoft has historically supported two different 64-bit architectures, one of which is the joint development of an Itanium family architecture by Intel and HP, or IA-64: and the Evolutionary x86-64 architecture developed by AMD, because of the different core design ideas of the two architectures, Therefore, the two architectures of operating systems and applications are not interoperability, but all of the transmission of IA-32 software to a certain extent, Microsoft in the release of Windows Server R2 before the support of the Itanium architecture, So now Microsoft's 64-bit product refers to the x86-64 architecture alone, and in Microsoft's vocabulary is called x64.






The Microsoft Windows products that support the Itanium family architecture are:



Windows advanced/datacenter Server Limited editon



Windows XP 64-bit Edition



Windows XP 64-bit Edition Version 2014



Windows Server 2003/2003 R2 enterprise/datacenter



Windows Server 2008/2008 for Itanium Based System



Windows products that support the x64 architecture are:



Windows Xp Professional x64 Edition



Windows Server 2003/2003 R2 Full product (except Web Edition)



Windows vista/7/8/8.1



Windows Server 2008/2008R2/2012/2012R2 Full Line Products



Windows 10






  Mobile device Operating system



Microsoft has developed a streamlined mobile operating system for mobile products Windows Mobile, Windows Phone and Windows moble.






  NT Architecture



Windows NT architecture refers to a series of Microsoft design and manufacturing Windows operating system architectures that derive from Windwos NT locks.

  // the Windows operating system we are using now is NT architecture


        // NT Architecture operating system is divided into two tiers NT structure
User State R0 RING0
and mentality R3 Ring3 



    // what are the so-called 16-bit 32-bit 64-bit operating systems that will later have 128-bit operating systems?
The computing power of the CPU is determined by the number of digits.
Only 1 and 0 can be stored in the CPU.
  
16-bit operating systems use the CPU each time using 16 bits to calculate the results of each calculation or data can only 16 bits when the operation of 16 bits of the CPU will take the other operator additional controller to calculate
32-bit operating system using 32-bit computing is the quickest
64-bit operating system using 64-bit computing is the fastest "64-bit calculated floating-point number is n times the 32-bit speed"

32-bit System CPU addressing maximum 4GB memory
The 64-bit system will be 32-bit n times
  
Will there be 128-bit CPUs in the future? Now the computer bottleneck is not on the CPU but on the other i/0
Io is Input Output  we read and write to the disk is IO operation
I/O (input/output), which is the input/output port. Each device will have a dedicated I/O address to handle its own input and output information. The connection between the CPU and the external device, the memory and the data exchange need to be realized through the interface device, the former is called the I/O interface, and the latter is called the memory interface. Memory is usually in the synchronization of the CPU operation, the interface circuit is relatively simple, and I/O device variety, and its corresponding interface circuit is also different, so it is customary to say that the interface is only referring to the I/O interface. 




  #Windows and programming languages



    Windows API



The Windows operating System application interface (Windows API), which has an informal abbreviation for WINAPI, is Microsoft's notation for programming interfaces with the core applications available in the Windows operating system, which is designed to be called by programs in various languages, It is also the most direct interaction between application software and Windows systems, and most drivers require a lower-level access interface to the Windows system, provided by the native API of the version of Windows.



Windows has a software development kit (SDK Software Development Kit) that provides the appropriate documentation and tools to enable programmers to develop software using Windows APIs and take advantage of Windows technology.






    Sdk&api&mfc



SDK (software development Kit)



Software Development Consolidation group, is used to help product or platform development application success of the tool group, a product manufacturers to provide developers with.



Typically a tool group that a vendor publishes to develop applications for a platform or system or hardware lock



In this toolkit, it may contain a variety of development tools, simulators, etc.


// Microsoft VS2015 is also the SDK // Qt is also the SDK

 





      API (Appllcation programming Interface)



Program interface, in a single platform under the two different things (program or system), in order to be able to access each other's functions and so on.



So an X-mode writes a set of functions that allow other programs in the same platform to function in x mode



That set of programs can be said to be an x default open API.






      MFC (Microsoft Foundation Classes)



Microsoft Foundation Class, Microsoft provided a framework and engine for writing applications under C + + Maria, it can also be said that MFC is the Win API combined with C + + once again encapsulation, refers to the application box



Rack

// There are many application frameworks under Windows 

 





  #Windows API Classifications






  Base service (base services)



Provides access to the underlying resources available to Windows systems



 FileSystem (File System)



 External devices (device)



Processes (Process)



Threads (thread)



Registry (Windows Registry)



Error handling mechanism (haning)



        These feature interfaces are located in the Kernel.exe krn1286.exe or krn1386.exe system files under 16Windows, and in the Kernel32.dll and Advapi32.dll under 32-bit Windows






  Graphics Device Interface (GDI)



Provides functionality for



Output graphics content to displays, printers, and other external output devices



        It is located under 16-bit Windows Gdi.exe: A set of 32-bit gdi32.dll under Windows.






  Graphical user interface (GUI)



Available features are:



Create and manage screens and most basic empty key (control), such as buttons and scroll bars



Receive mouse and keyboard input, as well as other GUI-related features.



        These call interfaces are located under 16-bit Windows User.exe and user32.dll under 32-bit Windows. From the Windows XP version, the calling interface of the underlying control and common dialog space (Common control libary) is placed in Comctl32.dll.






  Common dialog Box link library (Common Dialog Box Library)



Providing standard dialog boxes for applications



Open/Save File dialog box, Color dialog box and Font dialog box, etc.



        This link library is located in the Commdlg.dll under 16-bit, and 32-bit Windows under Comdlg32.dll. It is categorized under the User Interface API.






  Universal Space link library (Common Control Library)



Provides some advanced space for applications to access the operating system by providing an interface to the west. such as



Status bar



progress bar (Progress bars)



Toolbars (Toolbar)



Label (TAB)



        This link library is located in the 16-bit Windows under Commctrl.dll, and 32-bit system under Windows Comctl32.dll: It is categorized under the User Interface API.






  Windows shell (Windows shell)



As part of the Windows API, not only does it allow applications to access the features provided by the Windows shell, but it also improves and enhances them.



      It is located under the 16-bit Windows Shell.dll, and 32-bit system under Windows Shell32.dll (Windows 95 is in Shlwapi.dll) and it is categorized under the User Interfface API.






  Network Service (Netwrok services)



provides interfaces for accessing the various network functions provided by the operating system, including NetBIOS, Winsock, NetDDE, and RPC.






  Multimedia-related APIs



Since Windows 95OSR2, Microsoft has used the DirectX API as part of the Windows installation. DirectX provides a loosely related set of multimedia and gaming services, including



Direct3D can be used as a substitute for OpenGL to access 3D accelerated hardware



The DirectDraw provides hardware-accelerated 2D framebuffer (frame buffer) interface access, which, since DirectX 9, prefers the latter as compared to Direct3D, Because Direct3D provides more comprehensive high-performance graphics capabilities (after all, 2D rendering is only a (not strict) subset of 3D rendering). To be replaced by DIRECT2D.



The DirectSound provides a bottom-level hardware-accelerated sound card access. Replaced by XAudio



The DirectInput is used to communicate with input devices (sticks and gamepad). Replaced by XInput introduced in DirectX 9



DirectPlay provides a multiplayer framework (Multiplay gaming infrastructure), which has been replaced by DirectX 9, which Microsoft does not recommend for developing games.



DirectShow can create and run a common multimedia channel (generic Multmedia pipelines), which can rival the GStreamer framework and is often used to render game video and create media players (Windows media The player and codecs such as ffdshow are based on this: but in Windows Vista and later versions, Directshows is replaced by Media Foundation, it is not recommended to develop games with DirectShow.



DirectMusic provides similar MIDI functionality, and is replaced by XAudio with DirectSound.






Package Library



Microsoft leverages many of the more underlying Windows API functions. Develop a number of packaging libraries (wrapper) that allow applications to interact with Windows APIs in a more abstract way



MFC (Microsoft Foundation Class Library) encapsulates the functionality of the Windows API with the C + + category, allowing interaction with the API in a more object-oriented manner



The ATL (Active template Library) is a template-oriented package for COM oriented.



WTL (Windows Template Library) as an enhancement of ATL, is used as a lightweight substitute for MFC.



Other well-known packaging libraries are the products of the Borland company, a bit of an object-oriented package that competes with MFC and launches Owl (object Windows Library).



Soon Borland also introduced the VCL (Visual Component Library) to replace it.



Most Windows program frameworks (application framework) are encapsulation of Windows APIs, so that net Framework,java together with other programming languages under Windows are or encapsulate libraries




// summarize the API for Windows under more than 2000 30 system updates accumulated

 








  #如何使用WIndows API









General VS2015 to help us set up a good use of the static library, no setting is not able to use the WINDOWSAPI


1 #include <windows.h>
2 
3 int main ()
4 {
5 MessageBoxA (NULL, "I Love PoEdu!", "MessageBoxA", MB_OK); // ASCII version function
6 MessageBoxW (NULL, L "I Love PoEdu!", L "MessageBoxW", MB_OK); // UICODE version function
7 return 0;
8 } 





The MessageBox function is called in user32.dll



001 about Windows


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.