I'd estimate that upwards of 90% of the initial diagrams I see created during my workshops don't have a title! In this case, the diagram does have a title of "Context", but it's not explicit about what it's showing the context of, and what the diagram scope is. Do you understand what the diagram scope is?. Do you understand what the diagram type is?.Here are a few initial things to think about: Let's start by looking at the diagram as a whole. It's high-level, clean, concise, colourful, and you might even be able to work out what's being described here. On the face of it, this diagram doesn't look too bad. Let's start with a fairly typical example of a whiteboard diagram from one of my workshops. Some diagrams are better than others, but I've noticed that many people struggle to critique a diagram because they're not really sure what to look for. Microsoft® Windows® Internals, Fourth Edition: Microsoft Windows Server™ 2003, Windows XP, and.I see hundreds of software architecture diagrams every year, predominantly through my software architecture workshops. Two stacks - one for the thread to use when executing kernel-mode instructions, and one for user-modeĪ private storage area used by the subsystems, run-time libraries and DLL'sĪnd that brings us to the end of our Windows Architecture 101 post. The contents of the registers representing the state of the processor Threads consist of the following components: Without threads, the program used by the process cannot run. The thread is what Windows schedules for execution within a process. System resources that are accessible to all threads in the processĪ security context (also known as an access token) With that analogy in mind, a Windows process includes the following:Īn executable program, consisting of initial code and data A thread lives in a process, and executes the instructions of the program. Looking at it in this fashion, it is easy to see that the process itself doesn't do any work, but the thread does. A program is a set of instructions for the person in the room to carry out. Think of a process as a room and a thread as a person in the room. One of our Escalation Engineers uses a very simple analogy for explaining the difference between these three terms: Now, let's take a look at Programs, Processes and Threads. Some common services include the Spooler service which controls printing, the Server service which supports file, print and named-pipe sharing over the network and the DHCP client service which registers and updates IP addresses and DNS records. Services can be loaded using the System account, or credentials that are assigned to that service specifically - either during the service installation, or through the properties page for that service. The Services are controlled by the Windows Service Manager. However, from a user perspective, we consider a service as a process that is loaded by the OS in user-mode, independent of a logged-in user. When examining services from a programming viewpoint, a Service could refer to a callable routine in the operating system, a device driver or a server process. There are hundreds of books and websites that cover programming using the Windows API - but let me just add the disclaimer that programming using the Windows API is by no means an "entry-level" type task! And with that, it's time to move on to Services. Major categories of Windows API functions include Base Services, Component Services, Graphics & Multimedia, Messaging, Networking and Web Services. The API consists of thousands of documented, callable subroutines such as It provides services used by all Windows-based applications to enable applications to provide a Graphical User Interface (GUI), access system resources, incorporate audio and much more. The Windows application programming interface (API) is the programming interface to the Microsoft Windows operating system family. So, without further ado - let's start with an introduction to the Windows API. Think of this as laying the groundwork for our future posts which will cover topics such as the Registry, Session Space and Desktop Heap. In our first post, we're going to quickly review some basic Windows concepts and terms including a brief overview of the Windows API, Services and the difference between a Process and a Thread. Today we're starting a new series of posts focused on understanding the Windows System Architecture itself. First published on TECHNET on Apr 10, 2007
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |