Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Microsoft

PetrOS - NT alternative? 315

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?
This discussion has been archived. No new comments can be posted.

PetrOS - NT alternative?

Comments Filter:
  • by Anonymous Coward
    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.
  • by Anonymous Coward
    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!)
  • by Anonymous Coward
    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."
  • by Anonymous Coward
    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.
  • by Anonymous Coward
    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.
  • by Anonymous Coward
    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.
  • >But they couldn't make much money if they used wine.

    They could still sell support, a la Red Hat...

    Alex Bischoff
    ---

  • 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
  • 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 ...
  • by Ami Ganguli ( 921 ) on Thursday July 08, 1999 @04:37AM (#1813519) Homepage

    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.

  • You mean like gcc -E?
  • 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.
  • 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_
  • 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..
  • GUI is easy compared to everything else.. That's like saying X Windows is the Bulk of a Unix system..
  • 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 doubt it. How would getting command line apps working on Wine encourage developers to work on Wine? There's not a single command line app that I can think of that there isn't a better Linux version of. Can you?

    Although I'd love to see _anything_ that got Wine working better than it does now - right now it's completely useless. VMWare is going to kick it's butt all over the shop.

    Matt.

    perl -e 'print scalar reverse q(\)-: ,hacker Perl another Just)'
  • by Matts ( 1628 ) on Thursday July 08, 1999 @05:30AM (#1813529) Homepage
    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.

    Matt.


    perl -e 'print scalar reverse q(\)-: ,hacker Perl another Just)'
  • 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 :)
  • A little off topic but - I've been reluctant to try quicken under wine, because I'm not sure I trust it with my finances. What are the "rough spots and missing functionality" you've come across?

    --

  • 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...
  • There are still lots of companies who havent upgraded to Windows95 or Win98. And even if only 1% of the Windows computers are running 3.x then there are still million of them that need a decent TCP/IP stack.
  • 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.
  • by AMK ( 3114 )
    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 [umd.edu], 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
    • Try implementing some applications using some of the extensive multithread APIs in the NT OS

      [API's listed]

      the core of the OS is amazingly well thoughtout and designed by experienced software engineers.

    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.

    • ...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.
    • So if OS/2 was (not the preterite) so good, how come you can't admit NT OS is is the dogs bollocks!?
    1. NT has a crappy GUI compared to OS/2
    2. NT is slower than OS/2
    3. NT is more bloated than OS/2 (perhaps its most notable accomplishment)
    4. NT is less stable than OS/2 (and everytime is gets nearly as stable, they release new brokenware)
    5. 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. ...

      So what is your point exactly?

    My point is that seeing is believing.

    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.
  • by Booker ( 6173 ) on Thursday July 08, 1999 @05:07AM (#1813548) Homepage
    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.
  • It's not that easy just to open the win32 API. It might be to the benifit of Linux x86, but it wouldn't go much farther.

    Even with Win32 APIs out there, it would be a major challenge to develop a OS from scratch. Since the Win32 APIs don't make any programs up, you would have to write a whole new desktop enviroment from sratch.

    For one, it would be usless in Mac OS X, since Mac OS X is big endian PowerPC OS [mainly], while the win32 API is are mainly oriented to little endian x86. (Yes there was a Windows NT 3.5.1 port to CHRP PowerPC [running in little endian mode] a few years back, but it failed in general, because x86 binary programs could not run on the PowerPC.

    Would it kill posix?:

    OF Course NOT. Posix is a set of APIs for *nix-like systems, designed for scalblity, power, and stablity. Win32 APIs are designed to bring Windows a stable set of 32-bit APIs. Most *nix-like OSs rely heavly on posix APIs, so they will be in use for year and years and years.

    At any rate, the main benfit of releasing win32 APIs, Windows would be more stable, faster (since everybody knew about the APIs). Also it would greatly help out projects like WINE.
  • You mean there's a multiuser mode?

    --Joe

    --
  • by psp ( 7269 )
    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.


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

  • by The G ( 7787 ) on Thursday July 08, 1999 @04:41AM (#1813556)
    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.
  • The reason he was at one is that he has registered an account. ACs start at 0, and registered users start at 1. So nobody moderated him up.

    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. :)
  • [/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.
  • Shouldn't that be PitrOS?

    mark "sorry, too much userfriendly, I s'pose..."
  • Considering the current legal difficulties Microsoft are in, I doubt (well.. it would be really stupid of them) that they would actually do what you say. It would just be another log on the fire (.. or another brick in the wall.. whatever).
  • My understaing of VMWare is:

    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.
  • Flamebait, flamebait...while I may drive a tractor, it doesn't randomly explode and kill everyone. And, as it's faster then windows, your analogy doesn't hold water.

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

  • 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

  • I haven't seen it yet, but apparently NT5 has a "single user mode" that's command line only.
    --

  • Much less troublesome than the Trumpet Winsock was the Microsoft 32-bit winsock built in to Windows for Workgroups. (It's essentially the same 32-bit networking that's built in to W95).
    --

  • My understanding is that this is a different approach than wine is taking. wine is trying to emulate the entire sprawling Win32 API, whereas this thing only emulates the "Native" WinNT kernel API.

    One can imagine a project that translates native WinNT kernel calls to POSIX/Linux API calls. (Another Poster mentioned that there are only 40 or so native API calls, so this is probably several orders of magnitude easier than emulating Win32.) Then you just get all the DLLs, etc from your "licenced" version of WinNT, and bam - Windows programs are running on Linux. The only problem I see is that the graphics wouldn't be over X, but that maybe could be solved with a Win Teminal server client approach.
    --

  • Actually, there is (WTS).
    --
  • 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...
  • 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.

    Back in the old days (before 1995), Trumpet's Windows 3.1 stack was the best thing going in the market. Even if it's been surpassed since then, it was good stuff, it fit on a floppy, and it did the job. Most, if not all of the other Win31 stacks were serious payware, less flexible, etc.

  • Heh. Just realized the completely abbreviated version of the name is POS... which I can't help but think says something about their feelings for NT.
  • 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.
  • by Samrobb ( 12731 ) on Thursday July 08, 1999 @05:58AM (#1813579) Journal
    For those interested, a couple of articles on the native NT API by Mark Russinovich:

    Inside the Native API [sysinternals.com]

    Inside Native Applications [sysinternals.com]

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

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

  • 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.
  • I wonder how much is in their distro, though. The Windows kernel is way huge, but that is only a small part of the OS. The file system, GDI, UI (which includes IE now), device drivers, etc. make up the bulk.

    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

  • 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).
  • by account_deleted ( 4530225 ) on Thursday July 08, 1999 @05:13AM (#1813612)
    Comment removed based on user account deletion
  • 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)
  • 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)...
  • NT 3.51 client or server ? because client works even on 8Mb RAM ... server ... with 12Mb RAM, told me it needs 16Mb Ram to start ... I don't know about NT4.0 ... spX ... etc etc ...
  • NT's Kernel is fine...there are no problems there. The bloat comes in at the interface and application levels, for the most part.

    That is why NT fared so well in those benchmarks against Linux...they didn't install crap like MS Office on those boxes, it really was OS vs. OS.

    As to the size of the Kernel 2MB is about right.

    As to what you can install it on ?

    I installed Windows NT Advanced Server 3.1 on a 486/33 w 8MB!!! I had to turn off networking during install, and then install networking after I had NT running...but it ran.

    I installed NT Workstation 4.0 on a Compaq P90 with 8MB. It was unusable but ran. I later upgraded that machine to a second HD which I used solely for the swap file...it was usable barely with MSoffice 95. Things were much better when I moved the machine to 24 MB and upgraded to 2MB video memory.

    I find the NT 3.5x OS to be VERY stable, much more so than pre 2.0.x Linux. NT 4 is as stable or more stable than Linux as a workstation. When something goes bad you can kill services and restart them. Just like any reasonable OS

    If the GUI goes though...you have to reboot. That said the GUI is much more stable than X/KDE or X/Gnome.

    NT is NOT as bad as Linux folk think. NT is MUCH worse than MS thinks. NT bears NO RELATION to what MS marketing says.

    NT is the best general purpose workstation available right now. I have great expectations for MacOS X. [See Mac OS Rumors [macosrumors.com] for why. if you don't already know.]

    Linux is really coming along here, way ahead of even a year ago. It'll be a while yet. I think MacOS X will give a good example of what to aim for/above in the future of Linux interfaces.

    Sun is the best enterprise server solution.

    I use Linux for small and medium business sized servers and light database applications. The availability of Oracle and IBMDB2 is making me think of using it for larger databases, maybe I'll ask the next client to try it out.

    I use Sun and Linux for special purpose workstations. I always prefer Linux for this if the application is available. (Sometimes they really want Autocad OK ?)

    I ran into a bank that needs a supercomputer, I still don't really understand thier application. I am going to try to fit the app to Beowulf.

    I know this went a bit off topic, nonetheless I hope it was thoughtful, if not neccessarily useful.

  • 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.
  • 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
  • It's common knowledge that MS is bad, and we all know that a big kernel is a bad thing. QED - simple as that.

    That said;
    "She's a witch - throw her in the river, if she floats she's a witch, if she drows, she's not!
    Well, Ducks float...
    So? So do other things... wood
    So, witches are made of wood?"

    - A summation of a Python sketch. Proving that 2+2 doesn't always equal 4. On this logic, we could say (using simple chaining methodology...) that if a: In order to know something, you must experience it (Win kernel, big), otherwise, no matter how valid the source, it is only assumed/presumed. Therefore, people are just assuming that NT has a hideous, huge kernel - when in fact it may be gorgeous and petite, with the "bloat" being caused by all the other stuff...

    Long winded I know, but I'm simple...

    Mong.

    * Paul Madley ...Student, Artist, Techie - Geek *
  • Since I happen to have (unfortunately) to work on an NT box at work, I decided to look up the exact file sizes of kernel32.dll, wsock.dll, ntldr, ntdetect, and a few others that are part of the kernel. All told, the size of the Windows NT kernel is nearly 2 megs (1730KB). Now that's huge. And slow.

    moitz: i used to be somebody
  • 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 [winehq.com]. You can download the pre-alpha code (no GUI yet!) from www.reactos.com [reactos.com].

Arithmetic is being able to count up to twenty without taking off your shoes. -- Mickey Mouse

Working...