Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Inside the Windows Vista Kernel

kdawson posted more than 7 years ago | from the deep-tech dept.

Windows 298

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."

Sorry! There are no comments related to the filter you selected.

MMCSS (-1, Flamebait)

P(0)(!P(k)+P(k+1)) (1012109) | more than 7 years ago | (#17784650)

There's a lot here, but I'm going to comment on Multimedia Class Scheduler Service (MMCSS):

Users expect multimedia applications, including music and video players, to offer a seamless playback experience. However, demand for the CPU by other concurrently running applications, like antivirus, content indexing, or even the mail client, can result in unpleasant hiccups.

Classic: multimedia apps take precedence over anti-virus.

The various task keys specify how much preference threads associated with different multimedia types get for CPU and graphics processor resources (though graphics processor resource management is not implemented in Windows Vista).

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

Only administrative accounts, like the Local System account in which MMCSS executes, have the Increase Priority privilege that's required to set real-time thread priorities.

I 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.

Re:MMCSS (4, Informative)

swissmonkey (535779) | more than 7 years ago | (#17784680)

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.

Re:MMCSS (1, Insightful)

Anonymous Coward | more than 7 years ago | (#17784912)

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.

Re:MMCSS (4, Insightful)

QuickFox (311231) | more than 7 years ago | (#17785440)

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.

Re:MMCSS (4, Insightful)

Tim C (15259) | more than 7 years ago | (#17784830)

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).

Re:MMCSS (0)

Joe The Dragon (967727) | more than 7 years ago | (#17784858)

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

Re:MMCSS (4, Insightful)

vadim_t (324782) | more than 7 years ago | (#17785010)

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.

Re:MMCSS (4, Insightful)

Tim C (15259) | more than 7 years ago | (#17785534)

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.

Re:MMCSS (5, Insightful)

timeOday (582209) | more than 7 years ago | (#17784980)

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.

Bah! (1)

Dante (3418) | more than 7 years ago | (#17785206)

Try this "man ionice" works for me

Re:Bah! (5, Informative)

Black Acid (219707) | more than 7 years ago | (#17785246)

cfq/ionice is for reads only [lkml.org] . "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...

Re:MMCSS (1)

Yokaze (70883) | more than 7 years ago | (#17785290)

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

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

Re:MMCSS (0)

Anonymous Coward | more than 7 years ago | (#17785354)

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!

Re:MMCSS (0)

Anonymous Coward | more than 7 years ago | (#17785036)

You sir, are a moron.

"Kernel" ? (-1, Troll)

Gothmolly (148874) | more than 7 years ago | (#17784658)

Aren't they getting ahead of themselves? COMMAND.COM is hardly a "kernel".

Re:"Kernel" ? (0)

Anonymous Coward | more than 7 years ago | (#17784710)

No, its a shell you twit.

Re: Deja VMS? (0)

Anonymous Coward | more than 7 years ago | (#17785024)

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.

Re: Deja VMS? (1)

mycall (802802) | more than 7 years ago | (#17785154)

Sweet, VMS functionality isn't being lost.

Soft links? (3, Interesting)

Libor Vanek (248963) | more than 7 years ago | (#17784672)

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...

Re:Soft links? (1)

Virak (897071) | more than 7 years ago | (#17784736)

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

Re:Soft links? (2, Informative)

NuShrike (561140) | more than 7 years ago | (#17784838)

Or a comparison with Google Trends [google.com]

Re:Soft links? (3, Informative)

Knuckles (8964) | more than 7 years ago | (#17785298)

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

Re:Soft links? (0)

Anonymous Coward | more than 7 years ago | (#17784744)

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

Re:Soft links? (1)

urbanriot (924981) | more than 7 years ago | (#17784746)

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

Re:Soft links? (5, Informative)

tuffy (10202) | more than 7 years ago | (#17784768)

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.

Re:Soft links? (3, Informative)

Moridineas (213502) | more than 7 years ago | (#17784780)

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 [wikipedia.org] and Hard Link [wikipedia.org]

Re:Soft links? (1)

NuShrike (561140) | more than 7 years ago | (#17784808)

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?

Re:Soft links? (1)

Eideewt (603267) | more than 7 years ago | (#17785530)

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."

Re:Soft links? (1)

loconet (415875) | more than 7 years ago | (#17784816)

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?

Re:Soft links? (2, Insightful)

doshell (757915) | more than 7 years ago | (#17784824)

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

Wikipedia: Wikipedia article [wikipedia.org] (redirects to "Symbolic link" article)

Google hits: ~1M hits for ("symbolic link" OR "symlink") unix [google.com] vs. ~419K hits for ("soft link" OR "softlink") unix [google.com] ("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.)

Re:Soft links? (-1, Flamebait)

Anonymous Coward | more than 7 years ago | (#17784926)

10 years of Linux and you still don't have a clue? Have you been using RedHat all these years? Maybe you should go back to Windows if you're that clueless!

Re:Soft links? (1)

goarilla (908067) | more than 7 years ago | (#17785054)

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

Fuck twofo down (-1, Troll)

Anonymous Coward | more than 7 years ago | (#17784696)

Twofo [twofo.co.uk] Is Dying

DC++ [dcpp.net] hub.twofo.co.uk:4144

It is official; Netcraft confirms: Twofo is dying

One more crippling bombshell hit the already beleagured University of Warwick [warwick.ac.uk] filesharing community when ITS confirmed that Twofo total share has dropped yet again, now down to less than a fraction of 1 percent of all file sharing. Coming hot on the heels of a recent Netcraft survey which plainly states that Twofo has lost more share, this news serves to reinforce what we've known all along. Twofo is collapsing in complete disarry, as fittingly exemplified by failing dead last in the recent Student comprehensive leeching test.

You don't need to be one of the Hub Operators to predict Twofo's future. The hand writing is on the toilet wall: Twofo faces a bleak future. In fact there won't be any future at all for Twofo because Twofo is dying. Things are looking very bad for Twofo. As many of us are already aware, Twofo continues to lose users. Fines and disconnections flow like a river of feces [tubgirl.com] .

N00b Campus users are the most endangered of them all, having lost 93% of their total share. The sudden and unpleasant departures of long time Twofo sharers fool_on_the_hill and Twinklefeet only serves to underscore the point more clearly. There can no longer be any doubt: Twofo is dying.

Let's keep to the facts and look at the numbers.

Sources indicate that there are at most 150 users in the hub. How many filelists have been downloaded? Let's see. 719. But 1621 IP addresses have been logged, and 1727 nicks have been sighted connecting to one user over the last term. How many searches are there? 600 searches in 3 hours. The highest sharer on campus, known as "firstchoice", or Andrew.Maddison@warwick.ac.uk in real life, was sharing over 1 TiB, despite working in ITS and not being on the resnet. He's only there so people off campus who think they're too good for bittorrent can continue to abuse the University's internet connection.

Due to troubles at the University of Warwick, lack of internet bandwidth, enforcements of Acceptable Usage Policies, abysmal sharing, retarded leechers, clueless n00bs, and ITS fining and disconnecting users, Twofo has no future. All major student surveys show that Twofo has steadily declined in file share. Twofo is very sick and its long term survival prospects are very dim. If Twofo is to survive at all it will be among p2p hardcore fuckwits, desperate to grab stuff for free off the internet. Nothing short of a miracle could save Twofo from its fate at this point in time. For all practical purposes, Twofo is dead.

Fact: Twofo is dying

Finally... (4, Insightful)

physicsnick (1031656) | more than 7 years ago | (#17784716)

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?

Re:Finally... (5, Informative)

cnettel (836611) | more than 7 years ago | (#17784742)

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.

Re:Finally... (1)

zmay79 (1002628) | more than 7 years ago | (#17785536)

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?

Re:Finally... (1)

mycall (802802) | more than 7 years ago | (#17784792)

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.

Re:Finally... (4, Interesting)

Anonymous Coward | more than 7 years ago | (#17784924)

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

Ideas borrowed from QNX. But bulkier (3, Informative)

Animats (122034) | more than 7 years ago | (#17784938)

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.

Re:Ideas borrowed from QNX. But bulkier (1)

mycall (802802) | more than 7 years ago | (#17785194)

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

Re:Ideas borrowed from QNX. But bulkier (1)

certain death (947081) | more than 7 years ago | (#17785220)

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

Re:Finally... (1, Redundant)

urbanriot (924981) | more than 7 years ago | (#17784954)

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

Re:Finally... (1)

zlogic (892404) | more than 7 years ago | (#17785274)

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.

Re:Finally... (1)

canuck57 (662392) | more than 7 years ago | (#17785458)

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 ---

Is this the same as... (5, Funny)

tgatliff (311583) | more than 7 years ago | (#17784734)

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.. :-)

Re:Is this the same as... (3, Interesting)

bwd234 (806660) | more than 7 years ago | (#17784778)

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!

Re:Is this the same as... (1)

tgatliff (311583) | more than 7 years ago | (#17784828)

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.

Re:Is this the same as... (1)

mycall (802802) | more than 7 years ago | (#17785262)

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 [vmware.com]

Re:Is this the same as... (1)

qzulla (600807) | more than 7 years ago | (#17784968)

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

qz

Re:Is this the same as... (1)

bwd234 (806660) | more than 7 years ago | (#17785228)

"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!!!

Re:Is this the same as... (1)

that this is not und (1026860) | more than 7 years ago | (#17785294)

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.

Re:Is this the same as... (0)

Anonymous Coward | more than 7 years ago | (#17785282)

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).

Re:Is this the same as... (1)

laffer1 (701823) | more than 7 years ago | (#17785316)

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.

Re:Is this the same as... (1)

jaavaaguru (261551) | more than 7 years ago | (#17785524)

I guess multiple cores are more than your "average core" [sorn.net]

Screenshot (5, Funny)

Dirtside (91468) | more than 7 years ago | (#17784796)

They actually have a screenshot of what it looks like inside the Vista kernel. [atari-spie...itungen.de]

Re:Screenshot (4, Funny)

bl8n8r (649187) | more than 7 years ago | (#17784846)

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

Re:Screenshot (0)

Anonymous Coward | more than 7 years ago | (#17785144)

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

Whoa (4, Interesting)

Sloppy (14984) | more than 7 years ago | (#17784888)

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

Re:Whoa (4, Funny)

mobby_6kl (668092) | more than 7 years ago | (#17785078)

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?

Re:Whoa (2, Funny)

that this is not und (1026860) | more than 7 years ago | (#17785362)

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?

OS classes will always be open OS based (5, Insightful)

GodWasAnAlien (206300) | more than 7 years ago | (#17784952)

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.

Re:OS classes will always be open OS based (4, Informative)

dioscaido (541037) | more than 7 years ago | (#17785176)

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 [microsoft.com]

Re:OS classes will always be open OS based (2, Interesting)

that this is not und (1026860) | more than 7 years ago | (#17785390)

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.

Re:OS classes will always be open OS based (1, Informative)

Anonymous Coward | more than 7 years ago | (#17785514)

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.

Re:OS classes will always be open OS based (1)

oglueck (235089) | more than 7 years ago | (#17785590)

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.

Re:OS classes will always be open OS based (5, Insightful)

jadavis (473492) | more than 7 years ago | (#17785180)

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.

Re:OS classes will always be open OS based (0)

Anonymous Coward | more than 7 years ago | (#17785254)

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.

Re:OS classes will always be open OS based (0)

Anonymous Coward | more than 7 years ago | (#17785506)

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.

Re:OS classes will always be open OS based (1)

QuoteMstr (55051) | more than 7 years ago | (#17785674)

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.

Re:OS classes will always be open OS based (0)

Anonymous Coward | more than 7 years ago | (#17785722)

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

Inside the Windows Vista Kernel (4, Funny)

jhines (82154) | more than 7 years ago | (#17784978)

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.

ntoskrnl.exe (-1, Flamebait)

Kopretinka (97408) | more than 7 years ago | (#17785058)

Sweet baby galaxy, NTOSKRNL.EXE??? 8.3 filename? In two-thousand-fucking-seven? No wonder Vista sucks, if they can't get rid of the stupidest old limitations. And I'm not talking about technical limitations, this one shows a limitation of thinking.

Re:ntoskrnl.exe (1)

Anonymous Coward | more than 7 years ago | (#17785114)

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

Re:ntoskrnl.exe (1)

Knuckles (8964) | more than 7 years ago | (#17785356)

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

Re:ntoskrnl.exe (0)

Anonymous Coward | more than 7 years ago | (#17785124)

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?

Re:ntoskrnl.exe (0)

Anonymous Coward | more than 7 years ago | (#17785126)

vmlinuz?

Re:ntoskrnl.exe (1)

vadim_t (324782) | more than 7 years ago | (#17785210)

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.

Re:ntoskrnl.exe (3, Informative)

Anonymous Coward | more than 7 years ago | (#17785368)

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.

Re:ntoskrnl.exe (1)

that this is not und (1026860) | more than 7 years ago | (#17785408)

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.

Re:ntoskrnl.exe (0)

Anonymous Coward | more than 7 years ago | (#17785464)

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.

Re:ntoskrnl.exe (1)

DoktorSeven (628331) | more than 7 years ago | (#17785466)

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?

Re:ntoskrnl.exe (0)

Anonymous Coward | more than 7 years ago | (#17785486)

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

Re:ntoskrnl.exe (-1, Flamebait)

Anonymous Coward | more than 7 years ago | (#17785452)

If they would have changed the name then it would have broken backwards-compability with all the million WinXP viruses.

Re:ntoskrnl.exe (0)

Anonymous Coward | more than 7 years ago | (#17785560)

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

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

Re:ntoskrnl.exe (1)

gutnor (872759) | more than 7 years ago | (#17785596)

"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...

If it ain't broken... (1, Insightful)

Anonymous Coward | more than 7 years ago | (#17785664)

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?

fp 4omo (-1, Offtopic)

Anonymous Coward | more than 7 years ago | (#17785108)

name on the jar of as fittingly least of which is Fly...don't fear Keep unnecessary You. The t1reless clothes or be a

Holy sh*t - Russinovich joined the borg?? (-1, Offtopic)

schwaang (667808) | more than 7 years ago | (#17785110)

The bigger story for me is that Mark Russinovich, who wrote all those great sysinternals programs, and who investigated the Sony rootkit, is now a Microsoft employee. I guess that's because I missed this story [slashdot.org] back in July.

Re:Holy sh*t - Russinovich joined the borg?? (1)

Ash-Fox (726320) | more than 7 years ago | (#17785716)

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.

Annoyingly anti-firefox (-1, Offtopic)

Anonymous Coward | more than 7 years ago | (#17785236)

I was just thinking earlier, wouldn't it be nice if everyone wrote web pages that were compliant, and without IE hacks, so that eventually Microsoft would be forced to create a standards compliant browser.

Then I turn up at that Russinovich site and find it's been written in such a way that it's unreadable in Firefox! Of course! If Microsoft just keeps writing shit browsers, we'll be forced to adopt their standards! I really really hate them...

Decade+ Late Again from Redmond (-1, Flamebait)

Anonymous Coward | more than 7 years ago | (#17785482)

So, looking at the fluff piece, Windows Vista has:

A BogoMIPS calculator (CPU Cycle Counting).

A Solaris-like scheduling class [princeton.edu] (Multimedia Class Scheduler Service).

File-based Symbolic Links (1980's Unix anyone?)

A hack to get around priority inversion or an extra layer of queue or something (I/O Completion and Cancellation).

And some I/O priority stuff that, again, various quality Unix kernels have had since god was a boy.

Keep cracking that whip, Bill, don't let the slaves forget where their next meal's coming from.

Classic Microsoft patchwork (1)

teslatug (543527) | more than 7 years ago | (#17785504)

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.

If it's not on by default, it doesn't exist. (1)

Myria (562655) | more than 7 years ago | (#17785616)

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

Re:If it's not on by default, it doesn't exist. (1)

Ash-Fox (726320) | more than 7 years ago | (#17785702)

Just tell them it's another type of shortcut.

Re:Classic Microsoft patchwork (1)

oglueck (235089) | more than 7 years ago | (#17785638)

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.

it's because some delete programs SUCK in windows. (0)

Anonymous Coward | more than 7 years ago | (#17785700)

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?)

Process startup changed significantly (3, Interesting)

Myria (562655) | more than 7 years ago | (#17785576)

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

Making Symlinks in GUI? (4, Insightful)

physicsnick (1031656) | more than 7 years ago | (#17785578)

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?

I knew it! (0)

dtfinch (661405) | more than 7 years ago | (#17785640)

"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.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?