How to prevent/Minimize WindowsXP interference

I have an application that is troubled by Windows occasionally interputing a two step process and need to eliminate or minimize this interuption.  More specifically  I have an instrument that I need to obtain two pieces of information from- counts and livetime.  This must occur by first requesting the livetime then the counts in separate calls to the instrument.  Unfortunately, Windose often interputs the process with its own calls (that can last for a second or more) and completly messes things up.
My question is there anyway to (even briefly) lock the system resources so that for my two critical call no other process can interupt my code?  These calls are quick and painless (less than 50ms) total time consumed, and occur only once every half second (or more).
Any suggestions or help would be greatly appreciated?
John

The instrument in question is the Digibase from Ortec.  It does not support buffering (unfortunately).
I have tried optimizing some of the windows stuff related to the eye-candy (no shadows, classic style etc).  Though I have not yet optimized the services (or removing services).  The computer I am using for the data collection is Fujistu lifebook (one of the P1500 series ultra small computers).  This variant has 512 Mb RAM.
In addtion to my data acquisition program I have a database (MYSQL) running which I write the data into.
I have tried the option of setting the execution priority to "Time Critical" for the portion of the code that reads the various pieces of data from the Digibase.  However it seem that windows/other processes still manage to get in between my calls to the Digibase.  To recap I need to read the livetime and the total counts (or spectra)  this requires that I send a command to the digibase to stop the data acquisition , I then send a command to read the live time, and read the return value.  Then send a command to read the spectra (or total counts) and the read the return, and finally send a command to start the data collection.  However to aid in diagnosing the windows interuption problem I do not stop and restart data acquisition thus any time delays caused by excessive delays between the two reads becomes readily apparant.  (The Digibase is set to count at a high data rate which is nominally constant so that the calculated count rate   (counts/livetime) should be a constant -minus statisical flucuations).  The results indicate that windows/or other processes manage to sneak in between my calls to read the data about once every 50 to 200 trys no matter what I do. Bottom line is that there does not seem to be a shurefire way to prevent other process from interrupting my data acquisition even for a very brief time.  Or is there??  I sure long for the days of cooperive (or uncooperative) multitasking.
I am still pursuing the optimization of windows services and background tasks.  If anyone has a good reference I would love to hear it.  Presently I have explored a number of the on-line references such as the extreme tech tuneup hints such as(www.extremetech.com/article2/0,1558,5155,00.asp)
In the end I am affraid I may be asking the impossible of Windows, and since this equipment does not have drivers truly compatible with QNX, I may simply have to find a plan B.  But I can't help but think that this should be possible since the actual computation and bandwidth requirements of this application are very modest.
Thanks again for all the help and suggestions

