Slashdot Mirror


Inside the Windows Vista Kernel

Reader trparky recommends an article on Technet (which, be warned, is rather chaotically formatted). Mark Russinovich, whose company Winternals Software was recently bought by Microsoft, has published the first of a series of articles on what's new in the Vista kernel. Russinovich writes: "In this issue, I'll look at changes in the areas of processes and threads, and in I/O. Future installments will cover memory management, startup and shutdown, reliability and recovery, and security. The scope of this article comprises changes to the Windows Vista kernel only, specifically Ntoskrnl.exe and its closely associated components. Please remember that there are many other significant changes in Windows Vista that fall outside the kernel proper and therefore won't be covered."

298 comments

  1. Soft links? by Libor+Vanek · · Score: 3, Interesting

    From the article: "...the symbolic file link (or as it's called in UNIX, the soft link) finally arrives in Windows Vista." - anybody heard "soft link"? Me (after 10 years of using Linux) never...

    1. Re:Soft links? by Virak · · Score: 1

      I've heard "soft link" a few times. While not as popular as symbolic link/symlink, it still sees a fair bit of usage.

    2. Re:Soft links? by Anonymous Coward · · Score: 0

      Well, there's hard linking, which I've heard of, but I've generally only heard of symbolic links instead of soft link when actually making them, but I have heard soft link used when discussing the types of links

    3. Re:Soft links? by urbanriot · · Score: 1

      Just another word for a symlink... it's an OS fundamental that's been around for years, not a Microsoft coined terminology.

    4. Re:Soft links? by tuffy · · Score: 5, Informative

      The symlink(2) manpage mentions that they're also known as "soft links", as opposed to the hard links created by link(2). It's not a very common usage, though.

      --

      Ita erat quando hic adveni.

    5. Re:Soft links? by Moridineas · · Score: 3, Informative

      Absolutely. I guess "symbolic link" is the more common term, but soft link is hardly rare, and differentiates a link from a hard link. (think ln -s here)

      From wiki:

      Soft Link and Hard Link

    6. Re:Soft links? by NuShrike · · Score: 1

      Since using BSD from 1999, plenty of times. Hard links (ln), soft links (ln -s) aka symbolic links. It's been pretty difficult not to know. Maybe the Linux man pages aren't as clear?

    7. Re:Soft links? by loconet · · Score: 1

      I've heard them be called soft link many times. In fact, ln creates hardlinks by default and the -s switch makes it create "soft" ones.

      On the "symbolic file links finally arrives to Windows Vista.."

      Has it really arrived? really? Considering only Administrators have access to creating them by default?

      --
      [alk]
    8. Re:Soft links? by doshell · · Score: 2, Insightful

      The usage is established, but "symlink" or "symbolic link" are far more common:

      Wikipedia: Wikipedia article (redirects to "Symbolic link" article)

      Google hits: ~1M hits for ("symbolic link" OR "symlink") unix vs. ~419K hits for ("soft link" OR "softlink") unix ("unix" appended to avoid potentially irrelevant matches)

      Ocurrences in manpages (my Gentoo Linux system):

      $ find /usr/share/man -type f -name '*.gz' | xargs zcat | grep -i "soft link" | wc -l
      27
      $ find /usr/share/man -type f -name '*.gz' | xargs zcat | grep -i "softlink" | wc -l
      1
      $ find /usr/share/man -type f -name '*.gz' | xargs zcat | grep -i "symlink" | wc -l
      380
      $ find /usr/share/man -type f -name '*.gz' | xargs zcat | grep -i "symbolic link" | wc -l
      1458

      (Yes, it might not be that elegant, but my shell scripting skills are not the best.)

      --
      Score: i, Imaginary
    9. Re:Soft links? by NuShrike · · Score: 2, Informative

      Or a comparison with Google Trends

    10. Re:Soft links? by goarilla · · Score: 1

      10 years of slashdot and you're still a coward!

    11. Re:Soft links? by Knuckles · · Score: 3, Informative

      Let's try it again with proper quotes. Amazing how often people get this wrong. It looks like some school in India has recently started using this term,

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    12. Re:Soft links? by Eideewt · · Score: 1

      They're pretty clear:

      "A symbolic link (also known as a soft link) may point to an existing file or to a nonexistent one; the latter case is known as a dangling link."

    13. Re:Soft links? by guruevi · · Score: 1

      well, you forgot this IS slashdot so somebody else will find a shorter way to do this, it will look ugly, probably done in perl and thus unreadable. If you want to do it in shell script, you could have used zgrep (not all distro's have it) and/or used grep to count the lines and recurse through the files.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    14. Re:Soft links? by poolmeister · · Score: 1

      hard link = ln target linkname
      soft / symbolic link = ln -s target linkname

      --
      CN=poolmeister.OU=lurkers.CN=slashdot
    15. Re:Soft links? by Knuckles · · Score: 1

      Yes, I know. So? The question was how frequently the term "soft link" is used as a synonym for "symbolic link".

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    16. Re:Soft links? by Hes+Nikke · · Score: 1

      it's even more telling when you add symlink to the mix.

      --
      Don't call me back. Give me a call back. Bye. So yeah. But bye our, well, but alright we are on a shirt this chill.
    17. Re:Soft links? by Knuckles · · Score: 1

      Which the Indians don't seem to use at all. Weird. Thanks for the addition.

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    18. Re:Soft links? by donaldm · · Score: 1

      Of course in Unix/Linux there are two types of links one is a hard link and the other a soft link and have been around in Unix since the early 1970's. There is another type of link that is called a context dependent symbolic link (Tru64 Unix or OSF1) which is a way of assigning a directory or file to a specific cluster member. Very useful in a clustered file-system since each cluster member may need its own log and configuration files or even specific directory that has identical names to those used by the other cluster members.

      I have always been amazed that Microsoft only used a "shortcut" (IMHO a depreciated soft link) but maybe they have only just got around to rummaging through the University rubbish bin used by Unix people. Of course after reading the article on BlueJ (see http://yro.slashdot.org/article.pl?sid=07/01/27/14 7243) I would not be surprised if they patent it.

      --
      There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
    19. Re:Soft links? by wirelessbuzzers · · Score: 5, Funny

      Does anyone else find it amusing that Wikipedia's page on soft links is a redirect?

      --
      I hereby place the above post in the public domain.
    20. Re:Soft links? by mgiuca · · Score: 1

      Usually the other kind of link is called a "hard link", so it's easy to see where "soft link" comes from. But yes, in UNIX it is called a symlink. Haven't read TFA but it sounds like typical MS trying to pretend they came up with an original idea when they didn't.

      (Sorry, I'm just disheartened since I just finished reading about them ripping off BlueJ.)

    21. Re:Soft links? by SpanishArcher · · Score: 1

      Actually, I do.
      This is a bad sign on the geeky scale, right? ;-)

      --
      640KB of virtualized ram will be enough for everybody
    22. Re:Soft links? by WizzardX · · Score: 1

      Here are a few Debian-specific ones:

      apt-cache search symlink | wc -l
      50

      apt-cache search softlink | wc -l
      1

      apt-file search symlink | wc -l
      111

      apt-file search softlink | wc -l
      1

    23. Re:Soft links? by The+Second+Horseman · · Score: 1
      Sure it is. I've heard it from lots of folks over the years. More often, though, from people who used UNIX before Linux existed. I'm actually having trouble remembering when they were introduced - might've been UFS with 4.2BSD, and then the feature migrated back into System V along with the file system?


      As a side note, there are file systems that support hard links but not soft - VMS' ODS-2 (On-Disk Structure) comes to mind. Not sure if they changed the behavior with ODS-5 or not, I haven't used OpenVMS since 7.2.

    24. Re:Soft links? by dubl-u · · Score: 1

      From the article: "...the symbolic file link (or as it's called in UNIX, the soft link) finally arrives in Windows Vista." - anybody heard "soft link"? Me (after 10 years of using Linux) never...

      Yes. The other, much more common kind of link is often called a "hard link". Symbolic links are, probably by analogy, called soft links. A quick look at Google finds thousands of references. You should check that Google thing out sometime; it's pretty cool.

    25. Re:Soft links? by rapidweather · · Score: 1

      the symbolic file link
      I love 'em. Use them as much as I can to reduce the size of the default items in /ramdisk for my livecd linux (screenshots below). More room, then, when Firefox 2.0.0.1 is started, with it's ~/.mozilla. That said, when Firefox is closed, I remove the ~/.mozilla (everything) to reclaim /ramdisk space, and for privacy/security reasons.
      The "files" that the symbolic link points to are "read only" since they are in the CD, and cannot be changed themselves, but can be deleted and replaced with something else in the /ramdisk.
      As a result of using these links for /ramdisk, my default /ramdisk is only one quarter of the size of the default one in Damn Small Linux, for instance.

      --Rapidweather

    26. Re:Soft links? by Anonymous Coward · · Score: 0

      Looks like that guy's ten years of Lunix usage weren't much help.

      Seems as though at least another ten years will be required before he even understands his prefered OS. The amusing thing is, he's typical of the kind of person who bashes Windows for not having features it's had for years.

    27. Re:Soft links? by Zonnald · · Score: 1

      Perhaps you should have RTFA and you would have noticed the the author referred to it as having existed in UNIX?

    28. Re:Soft links? by StikyPad · · Score: 1

      That's probably because a curry hotdog is called a soft link in India.

      Ok, I just made that up.

    29. Re:Soft links? by aug24 · · Score: 1

      Yeah, I call them soft links.

      Soft links are a redirect to another file pointer, hard links are an additional file pointer to the file storage area.

      HTH.

      J.

      --
      You're only jealous cos the little penguins are talking to me.
    30. Re:Soft links? by Anivair · · Score: 1

      Soft link is pretty common, though symbolic link or symlink has become more common lately.

    31. Re:Soft links? by jonadab · · Score: 1

      > anybody heard "soft link"? Me (after 10 years of using Linux) never...

      In the Linux world, they're generally called symlinks (symbolic links), but it's the same principle, and they're still the other kind of links from hard links.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  2. Re:MMCSS by swissmonkey · · Score: 4, Informative

    Yet another (promised?) feature they could not deliver.

    ??? This is in Vista

    thought for a second that they required admin access to activate MMCSS; but upon a second reading, it looks like they've merely reimplemented nice with some kind of setuid root service.

    "nice" as you call it has been in NT since its conception.
    He's talking about multimedia specific scheduling related to I/O operations here, you might want to read this whole document a 3rd time, he's not talking about "regular" kernel scheduling of threads/processes, he's talking about scheduling based on I/O needs which is a whole different beast.

  3. Re:"Kernel" ? by Anonymous Coward · · Score: 0

    No, its a shell you twit.

  4. Finally... by physicsnick · · Score: 4, Insightful

    Everytime I read anything about Vista's new features, I hear myself saying "fucking finally" like half a dozen times. Symlinks? Cancelling I/O? These are things other, better operating systems have had for over a decade. Anyone wanna start a pool for when they'll roll out a patent for symlinks?

    1. Re:Finally... by cnettel · · Score: 5, Informative

      Cancelling I/O has been in Windows for long, "just" not always done properly. I have seen similar issues while killing processes in other OSes where they are stuck in some I/O. One reason for why this happens more frequently in Windows (in addition to bad drivers/a complicated driver model) is the fact that asynchronous I/O is so common. That way, you might not see the that the IO got stuck until you try to kill the process.

    2. Re:Finally... by mycall · · Score: 0

      Having used Vista for a few months now, I would say it still hangs from lost I/O connections. While they say it suppose to work better now, it hangs as it always has. Perhaps they will patch this with SP1.

    3. Re:Finally... by Anonymous Coward · · Score: 4, Interesting

      How much praise was adorned on Linux when it got an O(1) scheduler? NT has had it for over a decade.

    4. Re:Finally... by urbanriot · · Score: 1, Redundant

      "Junction Points" in Windows 2000 (NTFS 5) precedes Vista's soft link support.

    5. Re:Finally... by zlogic · · Score: 1

      There's a program named Junction Link Magic (http://www.rekenwonder.com/linkmagic.htm) that can create junctions (symlinks, only a bit more primitive). And it works in WinXP and 2000. And it's like 5 years old.

    6. Re:Finally... by canuck57 · · Score: 1

      Anyone wanna start a pool for when they'll roll out a patent for symlinks?

      They might! But it would be embarrassing for M$ if the judge to hear that Windows as the last OS to get them and that UNIX supplied the concept.

      But I am also amazed at how "excited" people are over new-4-Windows features like this. Might as well jump right into Linux/UNIX and get it all now. I will never forget when W98(?) said it would not check the disk on boot if it was previously shutdown nicely. UNIX has this for a decade by then.

      Someday M$ will sell MS-Linux ---

    7. Re:Finally... by zmay79 · · Score: 1

      I don't get it... "Cancelling I/O has been in Windows for long, "just" not always done properly" Is this a feature or just failure to deliver a quality OS?

    8. Re:Finally... by Anonymous Coward · · Score: 0
      Cancelling I/O has been in Windows for long, "just" not always done properly.

      From MSDN:

      BOOL CancelSynchronousIo(
        HANDLE hThread
      );
       
      Requirements
      Client Requires Windows Vista.
      Server Requires Windows Server "Longhorn".
       
      BOOL CancelIoEx(
        HANDLE hFile,
        LPOVERLAPPED lpOverlapped
      );
       
      Requirements
      Client Requires Windows Vista.
      Server Requires Windows Server "Longhorn".
      Windows has been lacking IO canceling until Vista. It has nothing to do with "not always done properly", depending on what you were doing, it simply wasn't there. Microsoft never understood Multithreading and Asynchronous IO and that is clearly demonstrated by the fact that it took this long to add this functionality.
    9. Re:Finally... by RAMMS+EIN · · Score: 5, Informative

      `` I have seen similar issues while killing processes in other OSes where they are stuck in some I/O.''

      Oh, the horrors! I've had this happen to me many times, as well, especially on Linux. Not even a kill -9 would get rid of the wedged process. Why is there even such a thing as "non-interruptible sleep"? If I don't need the process anymore, I should be able to get rid of it no matter what.

      And wedged drivers, too. I think you can still see this for yourself by doing I/O with some USB device, and then yanking it out while the I/O is in progress. You get at least one process that you can't kill (I guess the comatose state causes ethical issues), and probably a driver you can't unload (although maybe new kernels allow you to do that). If you're "lucky", you get a whole lot of hardware devices that you can't use anymore, and any program that tries to gets into the dreaded D state.

      --
      Please correct me if I got my facts wrong.
    10. Re:Finally... by mejmt · · Score: 1

      Everytime I read anything about Vista's new features, I hear myself saying "fucking finally" like half a dozen times. Symlinks? Cancelling I/O? These are things other, better operating systems have had for over a decade. Anyone wanna start a pool for when they'll roll out a patent for symlinks?

      Huh... I remember thinking the same thing about OS X when it first came out... Dynamic Memory Management? Finally! It only took you guys 20 years to catch up with the rest of the operating systems out there!

    11. Re:Finally... by AndrewHowe · · Score: 1

      Sorry, you're wrong. CancelIO has been available since NT 4.0. And Asynchronous IO works very well, perhaps you weren't using it correctly?

    12. Re:Finally... by Anonymous Coward · · Score: 0

      M$
      Please stop it.
    13. Re:Finally... by newt0311 · · Score: 1

      keep in mind that this is windows we are talking about. In windows, a new feature is either something that should have been there years ago (symlinks) or something unnecessary (Aero).

    14. Re:Finally... by sconeu · · Score: 1

      RTFA. Russinovich mentioned Junction Points and how they differed from symlinks.

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    15. Re:Finally... by Hes+Nikke · · Score: 1

      Finally! It only took you guys 20 years to catch up with the rest of the operating systems out there!
      Oh and only by buying someone else's 15 year old work to get there! O_o
      --
      Don't call me back. Give me a call back. Bye. So yeah. But bye our, well, but alright we are on a shirt this chill.
    16. Re:Finally... by Anonymous Coward · · Score: 0

      Sorry, you're wrong. CancelIO has been available since NT 4.0. And Asynchronous IO works very well, perhaps you weren't using it correctly?

      CancelIo can't cancel overlapped IO. Why else do you think they added that function in Vista?

    17. Re:Finally... by dave562 · · Score: 2, Insightful
      But I am also amazed at how "excited" people are over new-4-Windows features like this. Might as well jump right into Linux/UNIX and get it all now.

      The longer operating systems are around for, the more heterogenuous they will become. Although Linux/UNIX might have a bunch of features that Microsoft is getting around to implementing, similar arguments can be made in the other direction as well. The fact of the matter is that computer users as a whole will demand certain things from their operating system and the vendors will eventually get around to implementing those things. I think that on a long enough time line, eventually every OS will have appropriated all of the worthwhile features from every other OS.

    18. Re:Finally... by AndrewHowe · · Score: 3, Insightful

      I suggest you read the documentation for CancelIo before you make a bigger fool of yourself. How would you call CancelIo for a synchronous operation? You wouldn't regain control until the operation had finished, so there would be no need to cancel it anyway.

    19. Re:Finally... by xenocide2 · · Score: 1

      "Oh, the horrors! I've had this happen to me many times, as well, especially on Linux. Not even a kill -9 would get rid of the wedged process. Why is there even such a thing as "non-interruptible sleep"? If I don't need the process anymore, I should be able to get rid of it no matter what."

      I haven't yet read the internals of the linux kernel, but I understand that disk dma requests are a major source of non-interruptible sleep. I imagine it has to do with locking the RAM the disk is going to write to safe from other processes. But from my studies of MINIX, I recall that the DMA controllers were a bit limited, so its possible DMA in linux is done to some buffer and then copied into userspace. This would make my whole argument invalid =(

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

    20. Re:Finally... by xenocide2 · · Score: 1

      I can write an O(1) scheduler too. FIFO comes to mind...

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

    21. Re:Finally... by sco08y · · Score: 1

      Never used Linux's scheduler, but I tried to use NT's many times. At least as recently as Win 2K, it was horribly broken.

    22. Re:Finally... by urbanriot · · Score: 1

      And if you'll open your eyes my response was related to the post I'm replying to, not to the original article.

    23. Re:Finally... by drsmithy · · Score: 2, Insightful

      Everytime I read anything about Vista's new features, I hear myself saying "fucking finally" like half a dozen times.

      Funny, I think exactly the same thing almost every time I hear about the latest "innovation" in Linux or OS X.

    24. Re:Finally... by x2A · · Score: 1

      "(I guess the comatose state causes ethical issues)"

      *lol* very good. I've bought up this unkillable process issue before on here, like when a network mount goes down, hanging all processes with active reads so they can't be killed. The response I got was that this is actually by design; with NFS being connectionless or sessionless or stateless or something (I forget the word used) means when the connection comes back up, and the nfs remounted, the reads etc will resume where they left off. Killing the process on the client would leave locks open on the server.

      I can understand this, but do disagree; you should never have a process on your own system that you cannot kill. The left open locks issue could easily be resolved by updating the server on closed connections on reconnect etc, and these days with other network filesystems like CIFS, and removable media (linux ready for the desktop?) reads shouldn't expect to always be able to resume.

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    25. Re:Finally... by x2A · · Score: 1

      "I will never forget when W98(?) said it would not check the disk on boot if it was previously shutdown nicely"

      Okay, I've only used MS OS's MSDOS 3.2, 5, 6.2(2), and Win 3.1(1), WfWG, Win 95 - 2003, and prerelease of Vista... but all of them didn't check the disk on boot if it was shut down nicely. Which did?

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    26. Re:Finally... by x2A · · Score: 1

      Oh come on, it's not like they spent all that time just coming up with dynamic memory management... they also invented protected memory and preemptive multitasking every other OS didn't have years before :-/

      I know I'd prefer my OS to have those than a limiting, I mean simple GUI.

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    27. Re:Finally... by Anonymous Coward · · Score: 0

      How much praise was adorned on Linux when it got an O(1) scheduler? NT has had it for over a decade.
      So have FreeBSD and Solaris.
    28. Re:Finally... by WhoBeDaPlaya · · Score: 1

      And NTFSLink helps "unlock" the feature in XP.

    29. Re:Finally... by Anonymous Coward · · Score: 0

      I suggest you read the documentation for CancelIo before you make a bigger fool of yourself.

      I suggest you read the documentation for CancelIoEx before _you_ make a bigger fool of yourself. For example: "The CancelIoEx function allows you to cancel requests in threads other than the calling thread. The CancelIo function only cancels requests in the same thread that called the CancelIo function.". Similar concept for CancelSynchronousIo.

      How would you call CancelIo for a synchronous operation? You wouldn't regain control until the operation had finished, so there would be no need to cancel it anyway.

      I don't know, you tell me. The MSDN page for CancelIo says: "If there are any I/O operations in progress for a specified file handle, and they are issued by the calling thread, the CancelIo function cancels them.". So the thread that calls CancelIo must have first pended the requests _itself_.

      Yes, that made CancelIo (to some people) a useless function. But again, maybe Microsoft just came up with those new functions for fun.

    30. Re:Finally... by ultranova · · Score: 1

      with NFS being connectionless or sessionless or stateless or something (I forget the word used)

      From what I've understood, the designers very much wanted it to be stateless, but since file systems are inherently stateful they had to add in things like

      lockd ,

      externalizing the state and allowing them to claim that the core protocol is technically stateless, in the same way as Clinton didn't technically have sex with Lewinsky. So I guess the word you're thinking is

      schizophrenic .

      I can understand this, but do disagree; you should never have a process on your own system that you cannot kill. The left open locks issue could easily be resolved by updating the server on closed connections on reconnect etc,

      The problem with this is that either the server keeps the lock until the client reconnects (leading to unkillable processes in the server) or it opens it and relocks it on client reconnect, in which case the program performing IO will think that the file has stayed locked (and unchanged) during the IO operation, when in reality this may not be true.

      and these days with other network filesystems like CIFS, and removable media (linux ready for the desktop?) reads shouldn't expect to always be able to resume.

      I suppose. But that would force people to handle I/O errors in their programs, and frankly, after seeing how they seem unable to handle even simple bounds checking, I don't think they can.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    31. Re:Finally... by ultranova · · Score: 5, Informative

      How much praise was adorned on Linux when it got an O(1) scheduler? NT has had it for over a decade.

      Yes. A round robin scheduler, which runs every task for exactly 2 clock ticks except for foreground tasks which are run for 6 (or is this an XP improvement ?) - assuming there's no interrupts occurring during those ticks, of course - and not paying any attention to whether the task is IO- or CPU-bound. It performs absolutely shitty if you have anything heavy running in the background (say, POV-Ray rendering an image while you try to browse the Net). Praising that to be "O(1) scheduler" is about the same as calling the Goatse picture "art": sure, it may be technically true, but...

      What Linux was praised was getting a scheduler that handles 40 priority levels, real-time tasks, and multiple CPUs (500+, in some cases) while retaining both interactivity and high throughput, and doing all this in O(1) time. No version of Windows has ever gotten even close.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    32. Re:Finally... by x2A · · Score: 1

      "The problem with this is that either the server keeps the lock until the client reconnects (leading to unkillable processes in the server) or it opens it and relocks it on client reconnect"

      or the locks remain held during disconnected state (as is the case now), but when the client reconnects, locks held open on the server that aren't still on the client (ie, the process holding them has been killed) get released.

      "But that would force people to handle I/O errors in their programs"

      no I was just thinkin of being able to terminate a task that's waiting on a blocking I/O, eg, if you know you're not able to reconnect to a stateless nfs, or the read is on a stateful [n]fs.

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    33. Re:Finally... by heffrey · · Score: 0

      But these things work both ways. Windows support for multi-threading within processes has been fantastic for 10 years. What's it like in Linux?

      Waiting for this post to be modded down by the Linux fanboys.....

    34. Re:Finally... by AndrewHowe · · Score: 1

      I suggest you read what I actually wrote - which was about CancelIo, not CancelIoEx. I have read the documentation for CancelIoEx, thank you very much. And your point is? How does that relate to what I actually wrote?

      So the thread that calls CancelIo must have first pended the requests _itself_.

      Yes, and that means that they must have been issued as overlapped operations, which directly contradicts your assertion "CancelIo can't cancel overlapped IO.".

      The new functions significantly improve the utility of IO cancellation. But you seem to be very confused about why.

    35. Re:Finally... by RAMMS+EIN · · Score: 1

      ``I haven't yet read the internals of the linux kernel, but I understand that disk dma requests are a major source of non-interruptible sleep.''

      That's what I would imagine. However, it can't be that hard to lock the pages the request is supposed to write, and remove the rest of the process. Once the request completes, you unlock the pages.

      --
      Please correct me if I got my facts wrong.
    36. Re:Finally... by RAMMS+EIN · · Score: 1

      On Linux, you can give options to mount that control the behavior in case the NFS server fails. If you specify 'hard', you get the behavior you mention. If you specify 'soft', I/O actions time out after a while. If you specify 'intr', you can interrupt the I/O by sending a break to the process. The defaults are 'hard' and 'nointr'.

      --
      Please correct me if I got my facts wrong.
    37. Re:Finally... by evilSteve · · Score: 1

      "Windows 2000 and higher supports directory symbolic links" via Junction (thanks, Mark). No support for file symlinks, but still useful.

    38. Re:Finally... by oohshiny · · Score: 1

      Not even a kill -9 would get rid of the wedged process. Why is there even such a thing as "non-interruptible sleep"?

      It's there to annoy the users, of course!

      Seriously, some of these things are simply not worth doing any better because they are so rare for most users and a lot of work to do differently. And those choices are not made by accident, they are made by prioritizing bug reports and time estimates.

    39. Re:Finally... by oohshiny · · Score: 1

      How much praise was adorned on Linux when it got an O(1) scheduler? NT has had it for over a decade.

      Whether the scheduler is O(1) or O(N) or O(N^2) doesn't matter. What matters is that it schedules processes well and does so fast enough. The Linux scheduler has done that for years, while the NT scheduler has always sucked. It looks like they have been incorporating some of the traditional UNIX scheduling heuristics. Whether it works in practice remains to be seen.

    40. Re:Finally... by Anonymous Coward · · Score: 0

      Well, if you want stuff to run in the background you alter the algorithm to use the 'background process' scheduling. Its in the System control panel applet, along with another one to change the way caching is handled. See, you want different things for different types of task. A Server wants background processes to have more timeslices, a file server wants more memory given to caching. Of course, you do want your current task to have more CPU time, otherwise it'd perform pretty sluggishly and we all know the user is always right.

      Windows also have 5 levels of named priority, each having 32 levels = 160 priority levels (ot that you'd use anything other than the main 5 generally), and Windows enterprise will scale up as many processors as you can find a motherboard to fit them on (ie not many x86 architectured mobos, but unisys do make one).

      Also, real-time tasks are something you need a variant of Linux for, but is it still the Linux everyone thinks of when you are writing these comparisons?

    41. Re:Finally... by ivan256 · · Score: 1

      I can understand this, but do disagree; you should never have a process on your own system that you cannot kill. The left open locks issue could easily be resolved by updating the server on closed connections on reconnect etc, and these days with other network filesystems like CIFS, and removable media (linux ready for the desktop?) reads shouldn't expect to always be able to resume.

      When media goes away, pending IO should come back as a failure, or timeouts should occur eventually...

      The real problem is that you may have sent a request to a DMA controller, and you don't know that it is done modifying a memory location without CPU interaction until it tells you so. If that response never comes back, and you can't guarantee that bit of hardware isn't going to muck with the data at some point in the future you need a way to account for the fact that the memory is spoken for. What better way to account for this than by having the process which owns the request stick around? Sure, you could have the I/O owned by some independent process while the real parent goes away, but what would that accomplish in most situations?

      Leaving locks open on a network fileserver is actually a terrible reason to disallow interruption of IO. It's the server's responsibility to deal with that crap, as there is no guarantee that a client won't go away and never come back.

    42. Re:Finally... by x2A · · Score: 1

      "Sure, you could have the I/O owned by some independent process while the real parent goes away, but what would that accomplish in most situations?"

      The freeing up of all other process memory, file handles, locks, and any other resource it's holding, possibly keeping you from unmounting/remounting a filesystem or accessing files from other processes.

      --
      The revolution will not be televised... but it will have a page on Wikipedia
  5. Is this the same as... by tgatliff · · Score: 5, Funny

    Isnt this like entering the belly of the beast? I will save you some time in reading the article.

    Proper care for your Vista "Beast"
    1) Feed it plenty of CPU cycles. Preferrably multiple cores.
    2) Give it obsene amounts of memory. 2.5G preferable.
    3) This one seems to really enjoy Video Ram as wll, probably it tastes better. 256M advised.
    4) Keep feeding it a constant supply of disk space. Interestingly enough, this version seems to consume HD space simply with doing nothing.

    Thats the basics folks. Give your Vista beast what it needs and you should have a kind of good experience. At least for at least 6 months or so... Then you must slay the beast and re-install.. :-)

    1. Re:Is this the same as... by bwd234 · · Score: 3, Interesting

      Hell with all that...I'm sticking with my Windows 2000! Best M$ OS I've run yet. More stable than 95 or 98 and w/o all the wastefull eye candy of XP. If it does someday become totally obsolete, I guess I'll have to switch to Linux or whatever, but in the meantime it's 2k all the way!

    2. Re:Is this the same as... by tgatliff · · Score: 1

      The best implementation I have seen so far for running MS products is to use VMWare Server (free) running on Gentoo (or whatever) implented thru LVM2, and accessing it thru MS Remote Desktop. VMWare Console access is not very good, but Remote Desktop is perfect for pretty much all non-video/audio business apps. This setup is easy to manage and upgrade, and is gosh darn reliable.

    3. Re:Is this the same as... by qzulla · · Score: 1

      You are aware you can make XP look like W2k, right?

      qz

    4. Re:Is this the same as... by bwd234 · · Score: 1

      "You are aware you can make XP look like W2k, right?"

      Yes, I am, but that's only one of the reasons I won't run XP, the other being the PITA of having to beg for M$'s permission everytime I want to upgrade my computer.
      Windows 2k does what I need it to, so I see no point in "upgrading" to either XP or Vista. Ever since XP, M$ has been trying to take away more control of our computers from us, and now with the DRM crap in Vista, ain't no way I'm getting that! Hell no!!!

    5. Re:Is this the same as... by mycall · · Score: 0

      I suggest dual booting as many people at least like video/games once in a while. If you have an pre-existing XP system and would like to virtualize it, check out VMware Converter: http://www.vmware.com/whatsnew/converter.html

    6. Re:Is this the same as... by Anonymous Coward · · Score: 0

      If I posted similar to a Linux thread, I'd be modded as a troll. Here, it gets +5 Funny (even though it has nothing to do with the article).

    7. Re:Is this the same as... by that+this+is+not+und · · Score: 1

      XP running to 'look like W2K' is still a slow pig. At my work, I was recently 'upgraded' from a Dell Optiplex with a Pentium II 450 processor in it running W2K to a Dell Optiplex with a Pentium III 550 processor in it, running XP. I would have gladly taken the same OS with the faster processor, but IT is shoving XP at all workstations. The XP box is much slower.

      Microsoft has also, doubtless in the drive to 'lower support costs,' removed significant useful functionality in areas that you don't notice right away. The TWAIN interface for my scanner- same scanner, same driver installed- removes most of the controls and 'tweak' functions at scan-time. This makes perfect sense from Microsoft's point of view, as they don't care to produce 'elaborate but complex' interfaces. They want to dumb things down to keep their support costs low.

      I am yet another, like the GP, who will never 'progress' past Windows 2000 on a home desktop machine. I mostly use NetBSD now anyway.

    8. Re:Is this the same as... by laffer1 · · Score: 1

      You don't know how right you are. I'm running Vista Ultimate x64 RTM right now. Its peppy for regular tasks.

      AMD and NVIDIA are not shipping OpenGL drivers yet. NVIDIA's is very slow and you can not play most games like Enemy Territory (quake3 based). WoW works.

      Windows consumes half my ram on startup. I have 2.5GB of ram. Granted I have a NVIDIA 7300 GS w/ turbocache too.

      My system is:
      Pentium D 805 (dual core 2.6Ghz)
      2.5GB PC5300 DDR2
      SATA II Hitatchi disk.
      Intel DP965LT Motherboard
      NVIDIA Geforce 7300 GS 256MB + turbocache up to 512MB

      On this vista is usable but I wouldn't recommend running it on anything less. Don't expect games to work.

      I've had the following games work so far:
      Age of Empires II
      World of Warcraft Burning Crusade (but patching requires manually running the patch with admin rights)
      Day of defeat source

      These don't work so far:
      Star wars knights of the old republic 2
      splinter cell
      sim city 4 (weird install issue i'm working on)

      I haven't bothered to try quake 4, Doom 3 or most of my other games as many require opengl. I did a format last weekend so i haven't gone through extensive install process yet.

    9. Re:Is this the same as... by jaavaaguru · · Score: 1

      I guess multiple cores are more than your "average core"

    10. Re:Is this the same as... by robogun · · Score: 1

      It can't be made to run like win2k. There are a couple of things XP does better than Win2K, many worse, and activation is the deal killer.

      Thankfully we have pirates to repair XP and/or post corporate versions of it online. How anyone pays for the wga "experience" is just one of those modern mysteries.

    11. Re:Is this the same as... by tgatliff · · Score: 1

      Sweet.. I have not seen the converter before. Thanks!!

    12. Re:Is this the same as... by mobby_6kl · · Score: 2, Informative

      Look carefully at the RAM usage in task manager. Most of the "used" memory is cache - it will be freed immediately when needed. I'm running Vista with a 1gb of ram (and a 2.6 Northwood P4), and real memory usage is around 300mb. I did turn off the Defender and Sidebar, but didn't go through any serious service cleanup, so I probably saved 20-30 megs here.

      The NVIDIA drivers suck, but UT2004 and Warhammer 40000 Dawn of War work fine, if slower than in xp/2003. The old Ghost Recon and R6 games work ok too. Didn't have much time to test any other games yet.

    13. Re:Is this the same as... by mgiuca · · Score: 1

      Don't you usually need to buy a new beast once you slay it?

    14. Re:Is this the same as... by x2A · · Score: 1

      I thought that, until I tried 2003 and converted from server to desktop modes (eg, enable all hardware accelleration for sound/graphics, enable sound server, disable having to tell it why you wanna reboot etc etc). I went to 2003 because I'm a web developer and need to test under IE7 (not available for 2000), but would rather find a new job than have to use XP. The startup/shutdown time alone makes a huge difference (I don't do this often, but damnit when I do I want it done fast! 2000 would start/stop drivers sequencially, whereas 2003 will do it concurrently, hiding a lot of IO wait times. The difference is significant).

      The missing "minimise all windows" from the taskbar was real annoying, but then I found the Win+M shortcut key ("show desktop" is not the same). But then 2003 is the current end of the server line (NT4, 2000, 2003) rather than desktop line (95, 98, ME, XP). The server line's always been a much better line of products (although more expensive, if you're into buying them)

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    15. Re:Is this the same as... by Nataku564 · · Score: 1

      While XP is essentially built on top of 2k, they actually reduced the boot time. XP Pro is pretty much just as usable as 2k, and you can turn off all the shinies. Not quite as efficient (min specs went from 133 to 166 IIRC), but still pretty speedy.

    16. Re:Is this the same as... by x2A · · Score: 1

      2003 comes with all the shinies already turned off, so you just turn on what ya need, but yeah the swiching from sequencial to concurrent driver load/unloading was between 2000 an XP.

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    17. Re:Is this the same as... by ydra2 · · Score: 1

      "Windows 2k does what I need it to, so I see no point in "upgrading" to either XP or Vista."

      Dont upgrade. W2K also does everything your botmasters need too, so don't risk breaking a perfectly functional zombie.

    18. Re:Is this the same as... by lidocaineus · · Score: 1

      How stupid. Windows 2k fully patched to current is just as secure/insecure as XP.

    19. Re:Is this the same as... by Nataku564 · · Score: 1

      True, but its also ungodly more expensive, last I checked :-P

      I like my shiny green things.

    20. Re:Is this the same as... by x2A · · Score: 1

      Which is why in my original post I said:

      "The server line's always been a much better line of products (although more expensive, if you're into buying them)"

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    21. Re:Is this the same as... by Nataku564 · · Score: 1

      Well, yes - which is why I was bringing up the point that your grievances against XP (long boot time) were not really true, so there isn't much point to buying the server version for IE7.

    22. Re:Is this the same as... by x2A · · Score: 1

      "your grievances against XP (long boot time) were not really true"

      It's not even true that I said that! My comparison was between 2000 and 2003, I said:

      "2000 would start/stop drivers sequencially, whereas 2003 will do it concurrently"

      I made no comment on XPs driver loading, my grievances with XP lie elsewhere, like it slowing me down by asking me if I'm "sure" about everything. I need an interface that's designed for people who know what they're doing, not one that's designed for people who aren't sure.

      --
      The revolution will not be televised... but it will have a page on Wikipedia
  6. Screenshot by Dirtside · · Score: 5, Funny

    They actually have a screenshot of what it looks like inside the Vista kernel.

    --
    "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
    1. Re:Screenshot by bl8n8r · · Score: 4, Funny

      whew.. for a minute there I thought that was a link to goatse

      --
      boycott slashdot February 10th - 17th check out: altSlashdot.org
    2. Re:Screenshot by Anonymous Coward · · Score: 0

      I always wondered why that MCP process was consuming 100% CPU in process monitor :)

    3. Re:Screenshot by typobox43 · · Score: 5, Funny

      Don't worry, there's plenty of gaping holes in the kernel too.

  7. Re:MMCSS by Tim+C · · Score: 4, Insightful

    Classic: multimedia apps take precedence over anti-virus.

    Yes, as it should. If the AV activity is a scheduled full system scan, then it can indeed wait those few tenths of seconds extra, as if you're already infected, they won't make any difference. If it's a real time scan on a file you're accessing, then it can definitely wait, as the file won't be opened/executed until the scan has completed anyway.

    So what exactly is the problem with giving a multimedia app a higher priority on the processor than your AV software? We're not talking about killing the AV soft, just lowering the priority; it's still running.

    they've merely reimplemented nice

    You've been able to set process priority through the Task Manager since at least NT4 (the earliest I remember it being available; it may have been in earlier versions too, I just don't remember seeing it personally).

  8. Re:MMCSS by Joe+The+Dragon · · Score: 0

    so all some needs is virus that tells the system that it is a multimedia app while it uploads all of your data.

  9. Whoa by Sloppy · · Score: 4, Interesting

    I think we've finally seen the very first actually interesting Slashdot story about Vista. About fucking time.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    1. Re:Whoa by mobby_6kl · · Score: 4, Funny

      What, you don't find outrageous articles based on misinformation and speculation, full of FUD and pure lies, written by people who know nothing about what an OS consists of besides window decorations and shiny progress bars, interesting?

      What are still you doing here?

    2. Re:Whoa by that+this+is+not+und · · Score: 2, Funny

      written by people who know nothing about what an OS consists of besides window decorations and shiny progress bars

      Are you kidding? You think that the design staff at Microsoft writes most of the Vista articles posted on Slashdot?

    3. Re:Whoa by Anonymous Coward · · Score: 0

      The lies aren't pure. They're corrupt. Re-install them.

  10. Re:MMCSS by Anonymous Coward · · Score: 1, Insightful

    you might want to read this whole document a 3rd time, he's not talking about "regular" kernel scheduling of threads/processes, he's talking about scheduling based on I/O needs which is a whole different beast.
    An antivirus/indexing/search app or my inverse regexp fsck cmp thingy may need more I/O than WMP11 but will not get any because it's tagged Low in advance. That's not scheduling on IO.

  11. Ideas borrowed from QNX. But bulkier by Animats · · Score: 3, Informative

    Much of this new stuff sounds like features of QNX. QNX has a "sporadic scheduler", for when you need things like 10ms of CPU every 100ms. QNX has had I/O cancellation for years. In QNX, you can set a timeout on any system call that blocks. If you set a 35ms timeout on a write, after 36 milliseconds, you'll have control back. Very useful in real-time systems where you're doing something less important, like logging, that should never take very long but, in some trouble condition, might. QNX has had prioritized I/O for years, too.

    It all works, too. I've done compiles on QNX while running a real time program on the same machine, without the real time program missing a deadline.

    Of course, in Vista, it's all more complicated.

    1. Re:Ideas borrowed from QNX. But bulkier by mycall · · Score: 0

      As all the OSes mature, I'm sure they will all borrow good ideas from each other.

    2. Re:Ideas borrowed from QNX. But bulkier by certain+death · · Score: 0

      QNX is an RTOS, windows sucks...see the simularities?

      --
      "My immediate reaction is "WTF? What kind of moron doesn't make things 64-bit safe to begin with?" Linus
    3. Re:Ideas borrowed from QNX. But bulkier by x2A · · Score: 1

      And two other cogent comparisons are zebras, footballs, and your post! See the simularities?

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    4. Re:Ideas borrowed from QNX. But bulkier by 3choTh1s · · Score: 1

      But do you use QNX as a desktop OS? Or better yet does everyone else? Lots of "heavy duty" OS's have stuff that none of the popular OS's have, that's why they still exist. But now everybody gets a piece of the I/O cancellation pie.

      The reason this is news isn't because it's brand spanking new that no one has thought up before. It's because now everyone gets something that QNX users take for granted. This is not a small thing.

  12. OS classes will always be open OS based by GodWasAnAlien · · Score: 5, Insightful

    Black box OS kernels like Windows can really never be disclosed. All you can really do is make some guesses or have an insider reveal some limited details.

    For this reason, OS classes in school will be based on Linux,BSD,Minux,or even ReactOS. With all of these, if want to really know how it works, there is the code.

    The secret-software-business is quite different that the shared discoveries of the scientific method that works well in education and science.

    Historically, the open ones will be the only ones that survive. In 50 years: You want to know how DOS worked in the 1980s? Well, no source is available. But freedos provides a good example of how it worked. You want to know how some random UNIX worked. Well the source to that specific one is not available, but BSD and Linux are a good examples of how it worked. You want to know how Windows-2000 worked? Well, no source code is available, but ReactOS provides a close approximation of how it worked.

    1. Re:OS classes will always be open OS based by dioscaido · · Score: 4, Informative

      True in theory, but Universities can license the source code of the windows kernel for academic purposes:

      http://www.microsoft.com/resources/sharedsource/Li censing/researchkernel.mspx

    2. Re:OS classes will always be open OS based by jadavis · · Score: 5, Insightful

      The secret-software-business is quite different that the shared discoveries of the scientific method that works well in education and science.

      Although you're right about closed software, computer science as a whole is actually much more open in many respects than some other scientific fields. In particular, the medical and biological science fields are quite closed-off. Even physics is somewhat closed-off, not by design, but because the equipment required to perform experiments is so expensive.

      Few computer science experiments take more than a couple thousand in capital investment. Also, if you have questions, you can often discuss your experiments, ideas, data, findings, etc. with an expert (or even industry leader) simply by signing up to a mailing list or going on IRC.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    3. Re:OS classes will always be open OS based by Anonymous Coward · · Score: 0

      No, the source-code for the Windows kernel and drivers are available for universities and partner-companies to study. The University of Washington offers a course teaching OS fundamentals with linux and a "capstone" course where you modify the Windows kernel and drivers as you like.

      You have a point, but Microsoft is fully aware of the disadvantages of keeping their source closed and is taking steps to mitigate the issue.

    4. Re:OS classes will always be open OS based by that+this+is+not+und · · Score: 2, Interesting

      And anybody at said university who looks at said source code for any length of time becomes 'contaminated' and can't contribute to any similar non-Microsoft project ever again.

    5. Re:OS classes will always be open OS based by Anonymous Coward · · Score: 0

      You want to know how Windows-2000 worked? All they need to know is that it worked very poorly, though not as badly as the XP and Vista abominations.
    6. Re:OS classes will always be open OS based by Anonymous Coward · · Score: 1, Informative
      From the license:

      You may use any information in intangible form that you remember after accessing the software. However, this right does not grant you a license to any of Microsoft's copyrights or patents for anything you might create using such information.
      As long as later works don't specifically infringe on a copyright or patent, there's no problem. Although it might be a bit dangerous, I don't think 'contaminated' is the right word.
    7. Re:OS classes will always be open OS based by atsabig10fo · · Score: 3, Informative

      huh?

      "You may use any information in intangible form that you remember after accessing the software."
      http://www.microsoft.com/resources/sharedsource/li censingbasics/wrklicense.mspx/

    8. Re:OS classes will always be open OS based by oglueck · · Score: 1

      So if a prof wants to use the MS kernel for his lectures, he first needs to convince his university to license this beast. The Windows kernel is not exactly a small code base. To understand it the prof then needs to look at it for, say, a year before he can give any reasonable lecture. It's a high risk for the prof because he doesn't know what the kernel will look like and if it will be useful for him. Sorry, things just don't work that way.

    9. Re:OS classes will always be open OS based by QuoteMstr · · Score: 1

      Let me rant for a while.

      In my "university"'s operating systems class, we didn't even write any kernel code or read any open operating system's source. All labs were accomplished by using ordinary processes to simulate parts of a generic operating system kernel, though in previous years, some custom hacked-together simulation was used instead. Then again, this place is so deeply steeped in Microsoft culture that the only real debates are over whether to use .NET or "Visual C++" to write new client software. It's no wonder that open-source code is such anathama here that no kernel code at all is seen as a better alternative.

    10. Re:OS classes will always be open OS based by Anonymous Coward · · Score: 0

      we are very sorry for you and your "university". What is the name of the school?

    11. Re:OS classes will always be open OS based by hughk · · Score: 2, Interesting

      I disagree. I have not had the dubious pleasure of seeing Windows source code but I have worked with older monolithic closed source kernels such as OpenVMS where at various points I had access. With a good book about the kernel, finding your way around wasn't a major issue. Some items were complex but you could easily extract, for example, material for a course on say lock management, I/O or scheduling.

      A prof would want a commercial system to counterpoint something like Linux. However, if I was teaching, I would preder a system with less restrictions (i.e., with an OpenSource license) like Solaris, especially allowing students to easily tweak/replace subsystems.

      --
      See my journal, I write things there
    12. Re:OS classes will always be open OS based by nuzak · · Score: 2, Insightful

      > To understand it the prof then needs to look at it for, say, a year before he can give any reasonable lecture.

      Whereas professors are born knowing Linux, or magical documentation fairies just wave their little wands and give the professor knowledge about the subject.

      This might be a wild guess, but a professor teaching OS architecture might already know a thing or two about the OS architecture of the OS implemented by the source he's looking at.

      --
      Done with slashdot, done with nerds, getting a life.
    13. Re:OS classes will always be open OS based by Anonymous Coward · · Score: 0

      "For this reason, OS classes in school will be based on Linux,BSD,Minux,or even ReactOS. With all of these, if want to really know how it works, there is the code."

      So essentially they're covering a single OS (Unix) instead of teaching general principles. Add another OS to study and you'd double the value of the class.

    14. Re:OS classes will always be open OS based by blackpaw · · Score: 2, Insightful

      Bollocks, the public windows DDK by its nature reveals the kernel architecture pretty explicitly. Driver writers cannot operate without good documentation on the kernel.

    15. Re:OS classes will always be open OS based by keeboo · · Score: 1

      huh?

      "You may use any information in intangible form that you remember after accessing the software."

      "huh?" indeed.
      "intangible form"? What does that mean, in practice?

      One willing to accept such license terms have no appreciation for his own neck.

    16. Re:OS classes will always be open OS based by atsabig10fo · · Score: 1

      it means you can't copy/paste.

    17. Re:OS classes will always be open OS based by that+this+is+not+und · · Score: 1

      Is that a legal interpretation? Or something somebody typed on a blog?

    18. Re:OS classes will always be open OS based by EvanED · · Score: 1

      I think both my undergrad and grad universities are like that too. In undergrad OS we did a user-level threads package, a user-level memory allocator (actually like four of them), and a user-level simulation of a file system. I looked at the syllabus for a past semester of the undergrad OS course at my current home, and they had very similar projects. (In fact, written in Java. At least ours were C/C++.) And my current university's grad dept. is pretty consistently in the top ten of rankings, so it's not exactly a slouch university either.

      In other words, don't think that your experience was uncommon or in any real way due to the supposed MS culture.

    19. Re:OS classes will always be open OS based by Anonymous Coward · · Score: 0

      Do you remember when the source code of Windows leaked?

      They recommened linux developers not to read it, because of the possible legal complications.

      Give me the theory of how it works in Windows, but don't show me the code.

    20. Re:OS classes will always be open OS based by ColdWetDog · · Score: 1
      magical documentation fairies just wave their little wands ...

      Ohhh! Neat! Where can I order some?

      --
      Faster! Faster! Faster would be better!
    21. Re:OS classes will always be open OS based by stachu+trawki · · Score: 1

      Bullshit.

      http://www.microsoft.com/resources/sharedsource/Li censing/researchkernel.mspx

      The Windows Research Kernel is available via MSDNAA Subscriber Downloads (accessible to administrators of participating departments) and/or via Faculty Connection portal (sign in to register for downloads) to eligible academic faculty or staff and may be redistributed to eligible users subject to the terms and conditions of the License.

      The Windows Research Kernel contains the sources for the core Windows (NTOS) kernel. NTOS implements the basic OS functions for processes, threads, virtual memory and cache managers, I/O management, the registry, executive functions such as the kernel heap and synchronization, the object manager, the local procedure call mechanism, the security reference monitor, and low-level CPU management (thread scheduling, Asynchronous and Deferred Procedure calls, interrupt/trap handling, exceptions). The NT Hardware Abstraction Layer, file systems, network stacks, and device drivers are implemented separately from NTOS and loaded into kernel mode as dynamic libraries. Sources for these dynamic components are not included in the WRK. However, some are available in various development kits published by Microsoft, such as the Installable File System (IFS) Kit and the Windows Driver Development Kit (DDK).

    22. Re:OS classes will always be open OS based by iluvcapra · · Score: 1

      Having seen both sources, how would you counterpoint the two? How do you think the different organizational styles of the two vendors -- MS on one side, hippies on the other ;) -- is reflected in the large-scale implementation of the kernels? Is source code documentation, comments, organization of headers different?

      Sounds like a class to me! But what's your opinion?

      --
      Don't blame me, I voted for Baltar.
    23. Re:OS classes will always be open OS based by hughk · · Score: 1

      I have seen RSX-11M as well as OpenVMS up close. Cutler had a large input into both. I haven't seen the Windows sources where he also had a large influence. Those people who I have talked to who have seen them say they are quite well written. Many people do not have a fundemental issue with Windows other than the compromises forced on the system by clunky GUI and applications software.

      On a style note, from my commercial OS exposure then it could be seen that certain bits had a distinct style but the whole fitted well together. The feeling about a system like VMS was that tightness mattered but so did neatness.

      --
      See my journal, I write things there
  13. Inside the Windows Vista Kernel by jhines · · Score: 4, Funny

    The subject line made me think instantly of the old Adventure game,

    "you are in a maze of twisty passages all alike"

    sent a shiver up the spine.

    1. Re:Inside the Windows Vista Kernel by TempeTerra · · Score: 2, Funny

      You are inside the Windows Vista Kernel. It is dark. You are likely to be eaten by a grue.

      >?

      --
      .evom ton seod gis eht
  14. Re:MMCSS by timeOday · · Score: 5, Insightful

    You've been able to set process priority through the Task Manager since at least NT4
    Forget CPU sheduling priority, that is indeed old hat. What I saw in this article that really makes me jealous, as a Linux user, is I/O priority. Why have the systems people iterated for decades on CPU scheduling, and sorely neglected scheduling more precious resources like the network and disk? I can "nice" my system backup script, but what difference does it make when it's hogging the disk so much I can hardly load a new application? Process priorities should by default apply not only to the CPU, but to the disk and outbound network queues.
  15. Re:MMCSS by vadim_t · · Score: 4, Insightful

    That's complete nonsense.

    There are basically two options here:

    1. Antivirus hooks into the OS, and scans every program BEFORE it gets executed. In that case, the scanner's priority doesn't matter, it gets run before the program starts anyway.

    2. You run the antivirus scanning every file on disk, as a normal process. This would be what the priority adjustments affect, but doing things this way you can't really detect a new virus in real time. You can just find it during the scan, and the priority only determines how fast it will proceed when something else wants CPU time.

  16. Re: Deja VMS? by Anonymous Coward · · Score: 0

    For details on what looks to be the inspiration of Windows Vista scheduling, cycle counters, priority boosts, class scheduling, threads and processes and I/O, and class and port drivers, do see the VMS Internals and Data Structures Manual. Circa 1992. Well, threading dates to 1996.

  17. Re:MMCSS by Anonymous Coward · · Score: 0

    You sir, are a moron.

  18. Re:ntoskrnl.exe by Anonymous Coward · · Score: 1

    U don't fucking get it, d'ya? Its for fucking backward compatibility, in case if somebody uses a fucking old, pirated DOS based prgm.

    FU2, bye

  19. Re:ntoskrnl.exe by Anonymous Coward · · Score: 0

    Or just conservative engineering. It's not broken. Anyone who cares about the Vista kernel could care less about its filename, so why fix it?

  20. Re:ntoskrnl.exe by Anonymous Coward · · Score: 0

    vmlinuz?

  21. Re: Deja VMS? by mycall · · Score: 0

    Sweet, VMS functionality isn't being lost.

  22. Bah! by Dante · · Score: 1

    Try this "man ionice" works for me

    --
    "think of it as evolution in action"
    1. Re:Bah! by Black+Acid · · Score: 5, Informative

      cfq/ionice is for reads only. "Due to the complex path writes take to get to the io scheduler there is no ionice support for writes yes so they are all treated equally." It'll happen...

    2. Re:Bah! by straybullets · · Score: 1

      IO QoS can be done with an external disk subsystem, but it's true that it's not very often for the home user ...

      --
      With that aggravating beauty, Lulu Walls.
  23. Re:ntoskrnl.exe by vadim_t · · Score: 1

    vadim@gadget ~ $ ls -l /boot
    total 30242
    [...]
    -rw-r--r-- 1 root root 94760 Jul 3 2006 memtest86+-1.65.bin
    -rw-r--r-- 1 root root 1940586 Jan 21 2005 vmlinuz-2.6.10-gentoo-r6
    No problem here.
  24. Re:MMCSS by Yokaze · · Score: 1

    > but to the disk and
    ionice
    > and outbound network queues.
    QoS/Differentiated Services + marking with iptables --pid-owner <pid>

    As (almost) always under linux, the tools are already there, but simple accessible GUIs are lacking.

    --
    "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
  25. Re:MMCSS by Anonymous Coward · · Score: 0
    What I saw in this article that really makes me jealous, as a Linux user, is I/O priority


    Six years, tens of billions of dollars and this is all they have to show over the Linux kernel? That's fucking hilarious!

  26. Re:ntoskrnl.exe by Knuckles · · Score: 1

    A DOS program knows about the NT kernel name? Amazing!

    --
    "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
  27. Re:ntoskrnl.exe by Anonymous Coward · · Score: 3, Informative

    hey dumass, its because windows nt used to be distributed on fat16 (not vfat) floppy disks and you could use dos to copy their contents over to a hard drive for installation. it had to be 8.3 then, and there's no need to change it now. you can rename ntoskrnl.exe to anything you want and boot off it with the /kernel= boot.ini option.

  28. Re:ntoskrnl.exe by that+this+is+not+und · · Score: 1

    I just looked at the root directory of the machine I am typing this comment on.

    The kernel appears to be in a file named /netbsd

    NOT EVEN WITH A FILENAME EXTENSION. Now that is even more primative than the windoze 8.3 naming convention.

  29. Re:MMCSS by QuickFox · · Score: 4, Insightful

    may need more I/O than WMP11 but will not get any because it's tagged Low in advance. You have misunderstood resource scheduling. If WMP doesn't need the cycles, they will be available for the Low Priority processes. No matter how low their priority, they will get the cycles that WMP doesn't need. WMP will preempt them only if and when it needs the cycles.

    Unfortunately many programmers seem to misunderstand this. Usually you can give user-interface processes very high priority, even if they are far less important than some of the background processes. Very often user-interface processes consume only limited amounts of processor cycles. When this happens, no matter how high their priority, they will leave plenty of cycles for the other processes.

    It doesn't matter if a virus-scanning process gets delayed a few additional seconds, because there's no person waiting for it and getting impatient. It does matter if a web browser or text editor gets delayed, because there is a human waiting for them.
    --
    Terrorists can't threaten a country's freedom and democracy. Only lawmakers and voters can do that.
  30. Re:ntoskrnl.exe by Anonymous Coward · · Score: 0

    You are a fucking idiot. File extensions are obsolete, and the fact that the kernel lacks one is a sign of its... well, not being made by someone completely brain-dead.

  31. Re:ntoskrnl.exe by DoktorSeven · · Score: 1

    Yeah, because an OS that depends on a filename extension to determine file type is even more primitive.

    Stop drinking the Microsoft Kool-Aid, okay?

    --
    This is a sig. Deal with it.
  32. Re:ntoskrnl.exe by Anonymous Coward · · Score: 0

    Hahaha. I like how having a file extension makes it "modern". I lol'd.

  33. Classic Microsoft patchwork by teslatug · · Score: 1

    However, because not all applications may handle symbolic links correctly, creating a symbolic link requires the new Create Symbolic Link privilege that only administrators have by default.
    Why would they do this? Just make the default be the deletion of the symlink instead of the target. And why would you need this permission if you already have permission to modify the directory (to create the link) and the permission to read the target? Instead they go and take the ability of normal users (meaning most people) to use symlinks by default.
    1. Re:Classic Microsoft patchwork by oglueck · · Score: 1

      Why would they do this?
      For security probably. On Unix programmers are (should be) aware of the fact that any file can possibly by a symlink. Especially processes with higher privileges must check if a filename that is passed to them as user input is a symlink to a file that is not normally under control of that user. So introducing this feature and running code that isn't symlink safe introduces a security risk.

    2. Re:Classic Microsoft patchwork by nuzak · · Score: 1

      Especially processes with higher privileges must check if a filename that is passed to them as user input is a symlink to a file that is not normally under control of that user.

      This has got to be the most succinct wording yet of the "confused deputy" problem. There's just no good reason that a process should be running with higher privileges if it has to constantly second-guess itself in order to not actually use them. Monolithic permission levels just suck.

      --
      Done with slashdot, done with nerds, getting a life.
    3. Re:Classic Microsoft patchwork by spitzak · · Score: 1

      That is not exactly the problem. If a privledged program can take an arbitrary filenam, and does a stat to see if the user has access to the file, the test will work for symbolic links as well. If they don't do such a test they are broken and can be fooled without symbolic links.

      The problem is when the privledged program generates it's *own* filename that it assummes is going to be a new file or something owned by the user or nobody, but the user has cleverly set a symbolic link at the name he knows the privledged program will use, so that the program ends up reading or writing a file that the user does not have permission for.

    4. Re:Classic Microsoft patchwork by spitzak · · Score: 1

      The problem is that they didn't ever really support "hard" links either. In DOS if you tried to remove a directory that was not empty, you got an error. This stupid behavior persists even though they have long supported filesystems where unlinking is possible. So all the file management programs that want to delete a directory will recursively delete every file in it. This is probably not what is expected if the user tries to delete a symbolic link to a directory.

      There are plenty of other ways to fix this, however. For instance they could make readdir() return nothing for "foo" if foo is a symbolic link, but work for "foo/.". This should prevent any such programs from failing, and is probably preferrable in many ways to the Unix behavior. Also the "is this a directory" test could return false for symbolic links. Or they could disallow deletion of a file when the path contains a symbolic link (painful but not as limiting as not being able to make them!)

      I suspect this is actually an excuse. Microsoft has refused to make symbolic links work for decades now, because they want to control the file system and insure incompatability with Unix. If symbolic links were available plenty of cross-platform software would stop supporting drive letters, and people would be told to make a "home" directory with pointers to their personal parts of the "My Documents", etc.

    5. Re:Classic Microsoft patchwork by Anonymous Coward · · Score: 0

      LOL
      Way to display your collosal arrogance.
      It took you, what, two seconds to think of your "solution", and you have the gall to think that NOBODY at Microsoft considered it over the YEARS they've been working on Vista? Ever thought that someone did consider it and weighed the pros and cons of it? OR are you that arrogant to just think that you're so much smarter that something you thought of in two seconds wasn't considered by ANYONE over FIVE years at MS? Wow, you're a butt-head.

    6. Re:Classic Microsoft patchwork by EvanED · · Score: 1

      If symbolic links were available plenty of cross-platform software would stop supporting drive letters, and people would be told to make a "home" directory with pointers to their personal parts of the "My Documents", etc.

      Since drive letters (other than C:) are already unneeded, why would symlinks change things?

    7. Re:Classic Microsoft patchwork by edwdig · · Score: 1

      Why would they do this? Just make the default be the deletion of the symlink instead of the target. And why would you need this permission if you already have permission to modify the directory (to create the link) and the permission to read the target? Instead they go and take the ability of normal users (meaning most people) to use symlinks by default.

      I used to work on GEOS years ago. The OS had long supported symlinks but never shipped with any user accessible way to create them. Eventually someone decided to enable the UI to create them. We caught some weird issues. Users liked to do things like create links to the root of their C drive and place them on the desktop, or other similar things that resulted in symlinks pointing to directories higher up the directory path. The Find File utility wasn't coded with links in mind, so any attempt to search your C: drive took forever. It would just keep recursing over the same paths until it reached the path length limits.

      So, the short story is symlinks let you create cycles in the directory tree. If you unleash this onto applications not designed to handle it, you will run into issues that will not at all be obvious to the users.

    8. Re:Classic Microsoft patchwork by gbjbaanb · · Score: 1

      n DOS if you tried to remove a directory that was not empty, you got an error. This stupid behavior persists eh? in ext3 you get a stupid error if you try to delete a non-empty directory. Unless you use "rm -rf" of course. But then, you could always do "del /s/ f" to do the same.

      MS has had reparse points and junctions for ages now, and drive letters are mainly there for backwards-compatibility.
    9. Re:Classic Microsoft patchwork by spitzak · · Score: 1

      I was not talking about the rm program. The unlink() system call works.

      As for "reparse points" and "junctions" (and also "attach" if you remember back that far), every one of them has been subtly broken so that they could not be used.

    10. Re:Classic Microsoft patchwork by spitzak · · Score: 1

      I am unaware of anything that makes drive letters other than C: work. Actually C: is the only one *NOT* needed if your program assummes the systemdrive is the current one. All I can guess is you are thinking of volume names but since readdir() does not return a list of these it is easier to use the DOS calls to list drive letters, besides that returns names people expect (plus if volume names are the excuse than "C" would not be "required" either)

      "Get rid of drive letters" means that readdir("/") will either return the directories that are the roots of drives, or that you can recursively call on directories in there and eventually arrive at the roots of the drives.

    11. Re:Classic Microsoft patchwork by EvanED · · Score: 1

      All I can guess is you are thinking of volume names...

      I'm thinking of mount points.

      In XP pro at least, control panel -> administrative tools -> computer management -> disk management. Find the partition you want to mount somewhere; right click -> change drive letters and paths -> add -> mount in the following empty NTFS folder. This doesn't seem to work nearly as well for CD-ROMs and such as it does for hard drives, but it still works. I just tried mounting my burner as C:\cdrom and it worked.

      In other words, you could set up your Windows box to have the same directory structure as your Unix one, with the exception that instead of saying "/foo/bar" you would say "c:\foo\bar", but "bar" can be on a different file system than what's mounted at "c:\".

      And unlike many other obscure NTFS features, this one actually has decent UI support.

    12. Re:Classic Microsoft patchwork by spitzak · · Score: 1

      Sounds like what they called "attach" back in DOS 3 or so. They removed that feature, I thought.

      It would certainly have allowed drive letters to be deleted. A program could have switched the current drive to the system drive immediately on startup and then never had to use a drive letter (including c:) again. This would actually fix about 90% of the trouble we have with drive letters although I suspect it does not work on w2k which we are still using...

      Does the mounted-to directory have to exist, like in Unix, or does it have to *not* be there. Personally having it not be there makes more sense, I never liked how Unix mount works and all I can think is that it is that way for a technical reason and nobody wants to admit that. I would prefer if mount worked more like a symbolic link. In fact "/dev/hd/whatever" should *be* the file system, mount is just like a symbolic link (except maybe it provides some extra information about how/who can access the file system)

    13. Re:Classic Microsoft patchwork by EvanED · · Score: 1

      This would actually fix about 90% of the trouble we have with drive letters although I suspect it does not work on w2k which we are still using...

      I can't vouch 100%, but from what I read I think it should support it. (W2K was the first version to come with the proper NTFS support for this.)

      You do have to be mounting onto a version 3 NTFS partition, though I don't think the mount*ed* volume needs to be.

      Does the mounted-to directory have to exist, like in Unix, or does it have to *not* be there. Personally having it not be there makes more sense, I never liked how Unix mount works and all I can think is that it is that way for a technical reason and nobody wants to admit that.

      It has to exist and be an empty directory. I don't quite understand it either; I think the other way *would* make more sense. The best thing I can come up with is that it's needed to give the root directory of the mounted file system (and maybe the whole thing if it's FAT) permissions...

  34. Re:MMCSS by Tim+C · · Score: 4, Insightful

    Perhaps you need to learn how AV software works. I said "If it's a real time scan on a file you're accessing, then it can definitely wait, as the file won't be opened/executed until the scan has completed anyway" because any anti-virus software worth using scans every single file you attempt to access before that access takes place. As such, it doesn't matter what the virus claims to be, the AV software will have scanned it before it tells the OS.

    The general sequence of events is:

    1 user double-clicks a file
    2 the AV soft's real-time scanner is invoked to scan it
    3a the file is clean, access is granted
    3b the file is dirty, access is denied

    It doesn't matter how long step 2 takes, or what other apps get to use cycles while it's suspended - it will complete before either of steps 3a or 3b.

  35. Re:ntoskrnl.exe by Anonymous Coward · · Score: 0

    8.3 filename? In two-thousand-fucking-seven?

    Well that is 6.3 more than other OS's - cp, df, rm etc. anyone?

  36. Process startup changed significantly by Myria · · Score: 3, Interesting

    The article doesn't mention that process startup is now quite different from the other versions of Windows NT.

    In previous versions of NT, process creation was quite different from systems such as UNIX. The system call NtCreateProcess creates a "blank" process with nothing in it but ntdll.dll and the new .exe file mapped into memory. No stack is allocated, and no threads are created. In normal process creation, the parent process actually uses the debugger API calls to allocate memory for the stack into the new process's address space, copies the command line and environment into the new memory, and creates the initial thread pointing at kernel32!BaseProcessStartupThunk. It resumes the thread and off it goes. (NT has no concept of environment or command line at the kernel level.)

    This changed in Vista for one reason: DRM. Microsoft made it so that certain processes, namely wmplayer.exe and halo2.exe, cannot be a target of the debugger API calls for obvious reasons. It ignores privilege level in blocking the API. If the old method of starting processes were used, then the parent process could start wmplayer.exe with patches to steal the DRM keys or dump decrypted data to disk. Vista's kernel now does the entire initialization for these processes to close this hole.

    By the way, Microsoft needs to change that web page so that it doesn't select Spanish over English if you have Spanish listed as an acceptable language in your browser, even if English is higher in the list. This happens for both IE7 and FF2.

    Melissa

    --
    "Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
    1. Re:Process startup changed significantly by Ben+Hutchings · · Score: 1

      Interesting. I would expect this to improve process startup time too - which seems like a much more important reason to make the change.

    2. Re:Process startup changed significantly by Anonymous Coward · · Score: 0

      Very interesting. I'm curious, how exactly do you know this? Are these details documented by Microsoft, or have a link to some place that has some more information on this? Or did you find this out yourself?

    3. Re:Process startup changed significantly by edwdig · · Score: 1

      This changed in Vista for one reason: DRM. Microsoft made it so that certain processes, namely wmplayer.exe and halo2.exe, cannot be a target of the debugger API calls for obvious reasons.

      wmplayer.exe is obvious why they'd care, but I can't see a reason for halo2.exe. I guess it would make it harder to cheat in an online game, but I can't see changing such a core part of the OS for an FPS game. Maybe if you were talking something like WoW you could make more of a case, but still... or did you have something else in mind for it?

    4. Re:Process startup changed significantly by TheNetAvenger · · Score: 1, Insightful

      Well the DRM FUD is a fun 'myth/rumor' to consider for the changes, but in reality, DRM has nothing to do with the process changes in Vista.

      The real reasons actually go like this.
      1) Security
      2) Performance
      3) Reliability

      I like your DRM theory, but you could also go for the Vista has added a new audio stack for DRM, or a new video subsystem for DRM, or new caching technology for DRM. When in fact, NONE of them have ANY DRM relations WHAT SO EVER, just like the Process startup changes.

      You sound reasonable, but you are trolling based on something you know just enough about to maybe get away with your con...

    5. Re:Process startup changed significantly by Myria · · Score: 1

      See my reply to TheNetAvenger below.

      --
      "Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
    6. Re:Process startup changed significantly by Anonymous Coward · · Score: 0

      The real reasons actually go like this.
      1) Security
      2) Performance
      3) Reliability


      Just because the Marketing department tells you this doesn't make it so.


      The CI.DLL is made by the Microsoft's DRM team to ensure the whole machine is in a trusted state to play DRM-protected content. For that reason, CI.DLL also checks the integrity of user-mode processes that are handling DRM-protected content.


      This has nothing to do with items #2 and #3 on your list. We know you love Microsoft, but your really stupid for defending this. Just admit its there for protected media DRM and tell everyone it doesn't bother you. Your jedi mind powers won't work here.

  37. Making Symlinks in GUI? by physicsnick · · Score: 4, Insightful

    Having symlinks in the Vista kernel is nice and all, but Vista doesn't seem to offer a way to create these in Explorer. Who wants to break open a command line just to create a symlink?

    Correct me if I'm wrong, but don't people criticize Linux all the time of a lack of GUI utilities in comparison to Windows? Yet when I drag a file somewhere in KDE, I can just click on "Link Here" and poof, I've got a symlink. Why have I not heard a single complaint about the lack of a user-friendly way to do this in Vista?

    Furthermore, you need to have Administrator access (or use Administrator to give yourself the priviledge) to create a symlink, "because not all applications may handle symbolic links correctly". Doesn't this seem broken to anyone? Or at the very least, worrysome?

    1. Re:Making Symlinks in GUI? by Moochman · · Score: 1

      Well, they've already got shortcut files that handle all of the user-based link-creation tasks. I can't see how the creation of symlinks as opposed to .lnk files is really that important for the average end user, given that they already have a method that works well enough and that they have experience using. Also, shortcut files displays little arrows on their icons so the user is less likely to confuse the shortcut with the real thing--not sure if that is the case with the new soft links.

    2. Re:Making Symlinks in GUI? by John+Nowak · · Score: 1

      Having symlinks in the Vista kernel is nice and all, but Vista doesn't seem to offer a way to create these in Explorer. Who wants to break open a command line just to create a symlink?

      That's how it works in OS X and everyone gets on just fine. Symlinks, unlike OS X's aliases, easily break. You don't want normal users creating them and then complaining when suddenly they don't work any more.

    3. Re:Making Symlinks in GUI? by bendodge · · Score: 0

      So let me get this straight:

      1. A normal link is the kind that happens when you right-drag a file and click "Create Shortcut Here".
      2. A symlink are the kind of shortcuts MS Office and OpenOffice use for their programs, that have non-editable, empty Target lines.

      Is this right? And if not, can anyone explain those shortcuts without targets?

      --
      The government can't save you.
    4. Re:Making Symlinks in GUI? by bcmm · · Score: 1

      Lnks are incredibly broken. Some apps treat them as files, some treat them as links. I have accidentally ended up actually opening an lnk in wordpad more than once (a load of binary junk with several filenames appearing at various different points).

      Lnks are good enough for users to make links on their Desktops, but are useless for actually getting a program to believe a file is really there.

      --
      # cat /dev/mem | strings | grep -i llama
      Damn, my RAM is full of llamas.
    5. Re:Making Symlinks in GUI? by omicronish · · Score: 1

      Furthermore, you need to have Administrator access (or use Administrator to give yourself the priviledge) to create a symlink, "because not all applications may handle symbolic links correctly". Doesn't this seem broken to anyone? Or at the very least, worrysome?

      It's ultimately an application compatibility problem. You don't want some pre-Vista app to blow away the user's stuff because the app recursively deleted a folder that contained a user-created symbolic link. It's fine on Unix OSs because they've had symlinks forever and applications likely expect them. The vast majority of Windows apps are unaware, and therefore it's dangerous.

      As others have pointed, users can still create shell links (the .lnk files). Exposing both shell and symbolic links to users would also be confusing in the GUI. So this and compatibility reasons are likely why symbolic links can only be created from an elevated command-line.

    6. Re:Making Symlinks in GUI? by jb.hl.com · · Score: 1

      No.

      The first one is just a shortcut, as is the second one. A link is an entirely different concept.

      To put it very simply, a symlink is a special type of file which when referenced calls a linked file. So let's say you symlinked C:/foo to D:/bar; if you then opened C:/foo, you'd get the contents of D:/bar. They're called "symbolic" links because they're just that; they do not point to data directly, merely represent it, so if you delete the symlink the original file is unaffected. Hard links, on the other hand, point to physical data on a volume, so if you delete one of those the original file gets deleted too.

      To put it even simpler, a symlink is just like a normal Windows shortcut (a file that points to another one) whereas a hardlink is a more low level thing.

      --
      By summer it was all gone...now shesmovedon. --
    7. Re:Making Symlinks in GUI? by jb.hl.com · · Score: 1

      Actually, I put that a little wrongly. A symlink is subtly different from a Windows shortcut because it is only a pseudofile, a file system construct that looks and works like a file but isn't one. Windows shortcuts are just normal files (extension .lnk) which contain data about where the shortcut points to.

      --
      By summer it was all gone...now shesmovedon. --
    8. Re:Making Symlinks in GUI? by Hes+Nikke · · Score: 1

      but normal users in the terminal can go right ahead with making symlinks... in fact, the command line doesn't even know what to do with aliases, yet the GUI handles symlinks fine...

      advantages:
      symlink - works in both GUI and terminal, works across platforms with linux, bsd, and anything else that supports symlinks
      alias - doesn't break as easily
      vista symlink - ????? (possibly cross platform)
      shortcut - attach command line parameters, keyboard shortcuts

      disadvantages:
      symlink - breaks easily
      alias - doesn't work in terminal, mac only
      vista symlink - ????? (probably not cross platform)
      shortcut - windows only

      --
      Don't call me back. Give me a call back. Bye. So yeah. But bye our, well, but alright we are on a shirt this chill.
    9. Re:Making Symlinks in GUI? by EvanED · · Score: 1

      The Windows UI provides easy creation of shortcuts though, which have the same breaking problem.

    10. Re:Making Symlinks in GUI? by SpiritOfGrandeur · · Score: 1

      If it is a command prompt execution. And you know any thing about the registry. Then I am sure you can add it in there and be on your merry way.

    11. Re:Making Symlinks in GUI? by Anonymous Coward · · Score: 0

      ---
      if you delete the symlink the original file is unaffected. Hard links, on the other hand, point to physical data on a volume, so if you delete one of those the original file gets deleted too.
      ---
      Not quite.
      Hardlink: two names for the same file. Delete one, the other is unaffected. Data is deleted when you delete *all* the links.
      Symlink: points to another file. Delete a link, original is unaffected. Delete or move original, links die.

    12. Re:Making Symlinks in GUI? by curious.corn · · Score: 2, Informative

      Nope... hard links are just the sting-to-inode entry in a directory map (that's why they can't cross mount points, inode IDs are unique only within a single filesystem). A file normally has one hard link and is "deleted" when there's no hard link left that points to it.

      Incidentally, now that Linux has the concept of UUID in filesystem structures, one could extend hard links to prefix an inode ID with the owning volume UUID and make cross-mount hard links possible.

      e

      --
      Mi domando chi à il mandante di tutte le cazzate che faccio - Altan
    13. Re:Making Symlinks in GUI? by freedom_india · · Score: 1

      Mac OS X offers smart folders. I can create a smart folder called stargate and ask it to look for all Stargate Atlantis AVI files i had downloaded over past times.
      (in fact i do have set it up since it was difficult navigating to that folder).
      I can create this smart folder right from UI.
      Why doesn't Vista provide this function?
      Secondly, when iam playing a dusty or corrupt DVD on my WIndows Media player, the player freezes the DVD player itself and the hardware, thus preventing me from ejecting the DVD less than a reboot.
      In Mac, even if the beach ball spins, i can launch Activity Monitor, kill the process (DVD Player) and eject the DVD by pressing the F12/Eject button.

      Until Windows provides this abstraction level, i ain't gonna use windows for my prime tasks except the occassional Game like Ao Titans, o CIV 4.

      --
      "Doing what i can, with what i have." ~ Burt Gummer
  38. Re:ntoskrnl.exe by gutnor · · Score: 1

    "8.3 filename? In two-thousand-fucking-seven? No wonder Vista sucks"

    woo ...

    Remind me of an ex-college whose project has been delayed because, during the demo meeting, one of its manager was not happy with the name of the shortcut that launched the demo. ( It was an abbreviation instead of the full corporate name ).

    Let's make some more 'professional' comments :

    1. They still call their kernel, kernel. Fucking not original.
    2. They still call their product Windows. The same name they have been using for 20 years ? How do they hope to look modern.

    For those reasons, Vista sucks...

  39. If it's not on by default, it doesn't exist. by Myria · · Score: 1

    99.9% of Windows users will not know what a symbolic link is, and even less will know how actually enable the feature for non-administrators. This means that no end-user application can ever use them. A lot of work for nothing - good job Microsoft.

    They should have added an API call to tell kernel32, "hey, I know how to use symbolic links, so let me use them".

    Melissa

    --
    "Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
    1. Re:If it's not on by default, it doesn't exist. by Ash-Fox · · Score: 1

      Just tell them it's another type of shortcut.

      --
      Change is certain; progress is not obligatory.
  40. I knew it! by dtfinch · · Score: 0

    "While Windows has always supported prioritization of CPU usage, it hasn't included the concept of I/O priority. Without I/O priority, background activities like search indexing, virus scanning, and disk defragmenting can severely impact the responsiveness of foreground operations."

    I've been flamed in the past for saying that 2000/XP didn't support I/O prioritization. A couple idle priority processes could bring a system to its knees with file I/O.

    Now I can go back and win an argument I had with another Linux user in 2005, who believed that NT has always supported I/O prioritization.

  41. If it ain't broken... by Anonymous Coward · · Score: 1, Insightful

    A lot of Microsoft programs still use 8.3 names. Do you really need longer names? Is there something that "Microsoft Word for Windows.exe" can do that "WINWORD.EXE" can't?

  42. it's because some delete programs SUCK in windows. by Anonymous Coward · · Score: 0

    There are quite a few little dos utilties and such that if you ran them to delete a directory they don't start with that directory... they start by deleting every single file in the top most directories, then delete those directories, then delete all the files in next level of directories, etc etc etc.

    That way if you make a symbolic link to a file system, then use the wrong utility in a attempt to remove said symbolic link, you end up wiping out the entire file system it's linked to...

    (I mean seriously folks.. who puts up with this sort of stuff?)

  43. Re:Holy sh*t - Russinovich joined the borg?? by Ash-Fox · · Score: 1

    Not only that, but a lot of useful things he wrote like documentation on native APIs (which Microsoft seem to hide) just mysteriously disappeared soon after.

    --
    Change is certain; progress is not obligatory.
  44. Re:MMCSS by alext · · Score: 1

    Aye indeed. I seem to remember working on some OS way back that did have disk scheduling, which seems essential in most ordinary business aps (otherwise a low priority app can bring a high priority one to a standstill by disk hogging). Might have been MVS or AS/400, or maybe Stratus VOS... anyway I remember being surprised that Unix was being considered as a replacement platform when it couldn't do this.

    Looking briefly at the Vista description, it sounds like there might be some milage in trying to implement a more generic scheduler for Linux rather than separate ones for regular CPU, CPU/GPU and I/O - that seems a bit clunky. A general scheduler would support an integrated priority "profile" including real-time constraints and be extensible to cover other resources such as a database or similar service. I'm sure someone's had a go at something like this...

  45. Re:ntoskrnl.exe by limecat4eva · · Score: 1, Informative

    Learn irony.

    --
    comma
  46. Re:ntoskrnl.exe by LocoMan · · Score: 1

    Well, sometimes I wish OSX did that.

    Where I work (video editing) we have a file of logos of clients (and no clients too in case they're needed) in vector format. I don't know who created them, since they were handed to us by someone else, but there are several that have no extension. We have both windows and OSX computers, and in the windows computers, freehand opens them just fine just by renaming the extension to .ai (adobe illustrator format), while the OSX ones tags them as something different (system related or something like that) and it just doesn't even let me select them on freehand (or any other program)'s open or import dialogs.

    There's probably a solution somewhere, though... I've just been too lazy to look for it since anytime I've needed one of those I just import them in windows freehand and export as ai (for maya) or TGA (for photoshop).. :)

  47. Re:MMCSS by Anonymous Coward · · Score: 0

    "Better to remain silent and thought a fool, than speak out and remove all doubt."
      - Abraham Lincoln

  48. Summary by RAMMS+EIN · · Score: 0, Flamebait

    And TFA says, basically:

    1. Windows gets a bunch of features that make it more like a Real OS.

    2. More information in the next installment.

    The features are really good, but the article kind of sucks.

    --
    Please correct me if I got my facts wrong.
  49. Re: Deja VMS? by Gothmolly · · Score: 0, Troll

    HAHAHAHAAAaaaaa!1!! you RTFA. Loser.

    --
    I want to delete my account but Slashdot doesn't allow it.
  50. Hey, this is cool! by Moochman · · Score: 1

    Whoa, check it out! All of the old catalogue of Sysinternals/Winternals software, plus some new stuff, has all been released as freeware! There's some useful stuff in there!

  51. Re:ntoskrnl.exe by BetterThanCaesar · · Score: 1

    That's because people need to type "cp" five thousand times a day. Having to type "pleasecopythefilesiwillspecifymrcomputer" every times you need to copy files would be a pain in the arse. But you pretty much never need to type "ntoskrnl.exe", so "ntoskernel.exe" would be quite okay to have to type.

    --
    "Stop failing the Turing test!" -- Dilbert
  52. I'm not going by PopeRatzo · · Score: 0, Offtopic

    For once and for all, if this Vista is as full of DRM as it sounds, I will not use it. For anything, ever.

    Not only am I hostile to the very concept of DRM, but I will actively work to circumvent it where I find it and work against it at every level. Trying to prevent piracy is one thing. Turning your own computer into an agent which works against your own interests is something else.

    I made a nice packet off the MS stock years ago. I'm ever grateful for the cash, but I had no problem turning my back on Sony, and now I will do the same to Vista unless I find a suitably cracked version. I'll buy a copy if there's a way to disable all the DRM crap, but I won't buy my enemy a weapon to use against me.

    --
    You are welcome on my lawn.
    1. Re:I'm not going by I'm+Don+Giovanni · · Score: 1

      "For once and for all, if this Vista is as full of DRM as it sounds, I will not use it. For anything, ever."

      Do you really mean that, "For once and for all" part? I sure hope so, becaues that means now that you've made your declaration, you'll shut up right?

      Get this through your head: NOBODY GIVES A DAMN WHAT OS YOU USE!

      --
      -- "I never gave these stories much credence." - HAL 9000
    2. Re:I'm not going by PopeRatzo · · Score: 1

      Get this through your head: NOBODY GIVES A DAMN WHAT OS YOU USE!
      I bet there's at least one very large corporation that would disagree.
      --
      You are welcome on my lawn.
  53. But it IS broken by dreamlax · · Score: 2, Insightful

    It's the fact that the backwards compatibility is still there. C:\PROGRA~1 etc is fucking ugly and confusing for the new user. They stole long file names from other OSs but implemented it poorly. They need to take the same route as OSX. Start from scratch (sort of) and forget backwards compatibility for once. Allow good implementation of a virtual machine for that sort of crap. You can't get rid of the burdens from your old OS if you allow backwards compatibilty. 8.3 filenames are just one of the burdens.

    1. Some Windows API functions having two versions, 16-bit and 32-bit versions, purely for compatibility.
    2. Windows API having two functions for the same string-based task, one for ASCII and one for UTF-16 (e.g. GetOpenFileNameA and GetOpenFileNameW). Now that they've done it this way, it will be very troublesome to support the industry standard UTF-8 and drop the deprecated UTF-16, as all strings passed to the UTF-16 version must be 16-bits per character.
    3. I'd think of more but I'm in a hurry . . .
    1. Re:But it IS broken by blincoln · · Score: 1

      Start from scratch (sort of) and forget backwards compatibility for once.

      Yeah, good idea. It's not like big corporations (you know, the source of most of MS' money) use Windows in part because of its legacy support. If there's one thing that would ensure that continued income flow, it's forcing all those corporations to buy new versions of every commercial application they own, as well as rewriting custom programs whose source code may no longer exist and/or finding replacements.

      --
      "...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
    2. Re:But it IS broken by dreamlax · · Score: 1

      Microsoft seem to think that that's all consumers want . . . more features without losing the ones they already have. Look where that's taken them to; a bloated, expensive, delayed operating system that has lost all hype. If they'd gone the way of Apple and started again, instead promising features they could actually deliver, features that are demanded nowadays and not both nowadays and thenadays, they might actually have a product worth buying. Why is there still 16-bit API functions in a 32-bit or even 64-bit OS? If those people want to live in the past with their 16-bit apps, let them use a 16-bit OS as well. How old is 16-bit now? Ancient. Get with the times. Backwards compatibility is great but guess what? Nobody is going to buy a NZD$1000+ OS just to run their 16-bit apps on. The wheel is good enough, you can't make it better simply by decorating it. Make something else for a change.

    3. Re:But it IS broken by EXMSFT · · Score: 2, Informative

      He didn't say consumers. He said companies. VERY different. Enterprise companies DON'T want to throw away the 10 year old craptastic apps, the developers of which long since left the company. Ancient software is the key to Microsoft's stronghold. If everyone was willing to buy entirely new software (and throw away or completely rewrite what they have) just to run an entirely new OS with better features than the competition, the world would likely be running OS X already.

    4. Re:But it IS broken by dreamlax · · Score: 1

      No, you're missing the point now. Consumers and companies regardless, I said that it would be better to start again and provide a suitable virtual machine so that customers could get all the benefits of the brand new operating system while still being able to run their 10 year old retail management apps (or whatever).

      This is what Apple has done. I've heard that some apps don't run under Apple's VM but those very few customers were simply forced to buy something more recent, or simply use older versions of Mac OS.

      It's even a lot easier on PC because you can dual boot (well, you can now too with the latest Macs). You can dual boot your way until you no longer need that particular app, and that's only if that app won't run on the VM in the first place.

      Instead, Microsoft chose to simply take what they had and tried to expand on it. Just like they've always done. They had 5 years and thousands (?) of developers. If I had that sort of manpower and time I'd definitely come up with something better than Vista.

    5. Re:But it IS broken by beuges · · Score: 2, Insightful

      Yes, that is what consumers want. In fact, I'd guess that if Microsoft did indeed ignore backwards compatibility with each new version of Windows, you'd be one of the first people complaining about how much they suck because all your programs dont work and you have to go and buy new versions of all your games and software along with your new OS.

      Would you upgrade to a new version of Windows if it meant you having to repurchase or reinstall *all* your existing software? Consumers want the software they purchased to continue working on their computers once they've upgraded something, be it hardware, software, or the OS.

      It's an OS *upgrade*. That means it takes what it already had and adds to it. It is not a *new operating system*. This is why backwards compatibility is important.

      Also, you keep on talking about this "16-bit API" as if you know much about it. The functions still exist with their 16bit names, but apart from the ones that specifically remain 16bit due to their very nature, all of the "legacy 16bit api" is either fully 32bit or just maps as an alias to the 32bit equivalent. Which part of the "16bit API" offends you so much? Just because the OS provides backwards compatibility with 16bit programs doesnt mean that your system is suffering in any way due to the presence of that compatibility. The 16bit subsystem only kicks in when you launch a 16bit process. If a 16bit application works 100% without modification, why should the application developers rewrite it just to make you happy?

    6. Re:But it IS broken by EXMSFT · · Score: 1

      With regard to the virtualization aspect, that is true. In fact, there were quite a few people within Microsoft who felt that that would have been the better way for Longhorn (before it became Vista) to have gone. I count myself among them. But many companies don't like the idea of managing two Windows installations (or more) per desktop. Heck - one is expensive enough to manage.

      Dual-booting is a no-go on any enterprise desktop. Any time you need to rely on a user to select something at boot time, and reboot their PC just to work with a legacy app, it's a disconnect and something that can go wrong. Won't play. The virtualization, would have though.

      If I had that sort of manpower and time I'd definitely come up with something better than Vista.

      You and me both, man. You and me both. Vista is not what it should have been, given 5+ years of work. But there are reasons it "is" what it is.

  54. Re:MMCSS by timeOday · · Score: 1

    Unlike "nice", both ionice and iptables require root-level access, even to run a process with reduced priority. I hope one day it's as simple as "nice myproc" (as a normal user). I think it's more reasonable to assume a low-priority process should have low priority to everything, than to manage every resource separately.

  55. Re:ntoskrnl.exe by Anonymous Coward · · Score: 1, Funny

    Yeah, because system calls like creat() are just sooooo 21st century.

  56. Re:ntoskrnl.exe by spectecjr · · Score: 2, Informative

    That's because the ISO file system used on CDs limits you to 8.3 file names if you want to read them on all BIOSes.

    --
    Coming soon - pyrogyra
  57. Re:MMCSS by Anonymous Coward · · Score: 0

    Yid?

  58. Not quite... by supersat · · Score: 3, Informative

    Err... Not quite. Not all of the SysInternals tools were migrated, and NONE of the source code was. Microsoft's hiding behind some pretty lame excuses (e.g. "They're using undocumented APIs!" or "Hackers are using it to make spyware!") for not distributing the source code.

    The Winternals Administrator's Pak is also ">being discontinued, and have its functionality available only to those with Software Assurance agreements.

  59. Re:MMCSS by Anonymous Coward · · Score: 0

    “Aphorisms are the refuge of the uncreative.” —Aphorist

  60. Re:MMCSS by David+Horn · · Score: 1

    It doesn't seem all that balanced to me. If you want to cripple a Vista system for TWO HOURS then install Visual Studio 2005 SP1. CPU usage on my Turion64 X2 CPU was pegged at 100%, memory usage (2GB!) at 100%, disk thrashing away etc. Vista was completely unresponsive for approximately 40 minutes of the two hour install, and extremely sluggish for the rest.

    * I appreciate that this post has nothing to do with Vista's IO scheduling, but it should not be possible for any application to suck up 100% of the system resources without my permission. On any OS.

    --
    PocketGamer.org - For the gamer on the go!
  61. Re:MMCSS by Anonymous Coward · · Score: 0

    Install an OpenSolaris derivative and play w/ ZFS. it gives you io priorities and friends.

  62. Is it true? by BillGatesLoveChild · · Score: 3, Funny

    Is it true that every line in the source contains comments like this?

    ; Hah! Take that user!
    ; Oh nice try but we thought of that!
    ; Clearly they are trying to steal this.
    ; Thief! Thief!
    ; MP3s have no DRM. Refuse to play.
    ; Block association away from Windows Media Player
    ; SONY rootkit plugs in here
    ; Powered up. Now lets get today's authorization.

  63. Re:Holy sh*t - Russinovich joined the borg?? by Anonymous Coward · · Score: 0

    for example?

  64. Re:ntoskrnl.exe by Anonymous Coward · · Score: 0

    Have you ever heard of tab-completion? It's this really nifty feature. You type a few characters, hit tab, maybe type some more, hit tab again and you have the whole filename with fewer keystrokes. Unix has had it for at least ten years.

  65. I just don't care... by Anonymous Coward · · Score: 0

    You know something? Ever since I got my new Mac, I just don't care what is new in the next version of Windows anymore....

    Strange, that...

    1. Re:I just don't care... by Anonymous Coward · · Score: 0

      Maybe you should post on Apple stories instead of caring about adding pointless dribble here.

  66. drivers vs OS by Anonymous Coward · · Score: 0

    I think you are talking about writing Windows Driver, not trying to understand OS internals, (so you could write an OS).

    Or are you implying that you could figure out the internals of Linux by looking in /usr/include.

  67. Re:MMCSS by Anonymous Coward · · Score: 0
    Forget CPU sheduling priority, that is indeed old hat. What I saw in this article that really makes me jealous, as a Linux user, is I/O priority. Why have the systems people iterated for decades on CPU scheduling, and sorely neglected scheduling more precious resources like the network and disk?

    Seems to me I remember studying disk scheduling sometime in the previous millennium. Only the scheduling didn't focus on which process had priority, but rather which order it should read the blocks from disk. The big time constraint with disks is the amount of time it takes to move the drive head into position. Once it's in the right place, actually reading data is very quick by comparison.

  68. Closed source by Eravnrekaree · · Score: 1

    I dont think anyone can really know exactly what is in the Windows Kernel when it is closed source.

    1. Re:Closed source by EXMSFT · · Score: 1

      Well, considering Mark has been doing presentations about it (Vista - other versions of Windows have been in his speaking reportoire for years) for nearly a year, and didn't have source code access until he went to Microsoft, you're not quite right.

  69. did anyone else read it as... by Traf-O-Data-Hater · · Score: 1

    "Please remember that there are many other significant changes in Windows Vista that fail outside the kernel proper and therefore won't be covered."

  70. Re:Holy sh*t - Russinovich joined the borg?? by EvanED · · Score: 1

    I think he's talking about "Inside the Native API".

    The closest thing currently at the MS version of sysinternals seems to be "Inside Native Applications". (In all fairness, this second link seems to contain information I don't ever remember seeing at the old SysInternals. But I am very disappointed that the aforementioned link disappeared.)

  71. "not all apps may handle symlinks correctly..." by dpbsmith · · Score: 1

    It certainly sounds broken to _me_. Why wouldn't all apps handle symlinks correctly?

    In Mac OS 9, and in 8, and 7... when did they add aliases (the Mac OS equivalent to symlinks) anyway, I think it was 7... all the standard file routines, including the "open file" and "save file" dialogs, automatically resolved aliases.

    A Mac application doesn't need to know anything about aliases to handle them "correctly." It is only a Mac application that needs to open an alias file directly as a file that needs to do something special.

    Proper engineering means the "proper" default behavior is built into the API and requires no application modifications. It's half-assed engineering to add something new that requires all applications to be rewritten, by someone who understands the new feature, to work properly with the new feature. You shouldn't have to do anything special to open a file just because it happens to be a symlink, or on removable media, or across the network... and it doesn't, on most operating systems.

    1. Re:"not all apps may handle symlinks correctly..." by Arlet · · Score: 1

      Applications sometimes need to know whether a file is a symbolic link or not. For example, an archive utility (e.g. tar) may want to archive the symbolic link rather than the file it points to. Programs that delete files may sometimes want to delete the symlink, and sometimes the actual file. Same applies to changing the name/ownership or access rights. Applications that do recursive traversals of a file tree (e.g. find) may want to stop at a symbolic link to a directory in order to avoid infinite recursion.

  72. did mention ReactOS by GodWasAnAlien · · Score: 1

    There are sufficiently different open OS's to cover all modern and past OS architectures.

    UNIX - BSD, Linux, Minix
    DOS - FreeDOS.
    Windows NT/200 - ReactOS.
    VMS - FreeVMS
    Mach,XNU,OSX - Darwin
    Microkernel - Hurd
    Multics - SIMTICS
    Plan9 - Plan9
    BeOS - Haiku
    OS/2 - NuDawn ?
    Solaris - OpenSolaris
    RT-OS - eCos

  73. Re:ntoskrnl.exe by blincoln · · Score: 1

    On MacOS = 9, you would fix that by editing the resource fork. I ended up in a couple of situations like you describe and it was one of the things that I really loathed about MacOS. It's one thing to use that method of ID'ing files, but not giving users an easy way to bypass it is stupid.

    Apple might have introduced a better way in X. I haven't worked with it much.

    --
    "...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
  74. Re:Annoyingly anti-firefox by EvanED · · Score: 1

    Um, what?

    I can read the article fine, and I'm using FF on Linux.

  75. io priority by Dante · · Score: 1

    man 2 ioprio_set

    Process ownership

    "An unprivileged process may only set the I/O priority of a process whose real UID matches the real or effective UID of the calling process. A process which has the CAP_SYS_NICE capability can change the priority of any process."

    Sound like you can set priority for your own processes.

    --
    "think of it as evolution in action"
    1. Re:io priority by timeOday · · Score: 1

      I agree, that man page does give that impression. But try this: ionice -c3 ls. I get ioprio_set: Operation not permitted.

    2. Re:io priority by Dante · · Score: 1

      Try this

      "ionice -c2 -n0 ls"

      --
      "think of it as evolution in action"
    3. Re:io priority by timeOday · · Score: 1

      That's a no-op. 2 is the default scheduling class, and 0 is the default nice value.

    4. Re:io priority by timeOday · · Score: 1

      I see it is possible, though, to set a different value for n within the default scheduling class (ionice -c2 -n5 sh -c 'ionice $$'). I'd rather be able to put things down into the "idle" class though.

    5. Re:io priority by Dante · · Score: 1

      -c[2-3] -n [0-7] works for me. Makes sense that -c0 is a root only option, no?

      --
      "think of it as evolution in action"
    6. Re:io priority by timeOday · · Score: 1

      Right, it's only -c3 I would expect to work. Perhaps your kernel is newer? I'm on 2.6.18-1.2869.fc6, the default fedora core 6 kernel.

    7. Re:io priority by Dante · · Score: 1

      XXXXX@guillemot:~$ uname -a Linux guillemot 2.6.20-rc5 #1 Wed Jan 24 22:10:45 PST 2007 i686 GNU/Linux

      --
      "think of it as evolution in action"
    8. Re:io priority by iluvcapra · · Score: 1

      If you've gotten to this leaf in the thread, allow me to be the first to welcome you to Linux on the Desktop!

      --
      Don't blame me, I voted for Baltar.
  76. WTF? by Hurricane78 · · Score: 1

    Ary you cursed or why do you still get modded down when you hit them the truth straight in the eyes?
    Must me someone hating you. But why?

    Maybe it's that thing that poeple can't accept that the're wrong because this would crash their whole world view and self-acceptance.
    Poor primitives...

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
  77. Unfair CPU scheduling by gillbates · · Score: 2, Interesting

    Ok, I'm not trying to troll, but the latest CPU scheduling algorithm is just yet another example of how when it comes to Windows, the design is done more by the marketing department than by the engineers. At least we hope the engineers would have raised objections!

    I understand their CPU cycle counting is intended to improve fairness between applications, but the proposed scheme will have just the opposite effect. Consider, for example, that interrupts aren't counted against a process' cpu usage. All well and good in theory, but the practical result is that a process which is I/O intensive - that is, one which causes interrupts to occur - will actually run much longer than it would otherwise. So, the problem of one I/O intensive process locking out all of the other applications will only get worse in Vista.

    And the interesting thing is that this will actually give a subtle priority boost to multimedia applications, without them having to raise their priority level. IOTW, your multimedia app gets realtime priority whether you asked for it or not.

    Well intentioned, yes. But also naive.

    --
    The society for a thought-free internet welcomes you.
    1. Re:Unfair CPU scheduling by mrbobjoe · · Score: 1

      the practical result is that a process which is I/O intensive - that is, one which causes interrupts to occur - will actually run much longer than it would otherwise
      I've only had one semester of OS design so I may be completely off here, but I think that this is intentional. CPU scheduling is for scheduling the CPU, a process doing blocking I/O (not counted against the thread's CPU usage) often will be giving up the CPU frequently, and it may be expected that it will continue to do so so it would be logical to give it CPU access more often so it can get its I/O underway and let others get on with the CPU. If the I/O is nonblocking then whatever the process is doing while waiting is still treated as CPU usage.
    2. Re:Unfair CPU scheduling by gillbates · · Score: 1

      A process which does much IO does not need to have the CPU more often - typically, what happens is that the process is IO bound, where it runs for a short time and then blocks on IO. Such processes already have more than enough CPU time; what they need is faster IO. Giving the CPU to such a process will only result in more context switches, as it will start an IO and then return. The net result is that CPU-intensive processes should be given the CPU more often.

      --
      The society for a thought-free internet welcomes you.
  78. Re:ntoskrnl.exe by Anonymous Coward · · Score: 0

    OS X uses the extension for file type information. No extension, no type. (Actually, if there is a resource fork, that can give type as well, but this won't be the case for your AI files.) Simply rename the files with the .ai extension and all will be forgiven.

  79. Re:MMCSS by Tacvek · · Score: 1
    Even on XP it is horrible trying to install Visual Studio. It has the longest install process I have ever seen. I'm quite certain that something is faulty in the installer. I'm quite confident that the install process for Visual Studio involves something like: Extract all the files. I'll admit that visual studio is a large program, but it is still too long.

    It is as though the files in the installer are stored in a highly compressed (CPU-bound decompression) file that does not support random access. Thus for each extract each file, the entire blob is decompressed.

    After all, what else could take 3 hours to copy a few GB from a CD to the PC. I've seen faster torrents.

    --
    Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
  80. Video of MS kernel developer talking about this by Myria · · Score: 3, Interesting

    Click here. He talks about a lot of things, including these "protected processes", and even says that the purpose is for DRM.

    Melissa

    --
    "Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
    1. Re:Video of MS kernel developer talking about this by Black+Acid · · Score: 1

      For anyone looking to just see Kishan's talk about protected processes, it starts at about 34:00 in this hour-long video.

      He follows up with: "Except if you're in kernel mode, of course."

    2. Re:Video of MS kernel developer talking about this by TheNetAvenger · · Score: 1

      Click here [microsoft.com]. He talks about a lot of things, including these "protected processes", and even says that the purpose is for DRM

      Ok, either you haven't really watched this video, or what he is talking about is out of your level of understanding, my comments stand.

      DRM and protected processes and the changes in the Vista process creation have NOTHING TO DO WITH EACH OTHER.

      This is another old story of where people can't seem to separate out the Win32 Kernel in their heads from the NT kernel or the NT kernel interface. In a really bad analogy it would be like me arguing that the OSX video subsystem framework contains DRM therefore all BSD to Mach kernel interfaces include DRM, which is insane.

  81. The Tagging system for slashdot needs moderation by Froqen · · Score: 2, Informative

    I know that badvista.org has a campaign to mark products with DRM and defectivebydesign, but nothing in this story has anything to do with DRM; having these tags on the article is less then useful. Maybe the tags need the same type of moderation system that the comments get.

  82. One "defect" is still there. by Z00L00K · · Score: 1
    And that's the "svchost.exe", which hides the real process from the user view. How can I as a user know what's going on there when I have a SVCHOST.EXE eating away at my CPU. Is it a bot spamming others with email or is it doing some secret housekeeping?

    You may get dandruff for less...

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    1. Re:One "defect" is still there. by Anonymous Coward · · Score: 0

      The use svchost.exe to contain Windows services is a perf optimization. Without it there would be one process for each service. While this is not a large concern with modern machines, when NT was written this was an issue.

      You can enumerate which services are in which svchost.exe process through tasklist or tlist. The Vista taskman can also show the service names.

    2. Re:One "defect" is still there. by bkoehler · · Score: 2, Informative

      tasklist -svc (from cmd) will show you what services are contained within a svchost.exe PID.

  83. Re:No. Vista is all about DRM. by Anonymous Coward · · Score: 0

    Don't try to weasel away from the fact that Vista is all about DRM. Either MS makes their OS for the people or they make it for the media companies. There's no middle road here.

  84. Re:MMCSS by |DeN|niS · · Score: 1

    echo "cfq" > /sys/block/hda/queue/scheduler
    nice -n 19 ionice -c3 emerge -uav world

    Both CPU and I/O running at idle priorities

    (requires 2.6.13+, and schedutils for ionice)

  85. Re:No. Vista is all about DRM. by Anonymous Coward · · Score: 0

    So, if a media company installs linux on a server somewhere, does that mean linux is no longer made for the people?

  86. Lies, lies, lies! by Ancient_Hacker · · Score: 1
    Now that this guy is owned by Microsoft we can't depend on anything he writes. Sad.

    Please reflect on this article and realize it's not a "fair and balanced" presentation.

    Mentioning a few features with no analysis of the possible downsides is not very useful writing.

    Some downsides:

    • Keeping better track of CPU usage-- no mention of whether overall this takes more time than it can ever usefully reschedule. Keeping track of CPU usage per thread/process/interrupt could easily take more extra cycles than it might ever "save".
    • Having ways of unhanging stuck drivers is good, but should have been in Windows 1.0. No mention of the impact on the existing 78,000 custom drivers.
    • Adding file links at this late date has HUGE repercussions... What about all the disk scanning, backup, archiving, and browsing utilities that don't know about this feature? Arent they all going to break in unlikely ways, or hang if the file system has a link loop in it? This feature should have been announced *years* in advance so all the third party apps could prepare for this major change.

  87. Re:MMCSS by dascandy · · Score: 1

    You've been able to set process priority through the Task Manager since at least NT4
    Forget CPU sheduling priority, that is indeed old hat. What I saw in this article that really makes me jealous, as a Linux user, is I/O priority. Why have the systems people iterated for decades on CPU scheduling, and sorely neglected scheduling more precious resources like the network and disk? I can "nice" my system backup script, but what difference does it make when it's hogging the disk so much I can hardly load a new application? Dude. As far as I can remember (which is a good few years) the Linux scheduling system allowed IO bound processes to access the CPU quicker because they don't use up their calculation time slices (receiving more quota). Niceing your processes to a high value gives them more quanta per unit.

    Linux does this implicitly. Windows does it by assigning numbers to each type of output and raising your process priority accordingly. So if you make a virus scanner that uses the GFX card, plays a sound, pretends to use your joystick & cdrom drive and reads & writes a file to your harddisk, it'll be given top notch priority. Your backup process however...
  88. third option for anti-virus by Anonymous Coward · · Score: 0

    There are basically two options here:
    You forgot:

    3. Use a security model that doesn't allow viruses to spread in the first place.
    1. Re:third option for anti-virus by BasharTeg · · Score: 1

      Oh you mean like UNIX's all or nothing security model as opposed to Windows fine grained permissions / ACL based model? It's not Windows' "security model" that allows it to be infected with viruses you ass.

      It's users using Windows as Administrator, which is just as dumb as people using UNIX as root, and poorly written programs with vulnerabilities, which I'll be damned if most common UNIX style operating systems and applications didn't have to clear a whole hell of a lot of strcpy() and friends out of their source trees to avoid remote exploitation. Just because UNIX hacks are written as sploits rather than viruses, that doesn't mean they aren't vulnerable. Get off your "I RUN LOONIX" high horse and learn something about what you're talking about.

  89. Re:Holy sh*t - Russinovich joined the borg?? by makomk · · Score: 1

    I suspect the EU would find this... interesting.

  90. For what purpose? by Anonymous Coward · · Score: 0

    So the prof hands out the license agreement for all the students to sign...

    To use the source code of the NT kernel and have your students agree to some license agreement, you should have a purpose.

    What is that purpose?:

    1. To write a better OS? No. bad idea. Any ideas you get may be viewed as stolen. Why not use Linux,BSD,ReactOS,Hurd or XNU/Darwin instead? The ideas you get from these are free.
    2. To learn about basic design principles of OS components. Why not use Linux,BSD,ReactOS,Hurd,OpenSolaris or Darwin instead? What exactly would NTOS have that open OS's not have?
    3. To write better Microsoft Drivers...ok sure...

    The point here is that learning about NT internals can only really help you write better Microsoft code, not to learn what OS's are made of.

  91. Re:No. Vista is all about DRM. by Anonymous Coward · · Score: 0

    So, if a media company installs linux on a server somewhere, does that mean linux is no longer made for the people?

    I'm not sure but I think it means media company installed linux on a server somewhere.

  92. Re:ntoskrnl.exe by iluvcapra · · Score: 1

    OS X uses the extension for file type information. No extension, no type.

    That's not necessarily so. There's file extension, followed by Uniform Type ID HFS+ metadata, followed by HFS FourCC Type/Creator metadata (if the first is not present, the second decides, etc). The resource fork doesn't actually contain filetype data, it was only that ResEdit gave you an easy way of editing the file's HFS FourCC type and Creator.

    If you're really stuck trying to figure out a filetype, you could run file(1) on it, it might be able to guess certain vector files correctly. And once you know it, you can set the extension.

    --
    Don't blame me, I voted for Baltar.
  93. My first thought upon seeing the title: by thesnarky1 · · Score: 1

    You'll never find a greater hive of scum and villany...

  94. Re:Holy sh*t - Russinovich joined the borg?? by EvanED · · Score: 1

    To be honest, the original site wasn't all *that* informative either. Also, theoretically the non-Windows depts of MS shouldn't really be using that API either. It was one of the things that came up in the US antitrust trial, and apparently the Windows team was not happy that the Office team was using the Native APIs. Leaving them undocumented gives them a lot more leeway if they want to change the interface later, because theoretically only a couple utilities (like autochk) and the various subsystems should be calling them.

  95. Re:MMCSS by Allador · · Score: 1

    For both you and Tacvek, take a look at the configuration for your anti-virus.

    Visual Studio contains a ton of large, and sometimes multiply-nested .chm (and the newer format extension ... can't remember what it is right now, and its not on this machine). These are basically highly compressed zip files, and they can often cause an anti-virus software to just horribly bring a machine to its knees.

    Try turning off A/V for the duration of the install, and see if it makes a difference. VS does take a while to install, but its nowhere near as bad for me as either of you describe, so its possible that A/V may be part of the problem.

    Worth a look, in any case.

  96. Are you sure? by Anonymous Coward · · Score: 0

    Isn't Vista distributed on DVD? Are machines capable of running Vista ever going to be incapable of booting from Joliet or UDF discs?

    And why don't we suffer the 8.3 UPPERCASE restriction with linux?