December 11th, 2005, 07:30 AM
Hi, I was wornding if any one could point me in the right direction for programing system files. The reason I am interested in this is because I was just wornding when they are called how/what runs them. I know the systme runs them but if i make a batch file and name it .sys if i try to run it I would get a message asking me what I want to use to run the file why is that, why dosen't the system try to run it an crash.
December 12th, 2005, 10:17 AM
"Traditionally" (in DOS and Win 3.x era) MS had actually 3 types (I think) of .SYS files.
The first one is, a special executable file that loads the kernel/OS. There are only 2 files (I think) belongs to this type: IO.SYS and MSDOS.SYS.
Then I guess the most famous one is a text file (user-readable/editable) that contains the "instructions" to load important OS drivers. There are only 1 file (I think) in this type: CONFIG.SYS.
The last one is a driver, which is normally specified in CONFIG.SYS to be loaded as part of system startup. There are many files in this type such as ANSI.SYS, HIMEM.SYS, KEYBOARD.SYS, etc. You can find some drivers in newer Windows OS have .SYS extension.
I see sec_ware subscribed to this thread. He can point you better the right direction for "programming system files" (which I think you meant the 3rd type [drivers]).
Always listen to experts. They\'ll tell you what can\'t be done and why. Then go and do it. -- Robert Heinlein
I\'m basically a very lazy person who likes to get credit for things other people actually do. -- Linus Torvalds
December 12th, 2005, 10:18 AM
I could point you to a more specific location if you tell us what OS?
For starters I'm assuming Windows:
MicroSoft Developers Network
Experience is something you don't get until just after you need it.
December 12th, 2005, 03:52 PM
Thanks for the Info and sorry about not saying what win version i am using winxp.
December 14th, 2005, 07:44 PM
Those sys-files indeed are device drivers. You cannot execute them,
rather they are "executed" by the system (they are
loadable kernel-mode modules). If you want to know, which ones
are loaded, check your "device manager" (also activate "Show hidden
devices" in the view-menu) or check your registry
For example, the file c:\windows\system32\drivers\IPSec.sys is
responsible for the IPSec functionality.
Nowadays, the WDM is mostly used. As developer, you could use
the DDK. I like the multipart-introduction at codeguru or the
If the only tool you have is a hammer, you tend to see every problem as a nail.
(Abraham Maslow, Psychologist, 1908-70)