PetrOS - NT alternative?
Anonymous Coward writes "Trumpet Software, the company well known for its Trumpet Winsock package has been quoted in the
press as having their own version of a Win32 platform operating system, called PetrOS.
They are working out if they can release it without affecting MS's API intellectual property, from the
" They claim to have a 100kb microkernel, and run native NT executables. Anyone have more details?
Looking at Trumpet's selection of software, I see they sell a TCP/IP stack and a gateway/masquerading program. I can't believe people actually pay for that stuff when you've got Linux and FreeBSD which will do that for free.
The masquerading program for Windows is $160 for 20 client boxes. My lord. I could throw together an old 486 for hardly a penny more and have it performing the same task with a _real_ OS.
On a currently running WinNT 4.0 SP 5 machine, task manager reports the following kernel memory usage:
Total: 22,392K
Paged: 14,624K
Nonpaged: 7,768K
On a WinNT server in the next room, SP4:
Total: 18,556K
Paged: 14,556K
Nonpaged: 4,000K
I suspect that these numbers vary a bit from machine to machine, and the numbers on the server were changing as I was trying to get them.
Michael Koehn
-- I'm working on my boss. Already got permission to set up one Linux box as a print server (Yay!)
Pharlap released an embedded NT clone OS over a year ago. see http://www.pharlap.com/ It called Pharlap ETS, not the TNT system! Implements a subset of the Win32 API (no GUI related calls). It's so compatible with NT/Win32 that you use the regular Visual C++ tools to compile the object code and do the final link step using their linker against their libraries. It produces a single monolithic executable containing both OS and application that you transfer to the target hardware.
Linux is still a better choice even for this kind of application for many reasons. I've worked with both and I'd choose Linux in a heartbeat.
"Be careful with your voice and gestures, sir. You will stir up the natives."
NT was designed to be able to support multiple operating system personalities. It's a lot like Mach.
NT's kernel is ntoskrnl.exe. The microkernel itself is just a small portion of ntoskrnl.exe. (I think it's about 60k.)
Some other stuff that's not actually part of the microkernel is bound into the same file, for example the namespace manager, and the security manager.
hal.dll contains the Hardware Abstraction Layer. This contains most of the processor specific code in the system. The NT kernel sits on top of this.
ntdll.dll is a user mode DLL that contains the syscall interface for user mode programs to invoke the NT native interface. It's mainly a bunch of wrappers that do an int2e, which invokes NT's syscall handler. Parts of Win32 sits on top of this DLL. This DLL is not part of the kernel.
kernel32.dll, user32.dll, and gdi32.dll are the user-mode client side DLLs that implement Win32 itself. They're not part of the kernel at all, and kernel32.dll sits on top of ntdll.dll.
csrss.exe is the user-mode server-side process that implements the Win32 subsystem and parts of GDI. This is not part of the kernel either.
win32k.sys is the kernel-mode part of csrss.exe that implements the GDI graphics engine and some other stuff. This is not part of the kernel, though it does execute in kernel mode.
NT's design is not all that bad in my opinion.
The NT Kernel doesn't implement the Win32 API. That is implemented by another layer, a client layer that talks directly to the NT API (which is undocumented). The client layer is the Win32 API and runs alongside various other client APIs.
Putting the Win32 API directly into the kernel is short sighted, and implies that Win32 API is all that this kernel is capable of running. That means it's already nearly obsolete before it's even out the door.
In a sense, it's the equivalent of calling a kernel which has the BASH shell (and almost nothing more) directly into a lightweight kernel and claiming that it is a new lean-mean Linux.
Since the doj recognizes that spliting up ms would be worse to the IT industry, I wonder how serious they were with opening code. I read on zd that the doj was considering it as a more radical alternative if nothing else would work. We would have now 3 monopolies all shoving proprietary code down our throats instead of 1 and suns Scott McNeally acknowledges this if ms is split up. ATAT became more powerfull after it was split. I believe all the ms executives are behind this corporate screw up in the trial. This was just my opinion of course. Wouldnt it be great if win32 api's were freely available to all and we would have beos win32 for games and redhat win32 clone for workstations and servers and caldera and suse for win32 compadible bussiness desktops. Perhaps this new OS could also come into the picture.
:-(
After this the win32 will be everwhere though and be bad for possix.
But we would have choices and if all these different distros of windows (linux, be, ect)and if posix is included perhaps win32 would die.
Another great thing could happen with apple. Apple would relise that win32 is the thing after this new wave of windows clones and would add win32 api support into mac osx so non computer people could have access to a stable OS thats way easier and supperior to use then windows.
I truly hope that the doj will force ms to release the win32 api.
The WinNT API is the one the NT kernel actually implements. IIRC, it's pretty small.
On top of this there are various drivers which allow executables with different `personalities' (not sure if that is the correct terminology). Win32 is one of these personalities, POSIX is another - or would be if the driver was complete and correct. Presumably the Win16/WindowsOnWin32 stuff is another.
So have these people implemented the WinNT API (probably a realistically small task), or the Win32 API -- which is huge and constantly expanding?
Only since 2.2 (well, some point in 2.1.xx) though, I think. Certainly that boot message didn't appear in 2.0.
They could still sell support, a la Red Hat...
Alex Bischoff
---
Alex Bischoff
HTML/CSS coder for hire
WINE is certainly not useless. I've been running Quicken 6.0 for the past four months via Wine for all of our home finances. Sure, there are rough spots and some missing functionality, but it works fine for us.
Anyway, I just wanted to thank the Wine team for their great work. I do agree with you about the suckitude of Windows command line apps.
Well, I am running 16 bit Quicken with a version of Wine from March 1999. I have found that newer vesions made 16 bit support worse but 32 bit support better. Versions of wine after March 1999 tended to crash and burn upon Quicken startup, but this might have changed in the past month with all the progress the Wine team has been making.
Using -managed and -winver win31, I am able to run all the basics and create charts and graphs. Loans and auto-completion work correctly, if slowly. I have not tried the net functionality (don't need it), and I haven't configured wine for printing yet so I don't know if it works.
Of course, I back up every time, but I have not had corrupted data yet, and I use Quicken/Wine several times per week. I even have a Windomaker dock app configured so that my wife can run it easily.
If they could get a current DirectX running on this (without the GUI), wouldn't this make a nice fast low-overhead environment in which to run my games ? (The only reason for Windows, after all.)
\\'
Gang rape? I wouldn't stick _your_ dick in Micros~1... ;-D
Don't you mean, "When I can sit down at a computer and do word processing and spreadsheets"?? Why does Office 2000 define the limits of what you can do with a computer?
...phil
...phil
"For a list of the ways which technology has failed to improve our quality of life, press 3."
Posted by Lord Kano-The Gangst:
Why is it that you M$ moles are so easy to spot?
LK
Posted by Lord Kano-The Gangst:
>Anybody who doesn't leap right into the gang rape is a Microsoft mole?
The attitude is what gives it all away. Characterizing this as a gang rape bolsters my position that M$ moles are usually easy to spot.
M$ is the most powerful corporation in the world. Pointing out their anti-competitive and often illegal practices is NOT a gang rape.
LK
Posted by 2B||!2B:
;-)
In my experience, the fastest code can be the biggest code, at least in independent testing. Code that requires looping can often be sped up by unrolling the loop when there is a fixed small number of iterations.
But this leaves out what may be the most important part: the cache. If your kernel is big, then regardless of how optimized it is, it will waste clock cycles getting into the CPU to do its stuff. Any OS that takes several MB between kernel and needed services will always take a huge penalty. The whole point of a 100K kernel is that even on the most pathetic systems it will remain continuously in the cache. It would almost be like having the kernel embeded in the CPU. If the services (disk, net, etc.) don't take much room, then you get another huge boost. It's really cool that memory is cheap now, but even a gig of ram will never make up for a small cache. That's why Xeon processors cost so much.
(of course if your machine is doing any disk swapping to make up for not enough memory, then you're dead meat
Yes, the versions of Unix that have huge kernels can still get fantastic performance, but at what cost: they don't have 512K caches, they have several MB. Ouch!!! I'll take a small kernel and small services (thus a _much_ cheaper machine with the same performance) any day.
Three cheers for Trumpet Software! (assuming it works and they can get past Microsloth)
Posted by Lord Kano-The Gangst:
>Microsoft is most assuredly NOT the most powerful corporation in the world.
It's possibly the most powerful corporation in the geek-world that so many Slashdot readers inhabit.
M$ controls the OS of approx 90% of the world's personal computers. M$ makes over 33 million dollars per day. M$ is in a position where they could control the way most people access the internet. To control the exchange of information is power. You know it, I know it, and Chairman Gates knows it.
>Some of us, who might be attacked as "supporters of Microsoft" are really just people who can't stand it when we see the losers trying to take down a successful business because they can't compete in the market.
M$ needs to play by the rules, just like everyone else. You can't do certain things which M$ is accused of doing. It's dishonest to steal someone else's idea and pretend that it was yours all along. You can't steal the source code for someone else's compression program and pass it off as your own. You can't use your position in the market to force people to not use your competition's products. It would be like GM designing their cars to break if you attempt to install after market products on them from a certain manufacturer.
We don't want to destroy M$, but we do want them to play by the rules.
LK
Posted by Lord Kano-The Gangst:
>You're taking this just a BIT too seriously...
Not at all, this is a serious issue. Whoever controls the way we exchange information, coltrols everything.
>Windows is popular, but if MS tried to do something REALLY f'd up with it people could either use Linux or not upgrade to the latest version.
Like intentionally holding back bug fixes to their old OS so that people are pressured to buy the new one?
The average computer buyer today doesn't even know that linux is. They know what windows is. I've had people who were thinking about buying a Macintosh come up to me and ask "So, does this run Windows 95 or what?". The average consumer is buying a computer to keep up with the Jones', not because they want a new tool or toy to use.
If M$ decided that to use windows you were going to have to pay them a $100 per year renewal fee for your software license, most people would have no choice but to pay it.
There are morons out there who would pay anything as long as they got to use AOL and M$ Office.
LK
You think NT is so great?
Just try changing the permissions on a file from the command line.
The greatest OS in the world is worthless if it is built in such a way that you can't use it.
I did an experiment also.
Using VMWARE, I tried installing Windows NT Workstation 4.0 with varying memory settings. Here's the results.
8 MB = Refused to Install
12 MB = Refused to Install
16 MB = Installed, ran slowly
32 MB = Installed, ran much better than 16MB.
Then after I installed with 32MB, I started reducing the RAM on the already installed NT.
32 MB = Booted fine, as expected.
16 MB = Booted fine, but slower.
12 MB = Booted fine, but really really slow.
8 MB = Blue Screen of Death on bootup.
I thought it was interested that the installation program wouldn't let you install with 12MB, but that NT would boot with 12MB.
I find that hard to believe -- that IBM gave up on a windows clone becase MS changed the Win32 API so often.
...
Anyone who had a Win32 clone would probably be more than happy to devote however many programmers were necessary to maintain compatibility with MS releases, because the market for a Windows clone is HUGE. If you've already got one, then you're looking at a not-small slice of a multi-billion-dollar market, which can pay for ALOT of programmers verifying every single MS API call for every single MS release
It sounds like he's concentrated on getting the command line programs working and doesn't have a GUI yet. Since (I'm guessing) the GUI is the bulk of the work, this hardly counts as a Windows clone.
But, I actually like the approach. I wonder if the Wine folks wouldn't have made faster progress by following the same strategy. As it is now, there are lots of programs that "sort of do something" under Wine, but few useful ones that really work 100%. If the command line stuff worked WELL it might draw more developers to finish the job.
It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail. - Abraham Maslow
Actually, if you launch task manager in NT, it says the process "System" with a PID of 2 is using 200K. That is probably the "kernel".
FX!32 doesn't do any thunking. Why? Because WinNT on an Alpha runs in a 32-bit mode (yes, I said NT on AXP runs in 32-bit mode). The individual instructions are simply translated from ix86 assembly to AXP 32-bit assembly.
Sam: "That was needlessly cryptic."
Max: "I'd be peeing my pants if I wore any!"
On anything other than x86, the boot partition must be FAT, period. On x86, you can boot from NTFS but it is difficult to correct minor problems (ie boot.ini). There are workarounds for this. I lost the site, but there are a few sites with boot floppies that can access NTFS partitions.
What does bug me is the inability to boot "single user" off a cd. MS has to do something about that.
_damnit_
_damnit_
It's my job to freeze you. -- Logan's Run
FYI, the term microkernel does not neccessarily mean that a "small" kernel. It means that the kernel provides a base set of services that operating systems built atop it can suppliment. Therefore, a microkernel is meant to a reusable core for many operating systems.
For example, the Mach microkernel is not an operating system in and of itself. It provides services such as network and disk access. Operating systems such as BSD, Linux, and NeXT were built to utilize its services. There is one thing one can not say about the Mach microkernel -- it is small.
Neither PetrOS nor NT are microkernels, although, they may utilize a microkernel-like architecture by creating Ring O level services. In this case, the folks at Trumphet have usurped a computer science concept for marketing purposes.
How's about it? That would also give it nearly instant access to all of the X windows applications in existence..
-- I'm the root of all that's evil, but you can call me cookie..
The Win32 API does, but I'm not sure how MUCH of the API they've completed.. I'm puzzled by the whole thing, as they claim to be able to run NT native exe's, but none of them graphically, apperently?
-- I'm the root of all that's evil, but you can call me cookie..
Those aren't part of the kernel though. They just provide API's to developers, that happen to implement some basic OS services (or what NT considers basic). The _real_ kernel is NTOSKRNL.EXE which on my work system (which I think is SP4) is 927,552 bytes (the bit that provides core system services like threading, process control, etc). Big compared to 100k, and huge compared to QNX Neutrino's 20k. I didn't want to refute your point - just provide a bit of accuracy.
,hacker Perl another Just)'
Matt.
perl -e 'print scalar reverse q(\)-:
Matt. Want XML + Apache + Stylesheets? Get AxKit.
On my HPUX machine, the kernel file is 7M. However, that is a risc architecture which does tend to produce larger code files, but still!!!
Or they could sell the product and make money off that and make money off selling support contracts.
Funny thing is - That's how I read it :)
--
1) Legality: I happened to have a copy of NT left over, but there are those who would argue that ownership of software is immoral in any case.
2) Resources: the only real hogging that VMWare does is memory, and most of that is the memory given to the guest OS; it's a simple tunable trade-off. It only hogs CPU when it's actually doing something.
3) Second box: I can't afford to do that. What I *will* do is add another 128M to my existing box and give NT 96M insted of 64.
I have yet to try WINE, so I will not comment, except to say that I think it's a wonderful project and exactly the kind of thing that shows that there is no great mystery to Windows.
Best of luck.
Paul.
Well, its a microkernel so that 100kB comparision to NT isn't really accurate. What the microkernel represents is the smallest amount of code that allows it to schedule processes, manipulate memory and load in other modules. As soon as a user does something silly like try to use it the microkernel will have to load in code that handles ethernet, graphics, input/output devices etc.
A more accurate comparision would be from a fresh boot what is the graph of memory consumption of each OS while running this script in SuperWizzyWorks 2000?
But is it a good thing to have dozens of API calls for special cases when a Unix system can do the same things with a slim elegant API, with less than 100 API calls, and still be as fast as an NT system (or even faster)?
I think that this is embarrassing for NT...
Note that I said Unix, not Linux. (And BTW, there are plenty of tests that show the opposite)
IMHO using Multithreading and a single thread for each call that might block is an elegant solution and results in very readable code - better code than using a single thread that has to react to a number of events. I have never missed the possiblility to wait for several events in a single thread.
But maybe I use threads threads more easily because I mainly work in Java, and Java makes it very comfortable to work with threads...
But to get a free worker thread you can use a condition variable and a mutex (when using pthreads). And when waiting for several threads to join a loop that joins each thread is an easy solution.
There's several layers to the Win32 API. There's the baseline/command shell API (Memory allocation, file access, etc...), then there's the networking layer (Winsock2...), then there's the baseline GUI layer (GDI...), and so on and so forth. It sounds like he's done the baseline and at least some of the other server/embeddable layers like the Winsock layer, but doesn't have the windowing engine, etc.
The Win32 API is a patchwork quilt of conflicting, broken APIs strung together by one OS implementation- it's why Wine's not quite as far as it could be and TWIN got open sourced... It's far, far better to start writing apps using something other than the Win32 API.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
Pad++ was a zoomable user interface written in Tcl/Tk. It grew and grew and got unmaintainable, so its successor is a Java library called Jazz, which looks very promising. It's alpha work at the moment, though, requires Java 2, and still needs more optimization work.
Jeez, this guy is an argument for censorship all unto himself. Moderators, do you job! Maybe if you all give him -1 he'll be the first to end up with a -50 score. Is there any was the system could automatically ban someone if they receive a huge markdown? I would prefer never to see this sort of racist, bigoted hate speech at all, even though I sometimes look at the -1's just for a laugh sometimes.
--
Barry de la Rosa,
Senior Reporter, PC Week (UK)
Work: barry_delarosa[at]vnu.co.uk,
tel. +44 (0)171 316 9364
-- /. ID is lower than Bruce Perens'!
Barry de la Rosa,
public[at]bpdlr.org
My
- Try implementing some applications using some of the extensive multithread APIs in the NT OS
Yes, and those engineers work at IBM where they developed OS/2. Not only was that threading capability stolen from OS/2, but it was stolen badly. OS/2's threading is much faster and doesn't crash constantly.[API's listed]
the core of the OS is amazingly well thoughtout and designed by experienced software engineers.
- ...and then come back and feel embarrassed...
I wouldn't think of it! Please, the embarassment is all yours.- The threading system crashes constantly does it?
No, the whole OS does. The threading is just slow as dirt.- NT has a crappy GUI compared to OS/2
- NT is slower than OS/2
- NT is more bloated than OS/2 (perhaps its most notable accomplishment)
- NT is less stable than OS/2 (and everytime is gets nearly as stable, they release new brokenware)
- NT has at least four Java systems that run on it, none of which run as fast as IBM's for OS/2.
The list goes on...- OS/2 completely lacked a security subsystem, unfortunately.
OS/2 has a security API which allows you to add a security subsystem appropriate for the risk level of the system. If you have a low-risk system, it is not encumbered by a bloated and slow security system. If you have a high-security system, you can install a high-security security manager. This is called scalability, something OS/2 also does better than NT.Too bad you don't have a clue subsystem in which to install a clue.
- Some people's Linux boxes crash, some people's NT boxes crash.
...
My point is that seeing is believing.So what is your point exactly?
I've seen an NT box crash. I've never seen a Linux box crash. I've seen OS/2's GUI lock up (face it, who hasn't?) but I've never seen the machine actually go down. My point? NT sucks.
- You claim this property of an OS is a demonstration of lack of scalability. "UNIX == not scalable" if you follow your logical argument.
I strongly doubt you could follow anyone's logical argument, or for that matter, identify a logical argument were it presented to you by a team consiting of Socrates, Descartes and Lt. Data.You said OS/2 didn't have a security subsystem. It does and it's flexible. That's the argument. OS/2 is more scalable than NT in a variety of ways as is UNIX. In terms of security, they are less flexible architecturally. That may or may not be a problem.
NT does suck, though.
i'm sure he'll hear about it from his already- "excited" lawyers.
Somebody get our flag back!
Whatever this PetrOS thing is, I've got to hand it to Trumpet Software - they *really* made a difference 6 or 7 years ago with their Trumpet Winsock stack. Way before Microsoft acknowledged the Net's existence, Trumpet was there to help us poor non-Unix folks get on the web. One of the few shareware programs I actually paid for. :-) I wondered what they were doing these days... I'm not sure there's much of a market for a TCP/IP stack under Windows anymore.
You mean there's a multiuser mode?
--Joe--
Program Intellivision!
As much as I respect your opinions on NT as a workstation, I beg you differ. I'm actually using NT daily (NT4SP4, at work), and it has to be rebooted at least 3 or 4 times a week. Not because of crashes mind you, I find NT as stable as my Linux 2.2 system, but because of the amount of memory the kernel taks.
I'm not using any extravaganza funky applications, but rather mostly MS office suite and Visual Studio, but after two 8h days of usage, the kernel takes almost 100M of my 128M memory, which is almost unusable.
This problem has nothing to with bloat in the applications, but rather somewhere deep inside the kernel.
I'm sorry to take away your imaginary image of BE, but if you seriously think that it scales so well that it will run applications twice or three times as fast as windows or linux. John Carmack (of quake fame) recently stated that he expected Quake 3 to run 70% (best case, but I assume you are too talking about that) faster on 2 processors with x MHz than on one. No OS could ever make an application more than 100% faster on 2 processors than on one, and even that seems very unlikely with a single memory bus. Now Carmack's 70% faster is what is actually possible using Linux. Assuming that your fantastic BE actually makes your application use the second processor to the full extent, Q3 would still only run 17% faster on BE than on Linux.
Think.
I was under the impression that the shuttle uses 6502's (well, later models) because they were the only CPU's that are currently manufactured to withstand the heat generated by reentry.
But it's been a while, and I could be wrong.
The copper bosses killed you, Joe. 'I never died', said he.
which won't let you do any of the above when a game crashes and takes the keyboard/screen with it.
you get real warm and fuzzy with the reset button. If your POS brand-name machine even has one anymore.
But that was a design feature, right?
The copper bosses killed you, Joe. 'I never died', said he.
The graphics subsystem in NT prior to version 4 was just awful. It was SLOOOOOOOOW, and kind of incapable. 4 made it a lot faster, but also introduced blue screens for video drivers, which I had not previously seen.
The copper bosses killed you, Joe. 'I never died', said he.
I wonder if these folks even realize the implications... forget embedded (win32 is a bad idea for the embedded market anyway), think emulation -- win32 drivers and applications running with no overhead under any OS you like.
If this is legal (and you can bet MS will be trying hard to prevent it from being) then we may just have hit the point where even OS-specific software and drivers aren't OS-specific any more.
Of course the obvious MS response is to immediately make some incompatible API changes that break this new micro-OS, and patent them so far up their asses that a programmer couldn't extract them without reaching down their mouths with a plumber's snake. We'll have to see how the legal side of this evolves.
But he's down to negative one anyway (and that was a moderating point well spent).
Hey man, what kind of slashdotter are you? You're supposed to latch onto one OS and one intellectual property philosophy, march lockstep with its dogma, and stridently pontificate on its virtues to the exclusion of all others to anyone who will listen.
:)
Now get in line.
I've finally had it: until slashdot gets article moderation, I am not coming back.
[/usr/src/linux]# make vmlinux ...
... spammage
[/usr/src/linux]# ls -al vmlinux
-rwxrwxr-x 1 root root 1278562 Jul 8 17:11 vmlinux
That's a very much modular kernel too without any extra gunk my hardware doesn't support, or things I don't use, like routers. That aint tiny either.
I've finally had it: until slashdot gets article moderation, I am not coming back.
Shouldn't that be PitrOS?
mark "sorry, too much userfriendly, I s'pose..."
1) You need a copy of windows to run. To do it legally costs $$$, especially NT.
2) Running a whole second OS is a serious resource hog.
3) It's effectively running on a second (virtual) computer, in its own little sealed box. Why not just get a second computer and a monitor/keyboard/rat switch?
Wine provides the Win32 system calls to a Linux process, allowing things like a windows CGI program to do credit card validation to be spawned from Linux' Apache. It may never run every windows program in existence, but:
1) Neither does any one version of Windows.
2) I don't own every windows program in existence. I only care about the ones I have (which these days, are mostly games, half of which actually run under DOS.)
3) This is legacy support. 50% of the legacy windows programs out there aren't Y2K compliant anyway, and an amazing number of people are limping along with "good enough for now" 3.1 installs left over from the 1980's for their daily word processing and checkbook balancing/payroll. (Sheesh, last year I helped a friend of a friend copy his comic book store inventory system from an old 386 SX with a 100 meg hard drive to an old 386 DX with a 200 meg drive. Only reason he left the old system was he'd tried Dos 6 doublespace and the drive started to eat itself.)
We don't HAVE to support the latest and greatest Windows apps, those companies are still around and we can lobby for a native version as we penetrate farther and farther into "grandma" land and our usage numbers go up with drool-proof interfaces like Gnome and automatic install/configuration and pre-installs. And we ALREADY support a lot of the old stuff, and creep farther every day.
The Wine people are adding new APIs faster than Microsoft is. They're better at it. Someday, they'll catch up.
Rob
I bet thats compressed, too.
(Don't even think of mentioning that web server test...my desktop machine is not a webserver. And I don't have multiple T1s to handle that bandwidth anyway. Or four network cards. I knew which is faster, I used to run Windows on this overclock PPro with 32 megs of RAM.)
If corporations are people, aren't stockholders guilty of slavery?
Hmm... I just hit this dweeb with another negative moderation point, but for some reason he's not -2 now. Perhaps it's because I didn't choose "flamebait" as the original moderator did, but instead chose "Troll."
My last moderation point was gobbled up. so it should have docked him another point...
(I'm posting as AC because, of course, I can't post to a topic I've moderated...)
Oops. Well, it looks like I managed to undo my moderations by somehow posting as myself... D'oh! It did say it was undoing the moderations, though... which meant it recorded them. But it didn't reflect it in teh moderation score. Weird.
...try SNIFF+, Source Navigator, Code Warrior, CVS for code management.
VC sucks in comparison. Linux IS a better code development enviroment I have to admit. I hate UNIX, but I had to leave NT for sane developement.. Give it a try. Your code will be better (partly because egcs 1.1.2 is a better standard C++).
<^>_<(ô ô)>_<^>
...never worked on a project with more than 10 ;)
functions in it
<^>_<(ô ô)>_<^>
i'll definetly sign up for that dev program. i wonder what the minimum requirements for the system are? if the kernel is only 100kb what the hell has mikeysoft put in thiers?
now if we all can convince them to open up the dev project this would be damn cool.. expand wine to run native nt products alongside reqular windoze apps.
-lordvdr
"Linux is not portable" - Linus Torvalds
' god damn this is one wacky game show ' ~ jay in mallrats
I haven't seen it yet, but apparently NT5 has a "single user mode" that's command line only.
--
Business. Numbers. Money. People. Computer World.
Actually, there is (WTS).
--
Business. Numbers. Money. People. Computer World.
These guys ought to put their exceptional talents to use on the WINE project, rather than re-inventing the wheel yet again. There's already an alternate Win32 implementation out there, and it's already open-source.
This is off-topic, but I kind of have a problem with your argument. Is what _you personally_ call "bigoted hate speech" any more of a flaim-bait than any other trolls we get here? Why does "bigoted hate speech" deserve a -50 where "Linux Sucks" deserves a -1? The moderation is here to clean up the trash a bit, but there is no section in the guidelines that specifies a larger penalty for political incorrectness...
Using NTFS for video? He deserved what he got. Keep in mind that NTFS was designed for increased reliability, not raw speed.
The times I've dealt with video capture on NT, I've given the capture software/hardware a raw AV scsi drive to play with... anything less really isn't worth your time unless your just fooling around.
"Great men are not always wise: neither do the aged understand judgement." Job 32:9
Inside the Native API
Inside Native Applications
Just out of curiosity, I took a look at native.exe (from the applications article) - the only dependency is on NTDLL.DLL, which weighs in at 347kb on my NT4 SP4 machine. Keep in mind that ntdetect.com, ntldr, hal.dll Though I have to admit the exports for it look a little weird... it looks like it implements a good chunk of the standard C library, and I want to know who thought exporting functions like "PropertyLengthAsVariant" were absolutely vital to the kernel...
"Great men are not always wise: neither do the aged understand judgement." Job 32:9
It may be true, but it certainly can't be running an NT compatible Win32 system. The NT microkernel is but a tiny pary of the NT kernel. The microkernel is responsible for thread scheduling, multiprocessor sync, interrupt handling and little else. The mukernel needs the other kernel mode services (large) of NT to even begin to provide a Win32 system.
This sounds a lot like saying that Linux is capable of running a web server, X windows, Netscape, Emacs, yadda-yadda, and it can fit on a floppy too. Note, not at the same time, but it can. The floppy sized piece is a small part of the whole that can do wonderful things. I'm sure that the Trumpet people rely on other kernel mode services to provide a system that can run anything at all.
To their credit though, the Trumpet people couldn't take functionality OUT of the mukernel to reduce it's size to ~100K, so that size is a result of tweaks. But then again, we don't know how large that functionally comparable piece of M$-NT is per their distribution of it.
-- What you do today will cost you a day of your life.
Microkernels are a great way to do things.
:)
I've used/developed for QNX in a real-time environment, and I was very impressed.
But, the thing to remember is that small size comes at the cost of functionality and performance. After reading your link and some of the ones from there on, I'm under the impression that beyond a bootable POSIX, browser and web server, there's not much there on that floppy. And I noticed that it uses a two stage boot process to get going. Step one bootstraps a decompressor, and step two loads the decompressed system into memory. That OS, off the floppy, is probably on the order of 4MB+...
The QNX installation I worked with included a full OS (complete with those bells and whistles like grep, awk and vi), the full Photon windowing system (not just the GUI support for the browser) the developer support for TCP/IP, and Photon, and a nuts-to-the-wall C/C++ compiler from Watcom.
The install was about 100MB+, and still wouldn't run Quake.:) It's nice to have a 45K mukernel, but it is more important to have the code for the whole system efficient and fast. Even if the mukernel is half a meg, it must be fast before anything else - except where size trully matters, like on a satellite.
-- What you do today will cost you a day of your life.
By that same logic, the linux kernel is equal to the size of /vmlinuz + `find / -follow -name "*.so"`. I'm not even going to attempt to figure out how huge that would be. The nt kernel itself is quite small I think. It should be atleast as it's a microkernel. Also, small is not always equal to good. The MS-DOS "kernel" is something like 10k. It's a peice of crap though.
-matt
This would be great, another Desktop OS. If I were them I would keep it as different from BeOS
System X and windows as possible. Maybe create a 3D desktop as the standard? that would be neato.
Microsoft aggravates my tourettes syndrome.
A ZUI? cool got any links?
Microsoft aggravates my tourettes syndrome.
.. and MAN do they have no clue!
They are also an ISP and they charge AU$5/hr (US$3) !!!
All their products have crappy win3.1 interfaces, and sure they might have been good a while back, but these guys don't have what it takes to make this OS work...
my 2c.
What you have just described is a GUI program going down -- not the GUI. If you can get to the task manager or some other GUI application, the GUI is most certainly not dead.
When NT locks up, but you can still reach the machine via the network, you will know what the person was talking about.
When this happens, you will need a reboot.
Most of the times I have seen this occur have been due to bad video drivers. If you are setting up an NT server, spend the extra money to get a good name brand video card (and probably avoid Hercules) that is not too recent (so the drivers have had time to mature).
Of course, I am sure there are other things that will cause the GUI to freeze, but this will prevent a lot of those cases.
That probably includes debugging code since it's a beta release.
If anyone is interested in learning about the NT kernel go to www.sysinternals.com. Learn more about our enemy....
Xfree86 should be easy to paste on.
My other Slashdot ID is much lower.
Kernel32.dll is ~ 700Kb in size. Hal.dll for x86 is ~90Kb. On W2K beta 3 at any rate.
--Shoeboy
It wouldn't be a true NT clone unless it crashed 3 times a day, and cost more than a typical family car to keep running.
Bowie J. Poag
This whole, "NT crashes 3 times a day" vs "my NT box hasn't crashed in 60 years" debate is quite silly. Obviously NT is going to be reasonably stable if all you do is use it to browse the web. Try running a dynamic site with IIS and SQLserver and see how often you need to reboot (and I mean a loaded server, not one on your own personal network to organize your cd collection). Of course, some rabit NT fan will dispute this, but there are rabid linux fans too, and rabid amiga fans, and mac fans, ad nausuem.
Let's send his "excited" lawyers off to Tasmania, it was the worst of the penal colonies.
Also, a few years back it was the only state in Australia where machine guns were legal. Dunno if this this still the case, but I'm sure there's still a few around in case some errant, excited lawyers turn up...
OK, we all agree that microkernels make for simple, robust, flexible systems but you can't measure that objectively. So, magazines and reviewers measure speed (or feature lists - hence bloat).
W95 was faster the NT3.5, particularly the GUI, so all the GUI stuff migrates to the kernel. So does all the other junk.
Another example is the web. If we put HTTP in the kernel, such as a loadable driver, it'll run faster, IBM's doing that on AIX with a couple of GB of kernel-based cache to serve up static pages faster.
So, would consumers buy or even download and install this new OS if all it did was run Windows programs 5% slower w/o crashing?
Only if they plan on booting Windows 9x or the like. There is a free program to allow DOS to read NTFS partitions if need be.
-Willy Bobo
-- Bryan
No, not troll.
Humour. Sarcasm. Funny.
Laugh, man! Get a life!
--
- Sean
It's a fine line between trolling and karma-whoring... and I think I just crossed it.
- Sean
According to the "conventional wisdom" (aka: manuals published by MS), the NT Kernel consists of:
kernel32.dll
gdi32.dll
user32.dll
Exactly how far you trust that is up to you. On my (NT4) machine, those files add up to 852k.
(Just my random $.02)
--
- Sean
It's a fine line between trolling and karma-whoring... and I think I just crossed it.
- Sean
I've never met an X11 problem that Ctrl-Alt-BkSpc didn't solve :-)
...and even those are rare...
--
- Sean
It's a fine line between trolling and karma-whoring... and I think I just crossed it.
- Sean
Ummm... excuse me, but who ever said they had any interest at all in Open-Source?
/. that they have any interest in open sourcing / giving out their programs, or in helping the Free Un*x community...
It's quite possible they have their own interests in making this proprietary, and selling it... I seem to recall the article saying something about embedded systems... maybe that's the market they're going after for the $$...
Then again, maybe not, but don't assume that just because the article is posted here on
After all, Trumpet Winsock was shareware, and definitely proprietary...
--
- Sean
It's a fine line between trolling and karma-whoring... and I think I just crossed it.
- Sean
IBM did have a "copy" of the Windows (16 bit), and later Win32s API set in Win-OS/2. But not because they were mirroring the MS API.
Rather, the reason was that originally, IBM and Microsoft developed OS/2 jointly. Win-OS/2 is and was in fact a fully-functional direct copy of Windows itself.
When MS quit the partnership, part of the remaining agreements were that IBM had the rights to the Windows source code for a couple of more years. This allowed them to implement the Win32s API in successive versions of Win-OS/2.
But, by the time Win95 rolled around, that agreement had expired, and IBM no longer had any access to the Windows source. They did not, and never did have any interest in emulating the API, so without the source, they simply didn't include it.
It was not that they couldn't keep up with the pace, but rather that it wasn't their intention to try.
--
- Sean
It's a fine line between trolling and karma-whoring... and I think I just crossed it.
- Sean
That's sort-of implemented already.
/. to filter everything out that is marked as "offensive", that would allow you greater control, rather than the current 2 options of setting it to -1 and seeing everything, including this garbage, or setting to 0 (or higher) and missing out on stuff that is perhaps offtopic, but not distasteful...
:-)
That is, I think that's what CmdrTaco had in mind with the qualitative (as opposed to quantitative) ratings (aka: "Flamebait", "Offtopic", "Troll", etc...)
There are 2 things that should be done to improve this, however.
1. There should be more categories. The fact that this was marked as "Troll" indicates that there is no category such as "offensive". Perhaps (probably), posts should be able to have more than one descriptive rating applied to them (ie: this one was both offtopic and offensive).
2. You should be able to set your filter by these categories, instead of only by number. Currently, all you can do is set a numeric threshold (which is obviously set at -1). But if you could set
(Of course, then we just have to trust then moderators to categorize the posts adequately...
--
- Sean
It's a fine line between trolling and karma-whoring... and I think I just crossed it.
- Sean
Office 2000 defines the limits of Win32 compatibility, not necessarily office applications.
cpeterso
The coolest thing about this is that with a 200kb NT, it would be possible to use it as an NT emulator, making it possible to load NT device drivers under other OS's. A little linux-NT bridge could easily be built, where the drivers would get all of the NT services they expect.
This would be very helpful for getting "alternative" OS's like BeOS, Linux, MacOS, OS/2, (and now, PetrOS) etc. running on currently unsupported hardware.
-m
I have to disagree. My NT box can get quite moody and crash up to three times a day. I know exactly why, but I just deal with it. The problem is sketchy hardware with even more sketchy drivers. If you want to see a BSOD every few hours, get the most generic A3D Vortex soundcard you can find. Then, get a G200 and Rainbow Runner and install the latest drivers that support the Rainbow Runner. And maybe throw in a realtek 8139-based NIC. You're dead in the water.
I'll start up winquake and crash somewhere between three and fifteen minutes in to a game. Reboot into Linux and play for hours.
Sure, a brand new Dell Precision or Poweredge may be rock solid under NT, but "real world" PCs aren't.
-Chris
Check out some _commercial_ unices, which _don't_ keep their kernels compressed like Linux - you'll be in about the same ballpark as NT's kernel booted - between 1.5MB and 3.5MB. Are _these_ slow and bloated? Kernel size measures _nothing_ (except maybe how small a system you could comfortably use on a stripped-down system).
What rock have you been living under? Gnu C++ has been around for quite a while now. Not only is there g++ 2.8 which supports all the latest ansi stuff like templates and exceptions but there is even egcs - the competing derivative version.
There is no reason that you can't do OO on unix. Perhaps many of the commercial vendors are stuck with C and procedural programming but that's because they're dinosaurs and slowly dying. Here in the Free World we have a plethora of OO development environments to choose from. True, many projects are still written in C, but that's a matter of personal choice as many people simply don't like C++ and none of the alternatives (objC, Java, perl/python) seem applicable so they use C. A good example is gtk+. It's design is very much OO, using an object system hacked together from macros and typecasts. But that base has allowed other people to implement language bindings for many truly OO languages.
If you want exposure to the cutting edge, I suggest you check out languages like Perl, Python, and Java. Python and Java enforce a strict OO methodology and employ many of the latest language features and ideas in a cross platform manner.
If you've found the cutting edge within the microsoft realm and are happy with that, good for you. Personally I could never stand being tied to windows.
Doh ! do they run the same services ? Had IIS pissed memory everywhere. Had they been up the same mount of time HEH not even worth the effort you put in !
I find that I'm quite productive with Office. Much more so than anything I've seen in Linux.
The Visual Basic macro language increases my productivity quite a bit!
Most of these problems are device driver related. I've fixed many an unstable NT system by searching for updated drivers. NIC and Video card drivers especially. I really laugh at so called "servers" that have 3D graphics accelerators in them. Those companies position their drivers to play games quickly, not for stability. The bad part is unfortunately, some of the offending drivers are on the NT CD-ROM, and often even the top drawer companies seem to have trouble with this.
Of course, with the free software community, a problem like that would be publicized instead of buried. I've yet to see the docs for one of these updated drivers actually admit to the problem.
Dave Williams
Sounds good, and a little bit like COS, the MacOS 8 alternative by Omega GmbH, Vapourware par excellence.
see http://www.agemo.de
sub sarcasm { ...and of course NTip won't work for crap for the first two years it's out...and just when it becomes to mature and be functional they will change it and go through the whole process all over...sheesh...yeah NT is soooo advanced..that's why it doesn't scale for crap...yeah...can you say Sun Solaris...bah";
"Yeah...uh...so how's that IPV6 support coming along ? Oh..I know...they are going to come out with their own, slightly different protocol... call it NTip... and talk about how innovative they are...while only allowing other MS boxes to connect to each other..thus promoting the growth of technology
}
print sarcasm;
I think that this is encouraged by the lack of free/cheap C++ dev environments Huh? Ever heard of gcc/egcs/g++ and libstdc++? What about c++ development on Win32 Systems? How much does Visual C++ 6.0 cost? (Pro version, which is required to distribute applications, is $250!) How about non-MS compilers? Turbo C++? KAI? They all cost $$$ too! The ONLY free/cheap C++ compiler that I've ever seen is gcc/egcs/g++. And it, frankly, kicks butt! I do agree that (apparently) most (binary) application programming (actually, there may be more Perl scripting done than anything else...) for Linux is in C, but I doubt that lack of C++ development tools is any real contributing factor; after all, these tools come standard with any distribution of Linux I've ever seen. As do IDEs (XEmacs, SNiFF+, etc.) and debuggers (gdb, ddd, etc.). Now, you want to talk about application development in NT? What a pain in the butt! Where is a decent shell? (Well, there's bash - another GNU tool) Where are free IDEs? (there's NTEmacs - another GNU-derived tool) How do you search through code for instances of keywords/functions/variables quickly and easily across source files? (Well, there's grep - yet another gnu tool) What about a decent TEXT EDITOR, for goodness' sake? (Come on, word pad and note pad SUCK! gvim for win32 is the only decent, fast, powerful text editor I've seen for win32. WinNT is such an unfriendly development environment, it really surprises me that C++ programmers even tolerate it. I can expect that people get used to having bad tools and support, but I don't understand why you are DEFENDING M$'s development environment and saying it's cheap/free....
---------The early bird gets the worm, but the second mouse gets the cheese.
From the Windows NT Workstation homepage : "Pentium or faster processor 16 MB of memory (RAM); 32 MB recommended"
I'm sure "SlashdotMedia" will improve on all the wonders that Dice Holdings blessed us all with
I don't know what kind of ad rotation this page has, but I reloaded the page twice and got the same IBM "a lot of stuff is hagning on your network... blabla" add, with this weird "swosh swosh" sound, then the IBM TV add song.
I don't know what it is that makes advertizers think that they can pump irritating sound in my face (in addition to taking up my computers only wave out resource). I had to view the source (and then cut and paste it to notepad beacuse it didn't fit on the page)
god!
ok now to read the artical...
_
"Subtle mind control? Why do all these HTML buttons say 'Submit' ?"
ReadThe ReflectionEngine, a cyberpunk style n
unless moderated up
_
"Subtle mind control? Why do all these HTML buttons say 'Submit' ?"
ReadThe ReflectionEngine, a cyberpunk style n
I take it you've never used Visual C++, it can do all the things you talk about and a *lot* more, sure it costs $250, but that isn't *really* that much, and a student edition only costs $99. if your going to be distributing your apps in a big way, an extra $150 isn't going to seem like much.
C++ coding is a joy in vc++ (well as much of a joy as C++ can be compared to java)
as for not using the IDE, I did some work with java, including writing an ICR client with the strait JDK, I used a shareware program called 'text pad', and the good old MS-DOS edit. both worked pretty well, and had 'search and replace' cpabilitys.
Iv'e only done strait C a few times in my life, and I never plan to again. I'm sure i *could* do it... but i would probably end up shooting myself in the head first...
_
"Subtle mind control? Why do all these HTML buttons say 'Submit' ?"
ReadThe ReflectionEngine, a cyberpunk style n
um, I don't know what planet your from, but here on earth the win32 api has been published... how do you think people write windows programs?
_
"Subtle mind control? Why do all these HTML buttons say 'Submit' ?"
ReadThe ReflectionEngine, a cyberpunk style n
One time I was looking through these posts and I saw a post that was -5, it was bold and said "hate speach, racism, etc" although I've never seen an option to set that in any moderator setings.
I guess only one of the ops can change that....
_
"Subtle mind control? Why do all these HTML buttons say 'Submit' ?"
ReadThe ReflectionEngine, a cyberpunk style n
There is a difference. People don't use Nt Server and Linux for playing games and word processing, they use desktop OS's like Windows 95/98, BeOS, and MacOS.
Interesting you mention man aio.
I have been trying to test this under Linux to no avail. I have a simple C proggy:
#include
#include
#include
#include
#include
int ok = 0;
void io_handler(int signum)
ok = 1;
void main()
struct aiocb cb;
int fd, retval;
char buf[50];
struct sigevent sigev;
signal(SIGIO, io_handler);
fd = open("test", O_RDONLY);
sigev.sigev_notify = SIGEV_SIGNAL;
sigev.sigev_signo = SIGIO;
cb.aio_fildes = fd;
cb.aio_buf = buf;
cb.aio_nbytes = 15;
cb.aio_sigevent.sigev_notify = SIGEV_SIGNAL;
cb.aio_sigevent.sigev_signo = SIGIO;
fprintf(stderr, "here\n");
aio_read(&cb);
fprintf(stderr, "here\n");
while (!ok) {
fprintf(stderr, "waiting...\n");
sleep(5);
}
fprintf(stderr, "retreived data: %s\n", buf);
}
Works fine under Slowlaris and Irix, but Linux doesn't get the signal. Any ideas? I'd love to believe that Linux supports Async I/O, but I need to prove it to myself first.
Cheers!
DAMN HTML interpreting ' and '>'. Here is the insides of the include brackets:
stdio.h
sys/types.h
fcntl.h
aio.h
signal.h
In that order.
I am refering to functions like :
...)
DebugActiveProcess(), WaitForDebugEvent(), CreateProcess(... DEBUG_PROCESS
and also functions that manipulate other processes like:
VirtualAllocEx(), VirtualProctectEx()
Even stuff for your own process is missing, like GetThreadContext, and SetThreadContext.
All of these functions were missing last time I checked.
-- Virtual Windows Project
While I think they are heading in the right direction, it doesn't sound like they have gotten very far according to the article. Thus far they have only run a command-line program that uses very few system calls (the Borland compiler). Consider what is needed by a compiler:
CreateFile, CloseHandle, etc. - Minimal file operations
VirtualAlloc, GlobalAlloc, etc - Minimal memory management
Plus a half a dozen misc functions. They state in the article that they haven't even started on the GUI, perhaps the hardest part. You can't just clone a few bits kernel32.dll and winnt.dll and say you have a windows clone. They also make no mention of how they plan to implement DDK which, IMO, would be the whole point of making a windows clone. Without device drivers what good is an OS?
The WINE project is *way* beyond this. Also WINE benefits tremendously by having a linux core and thus a solid device driver base behind it. Having said that, there are 2 problems with Wine. The first will probably never be surmounted, and that it will never be able support hardware that has win32 only drivers, and many of the APIs Microsoft has developed don't exist under linux so even if someone was willing and able to port, they couldn't. Take Direct3d for example. The best you could hope is to make a D3D->GL layer inside WINE, but it's not a very good mapping. Then there are weirder things like : CryptoAPI, Telephony API, etc.. where there is nothing at all like it under linux.
The second problem with WINE is that it is a single process solution. It makes no attempts to emulate the entire system, just the current process. This means you can't : debug a process, drag and drop, and other forms of IPC that many programs depend on. I believe this can be fixed, but will require a fairly big change to WINE.
Another project to look at that is very interesting is the FX!32 system by DEC. This system actually runs under NT, so they didn't have to write APIs except to thunk from 64->32->64. But it can run native intel binaries with very little slow down by doing dynamic code translation.
(wow, I just noticed "Linux" is not the Microsoft Spell Checker)
-- Virtual Windows Project
Red Hat Linux, i think I tried with 5.2 some time ago, won't let you install with less than 5mb ram either, but if you've got the software on the system in some way or another, it will run (although very slowly) with 4mb or even less.
-- close but no sig
Er, that's showing that the COMMUTATIVE property doesn't always apply, not the additive property.
(sigh)
http://www.bullnet.com
CPU's aren't exposed to heat any more than the astronauts themselves are.
.18 microns) the CPU's are more fragile and susceptible to all kinds of failures.
The heat generated by atmospheric friction during a Mach 25 reentry would slag ANY CPU if it were explosed to it.
Older CPU's are used because the circuits are larger and less susceptible to damage by cosmic rays. As the build sizes go down (.25
http://www.bullnet.com
Please, let's can the slashdot FUD, and compare apples to apples.
Slashdot - News for Herds. Stuff that Splatters.
Not being a serious Win32 programmer, I thought it had functions for creating a gui and components? If so, then PetrOS might have it already.
RB
Personally the FREE part really matters **a lot** to me. You may have thousands of bucks to drop on software, but I don't. Do without or use Linux. Turns out Linux is also way more fun, and way more capable.
Or am I wrong? A hayseed, perhaps? Cheap, for certain...
SYS 64738 NO CARRIER
Anyone who can't get a simple NT box working with a relative degree of stability probably should probably keep to Sega or Etch-A-Sketch something, because they have no clue. I've worked with a number of OS'es (Win32, Linux, Mac, etc.) for the last five years now, and NT is really no more crash-prone than the rest (save AIX and Solaris). Indeed, I'd rate it well above MacOS and some others. If it's crashing thrice daily for you, it's probably time to get off your ass and install a Service Pack (psst, don't tell anyone, but they're up to 5 now) or upgrade beyond 24MB of memory. I ran NT Server 4.0 on a Dell OptiPlex GXpro 200 for well over two years, and it crashed maybe four times during that period, two of them because of a crappy Jaz drive. One crash per six months hardly seems cataclysmic. As for cost of operation, aside from an old Voodoo Graphics board I got for free, I don't think I put any parts or special effort into that box.
I'm all for a little harmless overstatement while trying to make a point, but this is just dumb.
Hello people of the world! Today, in my basement me and my company Vapor inc. have created a fully modern operating system called cos. It runs all the application that have ever existed at twice their original speed. It never crashes and I'm going to realease an alpha copy next month. Until then however fell free to jack up my stock price into the hundreds of dollars per share range so I can make off a rich bastard . . .
Is there any particular reason running Linux on the desktop makes one a dork? If it does everything you want it to do and does it well, there is no particular reason one shouldn't run Linux. The same argument would apply to PetrOS for that matter.
Not everyone wants/needs a fancy GUI on their desktop.
If it works in theory, try something else in practice.
lesse, the NT kernel consists of a bunch of files: kernel32.dll (9X has that and krnl386.exe) shell32.dll wsock32.dll and don't forget the GUI subsystem, as it's part of it... commdlg32.dll comctl32.dll and we still have to boot: ntldr, ntdetect.. the file sizes do add up, compared to linux...
If this is true, and is running an NT compatible Win32 system, this shows how really inefficient the coders @ Microsoft really are (or are pushed to be)...
You use CString and call yourself an OO dev?
MFC is the peice of crap that is responsible for the majority of bloat in the Win32 world... use a std::string for gods sake.
I hate it when someone does a #include when all they want is a string class and ends up adding 6 dll linkages at runtime... if win32 programmers knew what they were doing we wouldn't need splashscreens!
Unfortunatly, linux doesn't support async IO on files :(. It works fine for network sockets, but files, not yet. I hope someone fixes this soon
Now that he has become a slick Penguin, he should finally be awarded with his own OS...
I wonder what will happen in the closet
WaitForMultipleObjects
Afaik that doesn't do more than waiting for multiple objects to finish. In Unix, you could simply wait for each single one to terminate without much overhead (pthread_join).
MsgWaitForMultipleObjects
A design mistake (of Win32)
ReadFileEx/WriteFileEx
man aio
PulseEvent
You do know how to use message passing or other forms of IPC? The event functions could be easily replaced by pipes, for example.
Yes, I admit that Unix wasn't designed with multithreading in mind. In contrast, if you look at the recent standards formulated by POSIX and implemented by many vendors, you will notice that developing your application will not be limited by the API. In practice, being used to work with Microsoft "solutions" becomes a limiting factor.
The article claims that they have yet to decide
on a GUI for PetrOS. If they are having such a
hard time walking the line of copying Mickeysoft
then why don't they do something in a completely
new paradigm? How about a ZUI (zoomable user
interface) perhaps like Pad++? Mickeysoft has nothing like it and I think it has a niche with great potential. This would enable it to be
attractive not only to the "fringe," but also for those who need to see something new to remind them that all of computing is not shrink-wrapped in their desk drawer.
I wouldn't say MsgWaitForMultipleObjects is a design "mistake". It is rather an enhancement to make more functionality available to single threaded GUI applications. This extension was inserted into the API because multithreaded OLE was not available at the time, and OLE uses the message pump (well it used to, it's been a while since I examined OLE internals... :-) But don't you think that the extensive object oriented exposure and programming talent of the NT userbase is admirable? I started working on Ada systems about 1991, with serious UNIX/VAX hardware and software engineers, and moved into the Windows arena afterward (to chase a buck.) I think Windows strength, in comparison to UNIX, is that a lot of old UNIX programmers are still using malloc() and free(), fixed buffer sizes, and various programming idioms of C. I think that this is encouraged by the lack of free/cheap C++ dev environments (e.g. platform costs for Sun C++ workshop), and the fact that most free source is written in C for portability. This inevitably means that O.O. skills are less than they could be. OLE/DCOM may suck in some ways, for instance being platform specific, however the developers that have learnt and absorbed the knowledge space of DCOM have had exposure to the cutting edge of programming methodology. UNIX's main downfall is that it is a C centric culture. It is much quicker to reuse CString than to hunt down than to write C malloc() allocation/deallocation, and expose yourself to the risk of introduced bugs. This is expensive. New paradigms are needed, not just new implementations of the same old stuff.
Yes, I agree, however when writing services, this is can be too expensive.
The time when waiting for multiple events is most useful is from the master thread, when it waits for all threads to terminate, when requested, or for the next free work thread. A thread per waiting object then sort of defeats the purpose of this master "allocator" thread in the first place.
All very easy to do in Win32 too.
I know C++ on UNIX possible.
I know G++ exists, it's a compiler not an environment.
My Microsoft compiler has shipped with STL since 1997 or so.
My Sun STILL DOES NOT HAVE IT out of the box!?
My Microsoft IDE makes runtime debugging laughably easy and quick.
$299 for the compiler is about 3 hrs salary.
I have a copy of Python running on my NT box, but I can do the same thing in VB, and it looks about 1000% better.
NT is the biggest (most number of seats) Java development platform. Furthermore, the OO skills of MS developers make it far more easy for them to migrate to Java, as opposed to crufty UNIX programmers, still free()ing that buffer string.
Just FYI, I don't defend C++ either.
I just like the quickest most efficient tool. Think of me as a commando. I'll hotwire the closest tank, because I know vehicles, heavy and small. I tell you now NT/C++/VB/MFC/(D)COM as a development environment is damn efficient and exposes the developer to high levels of radiation... oops!!! .... I means object oriented abstraction.
When I have my nightscope on, and a target appears, and I need a RAD GUI development, a quick multithreaded server development, line by line debugging into my SQL Server.... I don't reach for my K&R C programming book, I type msdev.exe with ruthless efficiency.
My big question is, why do all the UNIX programmers I meet write such crud C++?
A: Because the environment is conducive to C programming.
I nominate you for slashdot kook of the month!
So if OS/2 was (not the preterite) so good, how come you can't admit NT OS is is the dogs bollocks!?
Too hard to swallow?
OS/2 completely lacked a security subsystem, unfortunately.
Yes, I swoon whenever I lay eyes on Linux, he's so masculine!
If you look at my response, it was to a person claiming that the NT kernel and O.S. was crap and I was just informing them that this is not the case, that it has many of the best features of OS/2 (which have been ripped off admittedly), but make it a wet dream to program sophisticated multithreaded apps in, and develop client and server apps in general.
Listen OS/2 should have won.
But IBM weren't good business managers for the product.
It's a pity.
Some people's Linux boxes crash, some people's NT boxes crash. My machine here, I haven't seen it blue screen or hang for the nine months I've been at this site.
So what is your point exactly?
You claim that Microsoft release certain things which destabilise the system. Doesn't this happen with Linux as well, for instance the latest version of the kernel? So do we all say linux crashes all the time? No.
NT crashes all the time does it?
Bullshit mate. Talk about FUD, you are a verifiable kook.
By your wobbly reasoning NT and thus UNIX/LINUX is flawed because the security subsystem on any of these operating systems cannot be uninstalled.
You claim this property of an OS is a demonstration of lack of scalability. "UNIX == not scalable" if you follow your logical argument.
I hope they don't have you writing very complicated boolean logic in any of your programs dude. It could be dangerous.
Try implementing some applications using some of the extensive multithread APIs in the NT OS, such as
WaitForMultipleObjects
MsgWaitForMultipleObjects
ReadFileEx/WriteFileEx (async i/o)
PulseEvent (some of the event stuff is really cool)
and then come back and feel embarrassed for being an ignorant Linux would be all your life.
The applications may or may not be poor in your opinion. However the OS is fantastic. Some subsections of it are problematic (I don't like the registry as a device for instance, and it's support for multiple consoles is poor, and networked GUI), however the core of the OS is amazingly well thoughtout and designed by experienced software engineers.
Cheers
On this NT4(sp3) machine, Kernel32 is 363kb - easily floppy sized eh? winnt/system32/ is 101mb though. Much of this is unused/out of date junk... but it's still a hell of a lot more than 363kb.
;)
...Student, Artist, Techie - Geek *
You cannot even get close to being as functional as a full NT system on a 100kb kernel. Not that I'm saying NT is particularly functional or anything
Mong.
* Paul Madley
*...Slacker, Artist, Techie - Geek *
Remember: Nothing is Cool.
knowing bill, he'll find a way to buy it, and then try to pass it off as windows 2000.
There are more than 1000 functions in the native API (ntoskrnl.exe + hal.dll are the modified microkernel). A minimum part is available to user mode via ntdll.dll. Unfortunately less than 10 per cent are documented by MS.
There is also a GPL'ed implementation of that microkernel: its name is ReactOS. It is planned a Win32 server on top of it and probably a POSIX+ one in the future. This project borrows some code from Wine. You can download the pre-alpha code (no GUI yet!) from www.reactos.com.
If you are looking for a good start on an NT Clone which is open source, look at ReactOS:
www.reactos.com
It sounds like they are about as far along as the folks at Trumpet doing with PetrOS, and is 100% open source and GPL. ReactOS is also borrowing quite a bit from WINE, but trying to make a full operating system rather than just a LINUX shell.
The claim has not been made. I have a small subset of Win32 available to interface things. It uses COFF executable format, and there is not resemblance to NT driver structure whatsoever.
The rest has really been the result of the press. All I have said is that it could be likened unto an NT lite. It is a 32 bit OS that does away with the DOS layer, but has the potential to have similar characteristics to NT.
The only similarities to NT are...
1) the kernel and drivers are COFF executables.
2) there is a Win32 layer using DLLs.
Apart from that, there's nothing that can indicate that it is a rip off of NT. Indeed I adopt a completely different driver architecture to NT or Windows 3.x, Windows 4.x. (Windows 9x)
This is a downside in that NT drivers won't work as some people were curiously postulating.
As the OS has been designed from first principles, there are a multitude of API's that it could run, and this is its true potential.
One possible API that has been given serious thought to within the company is to have a native Java API built into it as close to the kernel as possible. The Win32 layer could then interface or coexist with this Java layer.
There are however some concerns about Java as a framework. The first one is that the Java architecture cannot fully represent the complete set of solutions to a given programming problem, and the second is that considerable resources need to be expended to get equivalent Java code executing at roughly the same speed as native C++ or Pascal code. Another concern I have is that I believe the garbage collection (GC) model used by Java will interact badly with the virtual paging mechanism. There are flaws in the GC model of Java that make it a challenge to write a truly well defined Java Virtual Machine (JVM). This may however be only be a feature of some of the earlier implementations of Java virtual machines.
Regardless, I have done some preliminary work on a just-in-time JVM for PetrOS. I am aware of the work of the ElectricalFire project, and this may be a short term solution to getting a working GUI operational if we can provide just enough framework for a Java GUI to operate.
But certainly, I want to reiterate that we are not wanting to supplant NT or whatever, but rather our strategy is to coexist in the marketplace with all other operating systems, and neither are we making claims that we are or will be NT compatible.
Uh, you don't need to use the built in compression... it's off by default.