One of the major fundamentals of PC software, which most people miss out on, is that it is built to be modular.
People see their PC as some huge monolithic entity, which is impenetrable and unmodifiable; which is miles from the truth.
Every major operating system currently is developed to be a modular system, with portions able to be removed, modified, replaced, etc.
When thinking of an operating system, its useful to think of it as a cell. Everybody knows the general look of a cell, a bunch of weird stuff floating around within a certain boundry.
There are 3 major components that a user interracts with on a day to day basis. The actual operating system, applications, and services.
Now everyone and their uncle should know what an operating system is. applications are pretty self explanatory too; things like web browsers, games, media players, etc.
Services are used both by operating systems and applications. Services tend to run in the background, and usually don't poke their ugly little heads too often. They run silently and invisibly to the end user (unless it causes an issue....)
On a typical windows installation, there can be 70+ services running in the background. luckily, many are idle and are only pulled from when needed.
Now even applications and services are modular, they have to be most of the time. When an application is run on a windows machine, the .exe file is loaded; this file tends to be only a few kilobytes/megabytes in size. But applications installed can be many gigabytes in size. this is due to the modular nature of just about everything running on a system.
An application will pull what it needs from various places, asking the operating system for information, or opening up the document that you were working on.
A very common place information is pulled from on a windows PC is a .dll file. If you've had a windows machine, you've probably seen errors relating to these files.
A .dll file is a Direct Link Library file. what that means is that it contains a library of common functions that applications use. using .dll files instead of putting those common functions into the application reduce in the effective size of the application, allowing it to run somewhat more smoothly, and allowing it to play nicely with other applications.

A badly drawn diagram of the basics of operating systems and .dll files.
A .dll file can be pulled by just about any running application that needs it. multiple small .dll files are much better than one big monolithic one, because it would take longer to load up the file, pull out the specific module needed, run it, then unload the file. so that is why, when you do a search for '.dll' you find hundreds of hits.
No comments:
Post a Comment