Trumpet Software is mostly known for their Internet communications software package, Trumpet Winsock, which has been adopted by the Internet world back in 1995, at the times where Windows 3.1 and Win95 did not come as standard with full internet connetion capabilities. But the main product these days for Trumpet Software is PetrOS, a 32-bit Operating System, which has the goal to be compatible by all means with Microsoft Windows. We are interviewing the main architect behind the project, Peter Tattam, who talks in depth about PetrOS, and also we feature a world exclusive first screenshot of the PetrOS GUI, a GUI which is still under heavy development.1. What is the goal of PetrOS? Is it destined for the embedded market, desktop market or pure research?
Peter Tattam: Mainly heading for the desktop market. Despite the general pessimism in the open source community towards targeting the desktop market, the overwhelming response I get from many windows users is that they wished they had something better without having to pay big big bucks. Occasionally in history one needs a better “wheel”. We’re well aware of the dominance by the key player in this market – we just want to coexist, not supplant.
It’s also a good candidate for the embedded market because it boots quickly (less than 5 seconds to bring up the test GUI from the time the bios hands over to the boot loader) and it has a small footprint ( runs in < 4 meg). it might be ok if they a i386 based, but we don't have anyhting for ARM or the other processors in that market. Also the market is crowded there with many players trying to make their mark, and they have a strong head start on us. Time will tell if we can do much there.
I’m also targetting servers since we’ve put a lot of time into remote management functionality. It’s kind of cool to be able to deploy a win32 based server that doesn’t need a lot of resources and which you can telnet into and
manage remotely – we plan to extend that to remote GUI functionalty too. Also keeping the kernel footprint small offers performance benefits since you can likely squeeze a large chunk of the kernel working set into L2 cache. For a server doing an ASP, low kernel overhead will likely be important.
At a suitable time in the future, we will use the platform for research into clustering, remote access, ASPing and maybe AI. I keep a close eye on 64 bit processor developments and would like to bring out a x86-64 version of PetrOS as soon as is practical.
2. One of the features found on PetrOS is compatibility with the WindowsNT drivers API. Tell us about the achievements so far.
Peter Tattam: I would have to correct the question here. We are maintaining Win32 compatibility, but not Windows NT driver compatibility. This means we are attempting to be compatible at the Windows application layer. We have much of kernel32.dll implemented. Maintaining WinNT driver compatibilty could place undue restrictions on kernel design which we want to avoid. One issue that all OS developers face though is getting enough drivers for their OS. It has been suggested that we could gain something by having a driver compatibilty layer with NT drivers. I’m not sure but it’s something for us to consider.
3. What kind of GUI PetrOS has? Is there a research going on for a different kind of GUI, or it will be a “traditional” kind of GUI where users may found their way around easier?
Peter Tattam: Very much a work in progress. Because of the market we are targetting, a traditional desktop is what will be expected so that’s our priority. However we are open to alternative GUIs and desktops. As an example of alternatives, I was able to bring up the Qube desktop using PetrOS’ DOS compatibilty – this using direct VESA emulated functionality and running over PetrOS’ DPMI service.
To aid developers who might want to develop a GUI in parallel with our own, I plan to release a DLL and API in the next release (end of Sept) to allow third parties access to a VESA based virtual graphics plane. The mouse, keyboard and other regular stuff will be visible either through kernel32.dll or other private PetrOS API’s. This should be enough for some of the experimental GUIs to be ported to PetrOS – something we don’t have time to do.
4. What is the current roadmap and schedule? What plans are there for filesystem addons and maybe a posix layer?
Peter Tattam: Our current schedule is to have a usable Win32 GUI working by the end of the year.
We already currently do FAT12, FAT16 and FAT32 drives using IDE, and have two installable file system drivers written, one for SMB to any TCP based SMB file server, and the other a very lightweight FS protocol I’ve dubbed “PNFS” which I hacked together for development reasons. I use the latter for development by running a Win32 based server on any windows machine close by & I have a small dos TSR which does a regular dos fs redirector in addition to the native PetrOS driver. I’ve done preliminary work on NTFS & could have a read-only driver ready within a month. An ATAPI driver is under construction and that will be used as a basis for reading CD’s.
A posix layer is something which is very low priority. Doing so would risk PetrOS being seen as yet another Unix which we are really wanting to avoid. However another parallel stream is for us to get CYGWIN running over PetrOS
which would provide at least some kind of posix interface. I’m certain that once enough of the Win32 API is done, CYCWIN will run and provide that level of functionality.
I might add that a GUI doesn’t make an OS, it’s what’s under it that counts, and that’s where we’ve been concentrating our efforts. If we get the lower layers right the end user’s experience of computing should be much better. I’d like to think that BSODs would be a thing of the past.
5. Will PetrOS be able to run Windows binaries unmodified or a compilation and maybe a “light” porting is required?
Peter Tattam: Windows binary compatibility for Win32 is a primary goal. We are being practical here – we’re not trying to reinvent the wheel – there’s thousands of users out there who wished they had a choice but they don’t. I don’t need to infer much more than that 🙂 The reality is that it’s no point us writing a brand new API & hoping everyone will switch to it – it aint gonna happen. Sticking with the PE file format which Win32 uses still allows us the ability to write alternative smaller APIs than Win32 and there may be a market for that kind of thing still. Other native EXE file formats could be supported by add-ons. PetrOS has been designed with that in mind.
6. What the plans are for self hosting development tools?
Peter Tattam: If we’re successful with win32 compatibility, a wide range of development tools would come on line quickly as a result. I can currently run the Delphi 3.0 command line compiler and many other CLI Borland development tools directly in PetrOS so we are a fair way there already. I can even run Borland’s BP 7.0 under PetrOS DOS compatibility. Much of PetrOS is done with our in-house object Pascal compiler, and we will release these tools as standard with the OS at a later date. We need to use our own compiler as there aren’t many tools
that allow an object oriented approach to interfacing drivers to the kernel (especially in Object Pascal :).
7. Are there plans to add a web browser on PetrOS?
Peter Tattam: Of course, but we need to do the GUI first. There are a few Delphi based HTTP controls that might form a basis for this and we’ve done a bit of testing already to see what’s required. Ideally we could eventually run Netscape, IE or Opera natively from PetrOS, but programs of this size may not fit into one of our goals of having rapid starting system. There’s a chance that we might make the desktop the browser if practical.
The fundamental design concept behind PetrOS is that “small is beautiful”. A browser to match that philosophy is what we’d be working towards.
Why would they waste their time on a 32 bits, when everyone else is pushing for 64 bits? Oh well… good luck!!!
Maybe because the project started years ago, when there was no 64-bits Itanium available at the time? And also maybe becsause Intel plans to keep the 32bit x86 still available for sale for the next 4-5 years?
Good point I guess:-) Good luck with your trip to France and the wedding… break a leg! (or is that showbiz?) Well either way congrats or félicitations as they say in French!!
this is a very promising project which i have been following for some time now. they seem to be working at the correct pace and have reasonable expectations. good luck and to hell with all the nay-sayers.
>Good luck with your trip to France and the wedding…
Great Article, its really great that some one is thinking of a rock solid alternative or complement to Windows. You think Microsoft will let these guys survive. I hope so, and i would like to book a copy in advance. Hope you guys make it.
For some reason it has become popular to bash Pascal. Well The C++ hype came and went, the Java hype came and went, and Object Pascal is still here working, getting the job done.
Well you can tell I am biased.
I don’t know how pascal became a topic, but I’ll add that pascal is a lot more human readable than C-based syntaxes. To make C legible you have to follow strict formatting rules so tabbing serves as the grouping guide. With begin and end, it’s a lot easier to read without such tabbing rules.
The article mentions that they are writting their os in Object Pascal. They are using their own compiler but making sure they are compatible with Delphi/Kylix.
I thought it was cool that Pascal will get to show off how good it can be.
If you really want to be amazed go download Kylix for Linux. Its free to use if you only want to write GPL aps. The Borland Object Pascal compiler compiles at 4 million lines per second.
what is the Qube desktop that was mentioned? I wondered if it was related to the Cobalt Cube, but it sounds like a description of something else.
Xanthoes, you should read this page more carefull. Some days before there was an article about Qube.
Why doesn’t AOL fund the hell out of PetrOS, buy Gateway, and ship the AOL Gateway PC with built-in AOL? Pick a hardware configuration that complements PetrOS, and extend the AOL interface out to encompass the user’s documents and local applications. The user could download pre-tested applications direct from AOL, guaranteeing that they work, and that they’re virus-free (key selling point of the whole box, too). These are Windows and DOS apps, though, so it wouldn’t take long for software developers to want to maintain both Microsoft and AOL compatibility with their Windows applications, and make AOL’s testing very easy. It’s enough these days for many users just to get a decent suite of apps with the box and just have some support for the box to patch itself. AOL can just buy the apps it needs for key tasks that home users want and include them. The advantage is that “porting” overhead is almost eliminated … you just have to keep PetrOS’ support of the Win32 API up-to-date.
You can make up for a lot of missing features with really heavy integration. A slow box with really good software integration can seem to be much faster than a really fast box with poor software holding you back at every turn.
This would also be a good way for Gateway themselves to stand out from the crowd.
The problem with Linux is that it’s never going to take over the desktop unless it becomes 100% Windows compatible. Users (especially in a home and office environment) want to be able to switch from Windows to another OS with a minimum amount of fuss, and they want to be able to start using the new OS immediately. OS Initiatives like this is what is needed to provided a decent competitor to Microsoft.
Just make sure .NET doesn’t catch you out!
“we just want to coexist, not supplant.”
Does guy don’t know about Jean-Louis Gassé.
Xanthoes: http://www.osnews.com/story.php?news_id=75“>This is.
When will these companies ever learn that a desktop OS doesn’t make financial sense??
FACT 1: Although windows isn’t perfect, it’s getting better and is fine for most people.
FACT 2: For the geeks that don’t want to use windows (me included , there’s always linux. Not ready for the average joe but great for developers.
FACT 3: People with special tasks (ie multimedia) chose systems like the MacOS or the late BeOS
There has to be some compelling reason for users to switch OSes. No user (aside from a handful of curious geeks) is going to say, “Yeah I’m gonna go through the hassle of switching OSes just so I can boot up 2 seconds faster and run all the apps I use now but with more problems!”
What’s the point of running an OS that is exactly like windows? They will never achieve 100% application compatibility. Windows will always run its native applications with less problems.
Call me a naysayer if you want but I guarantee you that nothing significant will come out of this project. Programming a new OS would be highly interesting for the developers (I’m considering it myself) but expecting to make money from it is absurd.
To the guys at Trumpet, thx for Trumpet Winsock, it was the saviour on good old Win 3.1 but please reconsider this madness before the company is driven into the ground.
Why does anyone worry about Trumpet’s financial health? After Win 95 included a TCP/IP stack, everyone thought Trumpet would go under. But somehow Peter is still here, coding up a storm. Why should you worry about his financial standing if he’s not? Just let him code! And be happy that some people don’t fret and just do what they want to do.
I am curious, how much code from the wine project did you review prior to coding?
I came to this article out of interest ( Trumpet Software is just over the river from me here in Hobart, so I better not be rude about them directly, lest I need a job one day… )
Someone here was hyping up Object Pascal and suggested the C++ hype has come and gone. Wake up !!! The biggest selling OS in the world is written in C and most of the programs it runs that people buy are in C++. C++ users grow in number every year, is this true of Pascal ( not people who learn it at school, people who *use* it ). Even the Trumpnet site basically says they use Pascal because they like it and it’s *almost* as good as C++.
I’m proud of these guys – you’ve gotta have serious balls to write a Win32 compatible windowing system in *Pascal*. But what’s the point? Why bother? At the end of the day, which would you rather use, Windows itself, or this?
I’m not saying the guys who wrote this didn’t do a good job, it’s just that nobody’s going to use it! (Personally, I think your time would be better spent helping out with KDE or Gnome or something.) Good luck anyways.
“… Someone here was hyping up Object Pascal and suggested the C++ hype has come and gone. Wake up !!! The biggest selling OS in the world is written in C and most of the programs it runs that people buy are in C++. C++ users grow in number every year, is this true of Pascal ( not people who learn it at school, people who *use* it ). Even the Trumpnet site basically says they use Pascal because they like it and it’s *almost* as good as C++ …”
I’ve programmed extensively in both C++ and Delphi, and I can ensure you that the programming experience in Delphi was a lot more pleasurable to me than any experience I ever had in C++. You should try it before you slam it. Development speed in Delphi compared to C++ for an application with the same design is higher. Why? Mostly because Delphi comes with a COMPLETE set of object libraries, not just a template library and some header files wrapping around the OS services. (Granted, Visual C++ doen’t do that bad in this respect either, but then Visual C++ isn’t really C++, just some hideously deformed version of it.) And also because Delphi has just about the best IDE I ever came across. Having said that, I still program in C++, because there is no open source delphi compiler (there are object pascal compilers, but then you have to give up the superb object libraries).
The reason it’s little used is because they don’t teach it in schools, and people usually end up programming in the first language they were tought.
And now to get back on-topic. I find this PetrOS effort very laudable, but it’ll never be able to take over a significant part of the desktop space, because it won’t be able to run Office. Okay, so maybe it will, but never legally. MS already forbids in their licenses to run it on anything else than the intended operating system, so companies could never use this to run MS apps (and I suppose most MS supportive software makers, like adobe, will put identical claims in their licenses, if they’re not in there already). The home desktop market is fine, but mostly irrelevant. It’s the company desktop you need to conquer if you want to make sure that the server choice is guaranteed into the future.
Good luck guys, I admire those with skill to write OS’s. I tried this about ten years ago, it ain’t easy.
Why do people write OS’s, probably the same reason people try to climb Everset or K2.
But how many times must the wheel be re-invented before you realise the wheel is still round!
I don’t think the target audience is the Win or Linux users, MS is having trouble convincing its own users to upgrade.
I think it’s the 5+ billion users that don’t own a PC yet that should be targeted, those in schools and colleges, the uneducated!
Microsoft are from a predatory and ruthless background, they WILL protect that which is valuable and destroy or at best ignore that which is competition.
Good luck to PetrOS, a new OS that can run the thousands of apps already there, nice combo.
Heh have you seen the Internet Access charges that Trumpet’s ISP levy in Tasmania?? heh. Dunno if they have changed recently but with a few hundred subscribers you could fund a small army of programmers
Thank god i live in the UK
…..in creating a stable clone of Windows, if you are going to run buggy software (IE, Netscape, etc, etc) or bloatware on it?
What I want is Windows cheap. I want to pay <=$50 for copy. I believe most users would. So if Petros gives me that I’ll use Petros. And if MS wants to put the nail in the coffin of every alternative OS out there, just drop the price. What a lot of developers really don’t get is that a computer is a means, not an end, to most users. They want to walk up, use it, forget about it. That’s it. M$ understands that. And I think Petros does too. Good luck and here’s a marketing strategy … don’t wait for me to download it, email me a copy just when M$ releases their next version and I’m looking at an upgrade anyways 🙂
Cool! I think I will add this to my list of OSes to look at/install this week! Nice interview…
Local ISP’s are dead in Hobart. They simply cannot afford to compete with the big boys and I don’t know a single person who uses one. I doubt Trumpnet has terribly many subscribers. I think they invested the money from Winsock and are living off the interest, personally.
Whoever it was who is rubbishing pascal is pretty narrow minded.
Here at work we use Delphi to code some business software (which I’ll leave unnamed to protect my job).
We recently signed a $50million initial contract deal and have previously signed up multiple 10s of millions of dollars in contracts and deals.
Delphi is a wonderful and powerful development environment, and object pascal is nicer to read than c or c++ actually.
just my $0.02
if you are going to run buggy software (IE,
Since when is IE buggy? It’s only the most stable browser on the market. Sheesh.
“…because it won’t be able to run Office. Okay, so maybe it will, but never legally. …”
If M$ does get broken up, this may change — and all of a sudden PetrOS becomes even more viable.