Similar Messages

  • How can I minimize the chance of MBP case bending? Case? Closing technique?

    How does one minimize the chances of their MBP case warping or bending? I don't have one yet, so I'm asking for your opinions on preventative type recs.
    Does it have something to do with the way everybody is closing their lid? Should we be using both hands to push down the lid on each edge, rather than grasping the center?
    What about a protective case? Any recommendations for a slim, but rugged case?

    It doesn't matter how you close it, though it might matter how you place it: upright in a bag might contribute more to warpage than flat on a table. I'd say the best way to keep it would be back-first into a bag (so the LED light is at the top of your bag) but I can't say if it'll help at all.
    Unless your mac warps so that you can't close it anymore I think it's something that happens at random, even if you take very good care of it. Mine is a bit warped, I learned to live with it. When to you really look at your closed macbook? At any other time the effect isn't visible.

  • How to prevent an error of [WIP work order ... is locked-]

    Hello experts
    Can someone tell me how to prevent an error which [The WIP work order associated with this transaction is currently locked and being updated by another user.  Please wait for a few seconds and try again.Transaction processor error].
    How can you prevent that error?
    P.S.
    Oracle support told me [When you make data of mtl_transaction_interface, give same transaction_header_id to all data. Then, you kick worker with appointed transaction_header_id. Or, you set up being uncompatible with workers].
    I cannot allow that making with same transaction_header_id and being uncompatible with worker on my system.

    Hi santosh,
    You can implement badi BBP_DOC_CHECK to check vendor email and issue error message.
    Kind regards,
    Yann

  • How to prevent PO changes in ME22N after Order acknowledgement?

    Hi everyone,
            Can anyone tell me how to prevent PO changes (ANY) in ME22N after Order acknowledgement?
            I would like to make it possible without release strategy process or authorizations.
            Do you know some User Exit or Customazing way?
    Regards.
    Jaime S.

    Dear Jaime S,
    You can do this by restricting in authorization SHDO and also by marking "changes not possible after release" in Release strategy procedure.
    And also you can navigate the menu to, SPRO------>IMG------>Material Management--->Purchasing(OLME)------->Purchase Order---->Define screen Layouts at Document Level---->And go to ME22n And Select the right parameter and in this you can make it display, optional or required entry for the fields.
    Regards,
    Manjunath B L

  • How to prevent error message for material description in MDG material detail screen, when user click on check action

    Dear Experts,
    I have a requirement for making material description as non mandetory in change request view of mdg material screen.
    I have done that using field usage in get data method of feeder classes, but still message is displaying.
    This message 'Material description is mandatory is displaying with check action only, but not with save or submit after i anhance field property as not mandetory.
    How to prevent error message for material description in MDG material detail screen, when user click on check action.
    Thanks
    Sukumar

    Hello Sukumar
    In IMG activity "Configure Properties of Change Request Step", you can completely deactivate the reuse area checks (but will then loose all other checks of the backend business logic as well).
    You can also set the error severity of the checks from Error to Warning (per CR type, not per check).
    Or you provide a default value for the material description, e.g. by implementing the BAdI USMD_RULE_SERVICE.
    Regards, Ingo Bruß

  • How to prevent a solaris user to telnet from multiple computers

    Hello,
    How to prevent Solaris users to telnet from multiple computers? They should be able to telnet from only one PC.
    Please help..

    ora_tech have a good point, i was about to suggest ipfilter, which is a built-in-firewall in Solaris, but using tcp wrappers would probably be easier. It all depends on which level of security you want (blocking the telnet requests in a firewall would generally be safer than blocking them at the tcp wrapper level, since its prevents some processing).
    Since Solaris 10 you can also easily enable tcp wrappers on the inetd services with inetadm, see:
    http://blogs.sun.com/gbrunett/entry/tcp_wrappers_on_solaris_10
    .. for more details..
    .7/M.

  • How to prevent iTunes for Windows from "Updating iTunes Library"? (Library is on a NAS and managed by iTunes for Mac. Now getting update wars between Mac and Windows versions of the player.

    How to prevent iTunes for Windows from "Updating iTunes Library"?
    My library is on a NAS and managed by iTunes on a Mac. I can connect from wife's Windows laptop using iTunes for Windows but every time I do, it Updates iTunes Library. Next time I log in from my Mac it Updates iTunes Library in return. It appears I'm experiencing "Update Wars" between the Mac and Windows versions of iTunes. I would like to allow my wife to stream iTunes songs to her new laptop but I don't want any updates from this source... prefer to manage the library from my Mac and not allow Windows to do any thing other than listen to existing playlists.
    Thanks for any help/suggestions.

    Connect the PC to the library on the NAS. Wait while "updated".
    Under Edit > Preferences > Advanced make sure the media folder is correctly pointed at the media folder on the NAS. If not correct, close iTunes, wait a few moments, then open iTunes again.
    Close iTunes on the PC. Do not open iTunes on the Mac.
    Copy the library files, iTunes Library.itl, iTunes Library Extras.itdb, iTunes Library Genius.itdb, sentinel and the folder Album Artwork into an empty iTunes folder on the PC, for example C:\iTunes.
    Click the icon to start iTunes and immediately press and hold down SHIFT. Keep holding until prompted to choose or create a library. Click choose and browse to the copied .itl file, e.g. C:\iTunes\iTunes Library.itl
    The library should now work properly on the PC, however check the setting for the media folder. If needs be correct, close iTunes and reopen.
    Open iTunes on the Mac. It will update again, but that should be last time.
    tt2

  • How to prevent others use their iDevices to remote control apple tv?

    Hi All,
    I'm wondering that does anyone know how to prevent others use their iDevices to remote control my apple tv?
    settings
    1. the apple tv is in the school.
    2. all students could access the Internet
    3. The apple tv is sharing the same Internet with students.

    Welcome to the Apple Community.
    The remote app uses homesharing, therefore anyone wanting to control an Apple TV with the remote app would need to know the home sharing ID and password.

  • How to prevent apps from syncing in the new version of itunes?

    Hey there.
    I brang my macbook to Applestore cause it had a problem and they downloaded the latest version of itunes. Everything's fine and my music, videos and apps are in the new itunes like before. But now, when I want to sync my iphone, a pop window asks me to give the password of the itunes account I used to download some of my apps or it will delete them and their data. The problem is that one of these accounts is an old friend's one and I actually lost all contact with him. So basically now I can't sync my iphone at all or it will delete all my apps.
    Has anyone any idea how to sort that out? Or at least knows how to prevent apps from syncing in this new version of itunes?
    Thanks for your help

    Onthe top menu
    View > Show Status Bar.
    The grey bar will now appear at the bottom with the info you want

  • How to prevent a text in script from displaying if its value is zero

    Dear all,
    How to prevent a text in script from displaying if its value is zero
    for eg   Price  = 0.00
    if price is 0 it should'nt appear in output.
    I tried with    if price ne 0.
                       price = &price&
                        endif.
    but it's not working.
    Regards
    Raj
    <MOVED BY MODERATOR TO THE CORRECT FORUM>
    Edited by: Alvaro Tejada Galindo on Jan 20, 2009 8:59 AM

    Hello Nagaraju,
                           What you were doing is partially right.
    The correct format to write in the script is as follows :
    /:  if &PRICE& ne 0.
      &PRICE&
    /:  endif.
    This should work. Let me know how it goes.
    Nayan

  • How to prevent JaxB creation of 2 Interfaces for each Element?

    hi,
    does any body know how to prevent JaxB creation of 2 Interfaces for each Element (The Content Interface and the element interface)?
    I want to configure JaxB to use only one Interface and only one implementation Class.
    Thank's,

    I am sorry I can not answer your question, I have got the same problem. Could you please email me to
    [email protected] when you know the answer, please.
    I have a question for you. When and complex type is validated, I get the object which contains the error. ( or objects ).
    However. How do know the position in the actual parent object. basically. Is there a way to know exactly the position of that attribute in that object. I need to store errors strings.
    The first problem derives from this one:
    It is not possible to execute validate function for a primitive attribute inside an structure.
    I would appreciate your help.
    Thanks.
    Gustavo.

  • How do I minimize the backups stored on my Macbook Air?

    I'm using Time Machine onto an external hard drive, but there is more than 60GB of 'backups' in my MBA's internal storage. How do I minimize or remove that? I'll plug my Lacie external in everyday and utilize Time Machine... Any thoughts?

    OS X Lion- About Time Machine's "local snapshots" on portable Macs
    Open the Terminal in the Utilities folder and enter or paste the appropriate command line. Press RETURN and enter your admin password when prompted. It will not be echoed.
    To turn them ON: sudo tmutil enablelocal
    To turn them OFF: sudo tmutil disablelocal
    Note that turning them OFF will also delete all existing snapshots.

  • How do I minimize a section in Pages 5.1

    I simply want to add a page to a Pages document.  When I add one, for whatever reason it adds a page, but puts the yellow box around it and the prior page, then has another page after that section.  Why is it doing this, I just want to add one page. 

    JHodges1 wrote:
    Yeah my question is, how do I minimize that section down to one page, not two? All I know is, the older version of Pages was much easier, when I laste updated, it changed functions and made things more difficult. Frustrated!!
    JH,
    Put the cursor where you want to end the first section and Insert > Section Break.
    Jerry

  • EAP MD5 with ISE 1.2 - How to Prevent Active Directory Account locks?

    Hi,
    Is there any how to prevent accounts to be locked in AD if someone do a password brute force attack in a account? ISE has some feature/Configuration to prevent this type of attack ?
    Thanks.

    So what you're saying is the retry values only come in to play if the RADIUS server is inaccessible, right?
    Windows laptops actually work just fine, because many of them are using machine authentication.  The main issue seems to be from iPhones, which are saving the username/password and then re-attempting too many times when the user changes password.
    One solution is to use LDAP instead of AD within ACS, but the downside is the password can be guessed thousands of time in a row and open to dictionary attacks.  We do enforce complex password policies so the liklihood of an account being compromised is slim, but, I'd rather eliminate the chance entirely.

  • How to prevent JFileChooser automatically changing to parent directory?

    When you show only directories, and click on the dir icons to navigate, and then dont select anything and click OK, it automatically 'cd's to the parent folder.
    My application is using the JFileChooser to let the user navigate through folders and certain details of 'foo' files in that folder are displayed in another panel.
    So we dont want the chooser automatically changing dir to parent when OK is clicked. How to prevent this behavior?
    I considered extending the chooser and looked at the Swing source code but it is hard to tell where the change dir is happening.
    thanks,
    Anil
    To demonstrate this, I took the standard JFileChooserDemo from the Sun tutorial and modified it adding these lines
              // NEW line 45 in constructor
              fc.addPropertyChangeListener((PropertyChangeListener) this);
              fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
          * NEW -
          * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
         public void propertyChange(PropertyChangeEvent e) {
              String prop = e.getPropertyName();
              if (JFileChooser.DIRECTORY_CHANGED_PROPERTY.equals(prop)) {
                   System.out.println("DIRECTORY_CHANGED_PROPERTY");
                   File file = (File) e.getNewValue();
                   System.out.println("DIRECTORY:" + file.getPath());
         }

    Here is the demo:
    package filechooser;
    import java.awt.BorderLayout;
    import java.awt.Insets;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.beans.PropertyChangeEvent;
    import java.beans.PropertyChangeListener;
    import java.io.File;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.SwingUtilities;
    import javax.swing.UIManager;
    * FileChooserDemo.java uses these files:
    *   images/Open16.gif
    *   images/Save16.gif
    public class FileChooserDemo extends JPanel implements ActionListener,
              PropertyChangeListener {
         static private final String newline = "\n";
         JButton openButton, saveButton;
         JTextArea log;
         JFileChooser fc;
         public FileChooserDemo() {
              super(new BorderLayout());
              // Create the log first, because the action listeners
              // need to refer to it.
              log = new JTextArea(5, 20);
              log.setMargin(new Insets(5, 5, 5, 5));
              log.setEditable(false);
              JScrollPane logScrollPane = new JScrollPane(log);
              // Create a file chooser
              fc = new JFileChooser();
              // NEW
              fc.addPropertyChangeListener((PropertyChangeListener) this);
              fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
              // Create the open button. We use the image from the JLF
              // Graphics Repository (but we extracted it from the jar).
              openButton = new JButton("Open a File...",
                        createImageIcon("images/Open16.gif"));
              openButton.addActionListener(this);
              // Create the save button. We use the image from the JLF
              // Graphics Repository (but we extracted it from the jar).
              saveButton = new JButton("Save a File...",
                        createImageIcon("images/Save16.gif"));
              saveButton.addActionListener(this);
              // For layout purposes, put the buttons in a separate panel
              JPanel buttonPanel = new JPanel(); // use FlowLayout
              buttonPanel.add(openButton);
              buttonPanel.add(saveButton);
              // Add the buttons and the log to this panel.
              add(buttonPanel, BorderLayout.PAGE_START);
              add(logScrollPane, BorderLayout.CENTER);
          * NEW -
          * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
         public void propertyChange(PropertyChangeEvent e) {
              String prop = e.getPropertyName();
              // If the directory changed, don't show an image.
              if (JFileChooser.DIRECTORY_CHANGED_PROPERTY.equals(prop)) {
                   System.out.println("DIRECTORY_CHANGED_PROPERTY");
                   File file = (File) e.getNewValue();
                   System.out.println("DIRECTORY:" + file.getPath());
         public void actionPerformed(ActionEvent e) {
              // Handle open button action.
              if (e.getSource() == openButton) {
                   int returnVal = fc.showOpenDialog(FileChooserDemo.this);
                   if (returnVal == JFileChooser.APPROVE_OPTION) {
                        File file = fc.getSelectedFile();
                        // This is where a real application would open the file.
                        log.append("Opening: " + file.getName() + "." + newline);
                   } else {
                        log.append("Open command cancelled by user." + newline);
                   log.setCaretPosition(log.getDocument().getLength());
                   // Handle save button action.
              } else if (e.getSource() == saveButton) {
                   int returnVal = fc.showSaveDialog(FileChooserDemo.this);
                   if (returnVal == JFileChooser.APPROVE_OPTION) {
                        File file = fc.getSelectedFile();
                        // This is where a real application would save the file.
                        log.append("Saving: " + file.getName() + "." + newline);
                   } else {
                        log.append("Save command cancelled by user." + newline);
                   log.setCaretPosition(log.getDocument().getLength());
         /** Returns an ImageIcon, or null if the path was invalid. */
         protected static ImageIcon createImageIcon(String path) {
              java.net.URL imgURL = FileChooserDemo.class.getResource(path);
              if (imgURL != null) {
                   return new ImageIcon(imgURL);
              } else {
                   System.err.println("Couldn't find file: " + path);
                   return null;
          * Create the GUI and show it. For thread safety, this method should be
          * invoked from the event dispatch thread.
         private static void createAndShowGUI() {
              // Create and set up the window.
              JFrame frame = new JFrame("FileChooserDemo");
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              // Add content to the window.
              frame.add(new FileChooserDemo());
              // Display the window.
              frame.pack();
              frame.setVisible(true);
         public static void main(String[] args) {
              // Schedule a job for the event dispatch thread:
              // creating and showing this application's GUI.
              SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                        // Turn off metal's use of bold fonts
                        UIManager.put("swing.boldMetal", Boolean.FALSE);
                        createAndShowGUI();
    }

Maybe you are looking for