Someone else can probably give a more definitive answer, but I believe in Win2000 hardware interupts always trump even the real time thread priorities. In other words, it ain't really real time. You may also be competing with other system processes that are running at the high priorities you have selected.
In operating systems:
1- Hardware interrupts have the highest priorities and you can't disable them in win2000 because its multitasking and doing so harms the scheduling using the clock interrupt!
2- Process Managers and Reincarnation servers and memory manager have always the highest priorities so you cannot beat them!
To follow the path, Walk with the MASTER, See through the MASTER, Be the MASTER!
Interrupt servicing and Deferred Procedure Calls pre-empt ordinary threads in the Windows NT scheduling model. DPCs are a way for device drivers and other kernel-mode code to defer processing of device interrupts to a later time - the interrupt service routine (ISR) typically does enough to acknowledge the interrupt (stopping the device from interrupting) and schedules a DPC for later on to actually handle the I/O request. All DPCs for the current processor are processed before returning to user-mode.
Typical Windows device drivers are not designed for real-time operation - their operations are not predictable in time. Video and sound drivers are typically particularly bad in hogging the buses and doing too much work in one go, rather than breaking a complex operation into a lot of small steps (allowing other work to happen).
If you want to stick with the Windows family, you have a couple of options. You can get a real-time extension for desktop Windows such as RTX[^]. Or, you can build your own Windows CE[^] platform. Windows CE is designed to be real-time, as you can control scheduling of device interrupts versus user threads. This is because the interrupt model has an Interrupt Service Routine which is solely responsible for clearing an interrupt and setting an event object; that event object wakes up a regular Interrupt Service Thread which is scheduled against all the other threads in the system.
All the documents I have read relating to this topic have left me with gray hair, so I hope somebody here could clear things up a little.
Using the DeviceIoControl() api I can get a NTFS_VOLUME_DATA_BUFFER structure. This structure lists 3 MFT regions ( MFT, MFT2 and MFTZONE ). Each of these regions start at different points on my HD.
Correct me if I'm wrong:
1. The MFT size ( in clusters ) is MftValidDataLength / BytesPerCluster.
2. The MFT2 size is the same as that of MFT.
3. The MFTZone size is MftZoneEnd - MftZoneStart.
Here is where I am confused:
From what I have read the MFTzone is space to be used last to help keep the MFT contiguous on the disk. This leads me to think that the MFT and MFTZone should start at the same cluster, or the MFTZone should start immediatly after the MFT. Why is my MFT located towards the beginning of my volume and the MFTZone towards the end? Is this because at some point it became fragmented?
I have also read about an MFT mirror. Is this the MFT2 above? Regarding this I have read that it's size is the larger of the first 4 records in the MFT or the cluster size. How exactly can I calculate the size?
I seemed to have answered some of my own questions by opening the $MFT and $MFTMirr files. From what I have found, the NTFS_VOLUME_DATA_BUFFER structure is only useful for finding the MFTZone. The position and size of the MFT2 can be found by opening the file and getting it's retrieval pointers. Also this file seems to always be contiguous.
The MFTstart member of the struct only points to the first cluster. By opening the file I have found it to be heavily fragmented ( 11 fragments on my C volume ). As to what the validDataLength member means I have no clue.
I can only guess that the position of the MFTZone reflects where the next fragment of the MFT would be located if it were required.
can any budy tell me what happen if i delete .log files from windows folder
Bugs can neither be created nor be removed from software by a developer. They can only be converted from one form to another. The total number of bugs in the software always remain constant.
I'm developing an add in for Powerpoint and i have run into some problems.
Powerpoint has opened a file which i need to replace (the file in question is a simple data file).
my app runs as an add in (dll loaded by powerpoint). so i should be able to close the aforementioned file from within powerpoint. i have seen some tools do this.
can anyone help me with unlocking the file (closing).
the file in question has been opened by a flash component inserted onto the slide.
during slide show when the flash component is active it opens the file. after slideshow it no longer remains active but doesnt release the handle it opened earlier. is there some notification from powerpoint to flash object when slide show ends, so that i could manually close the file.
its right that i opened the file inside flash. but what i am expecting is when the slide show is over does powerpoint give me (Active Object : flash in this case) any signal that Show is over and you need to deactivate?
The question is "Does PowerPoint notify any compnents that the presentation is done??" No, it doesn't. The only time a component will get any notification is when it's unloaded when PowerPoint closes the presentation.
i am using windows xp service pack 2.. I have created a folder and renamed it as con. But it doesnt hold that name. It once again changes to NewFolder. Can we create folder name as con.? Plse reply.. Thank u..
I have several users connected through terminal services to a windows server 2003 64 bit. When a user sends some document to printer and tries to close session it hangs for several minutes.
After searching, i found some articles[^] pointing this issue. This occurs because there is a process (Splwow64.exe) that remains in memory for several minutes. This process is used to convert between 32 bit and 64 bit applications. This process remains in memory in order to increase system performance and unloads from memory after a specified time from the end of the last job. We can specify this time adding or editing the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\SplWOW64TimeOut (DWORD) and setting here the number of minutes to stay in memory before unloading.
Although this can be good for performance, it causes RDP sessions to hang when short time has passed after the user has done his last print and tries to close the session. The minimum value we can set SplWOW64TimeOut is 1. If we set it to 0, the application just hangs completely.
Is there any way to set this process to unload as soon as the job ends?
I have a new ASUS laptop. Recently a icon has begun to appear on my taskbar called "HViewer". It offers no context menu and double-clicking it does nothing. It does not appear in the TaskManager application list. It just sits there in my taskbar, mocking me!
How can I figure out what this thing is and if I don't need it, how can I get rid of it? I've searched the ASUS website and nothing shows up.
I have a new ASUS laptop. Recently a icon has begun to appear on my taskbar called "HViewer".
What have you done to your computer before this icon appear? Did you install any software or device driver?
Jesse Evans wrote:
It just sits there in my taskbar, mocking me!
Try to check in your control panel in add/remove program and find this icon name in the list of installed software. Or right click on your task bar and point to tool bar whether this application list in the tool bar. Hope this help