Split(Fork) the shell from reactos

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Split(Fork) the shell from reactos

Post by Z98 »

The "harm" comes in many shapes and forms. For example, Microsoft did a security audit before introducing symbolic links to make sure that they don't inadvertently create new vectors of attack. Unless ReactOS does the same, providing support for them could open us to attack. And then there's the fact that the newer APIs tend to come in sets. For example, Microsoft added many transactional versions of functions for manipulating the registry. Implementing them is an all or nothing proposition, since if one is used a developer is almost certain to use others. That transaction support however depends on finer grained control in the lower levels of the OS which cannot be faked without risking data corruption. So if we want them, we'd need to update the entire target. And if a developer created a program that took advantage of one set of Vista+ functions, they are almost certain to be using another set as well. So retargeting has to be all or nothing and cannot be done piecemeal.

Dave3434
Posts: 323
Joined: Tue Jun 28, 2011 2:14 am

Re: Split(Fork) the shell from reactos

Post by Dave3434 »

by PurpleGurl » 27 Jan 2014 18:34

mrugiero wrote:There are already more featured solutions for Windows 8.


But many don't want "features," they want the familiar Windows interface. Many didn't want 8 in the first place, but that was the only supported drivers they had or their machine came with it.

Anyway, I thought similar as the thread topic. Our shell could be forked and made available as a stand-alone. But it seems the underlying .DLLs will be where we need the most help.

As for version targets, I don't see why we can't do things internally closer to 7 on the top side, while still being XP/2003 compatible on the bottom side. I mean, still report 2003 and keep that look and feel, etc., but have some of the newer APIs and use them privately. For that matter, I don't see why we couldn't incorporate some of 8's security and performance enhancement without breaking current compatibility. For instance, the newer OS's shuffle their libraries on the premise that a moving target is harder to hit.

Win 8 also has the ability to use the system timer in a stateless manner. It seems we could get closer to that, but only make the newer way available to our own stuff, while keeping it available the old way. Or a compromise. Just track programs that reprogram the HPET, let them have what they want when they are actively being used, and then return to standard or stateless during any other time. But this sounds more difficult, and could be a later refinement and certainly not something to tackle any time soon.

What I'd like to see more now is real hardware work. Probably about 70% of the machines (with the correct CPUs and no vendor locking) won't be able to run us without an emulator or VM. Yes, the shell work is very important, as that will be something that has to be done eventually no matter what, and it will highlight lower level problems. Being able to run pieces of ROS under 2003 or higher certainly shows we are making progress. I'd like to see the USB related hangs cleared up for good, and I'd like to see multi-core support. I've read complaints saying Wine is much faster, but I believe most of that is driver-related. Comparing ROS without drivers installed to WINE with full, up to date Linux drivers, is not a fair comparison. Any Windows version seems rather slow just out of the box. Video is usually polled I/O under those conditions, and in a mode not designed for performance (just installing and troubleshooting), and the HDD might be PIO as well. But once the correct drivers are installed, the machine seems much faster. ROS may actually be more functional just out of the box when compared to Windows. I'm pleased with the shell progress and hope to see that reach a point of completion, and I'd like to see more hardware-related work.
i perfer windows xp ui not windows 7.

Webunny
Posts: 1201
Joined: Sat Apr 28, 2012 1:30 pm

Re: Split(Fork) the shell from reactos

Post by Webunny »

Dave3434 wrote:
i perfer windows xp ui not windows 7.
But win 7 is still better than win 8. GUI/end-user wise, that is. No doubt win8 has improvements on the former Windows iteration too, but all in all...well, it just sucks.

PurpleGurl
Posts: 1788
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Split(Fork) the shell from reactos

Post by PurpleGurl »

Z98 wrote:The "harm" comes in many shapes and forms. For example, Microsoft did a security audit before introducing symbolic links to make sure that they don't inadvertently create new vectors of attack. Unless ReactOS does the same, providing support for them could open us to attack. And then there's the fact that the newer APIs tend to come in sets. For example, Microsoft added many transactional versions of functions for manipulating the registry. Implementing them is an all or nothing proposition, since if one is used a developer is almost certain to use others. That transaction support however depends on finer grained control in the lower levels of the OS which cannot be faked without risking data corruption. So if we want them, we'd need to update the entire target. And if a developer created a program that took advantage of one set of Vista+ functions, they are almost certain to be using another set as well. So retargeting has to be all or nothing and cannot be done piecemeal.
What I said about harm was a conditional statement. "If they work correctly." If something creates new attack vectors, one would have to argue if it is implemented correctly. But since we are not for everyday use as of yet, then what new attack vectors would be added?

And by adding beyond a target, I would expect that all or none of a set be added. Obviously, stuff that involves the registry or file access would have to be added in the entirety. Why open a file if you can't read it, etc? The only place where faking or emulating would work would be in display or theme-related stuff, and then only to a point (I've seen display corruption issues seen by video cards or DirectX files that are not up to standards, or like one of the more recently reported bugs).

I am sure there are some ways to be different and faster than Windows without breaking things. But still, there are some "bugs" and "design flaws" that are fairly essential for compatibility.

@Dave: As for the comment about preferring XP over 7, you can still strip 7 down to have a classic look and feel. 7 is certainly closer to XP than Vista or 8. The attitude Microsoft seems to have is that of a mother, eg., "Eat your oatmeal, and you *will* like it."

Agorima
Posts: 4
Joined: Sun Jan 26, 2014 11:57 pm

Re: Split(Fork) the shell from reactos

Post by Agorima »

PurpleGurl wrote:Again, I like the shell work, and I also think we need to make this work better on real HW. That should be a priority as it would get more interested people, testers, and bug reports. We speak of catch-22, and the thing about "not being intended for daily use" is part of the reason why. So if the deep drivers and kernel stuff were fixed, the USB code didn't hang so many machines, and HAL did a better job of making up for differences in PC variations, there would be more people available to iron out the shell and other things. When it gets that far, a good updater would be nice. That way, those who have dual boot and stuff and already have ROS installed can try newer versions and subversions without reinstalling. It seems we need to make things more friendly for testers.
You're right.

ReactOS is not a bad project, absolutely.
But before even thinking of put it out of the alpha stage and get ready to be used and tested on many PCs (including mine), it should be MUCH more stable than it is today.

I mean, it should React as a real NT kernel, not as a 9x kernel.
When a program stops installing or working, it should not cause a BSOD and take away the entire system.
It is somewhat frightening to see a blue screen when starting Word 2000.

erkinalp
Posts: 859
Joined: Sat Dec 20, 2008 5:55 pm
Location: Izmir, TR

Re: Split(Fork) the shell from reactos

Post by erkinalp »

Agorima wrote:I mean, it should React as a real NT kernel, not as a 9x kernel.
When a program stops installing or working, it should not cause a BSOD and take away the entire system.
It is somewhat frightening to see a blue screen when starting Word 2000.
Crash reports should be sent to JIRA(using reactos.org credentials), not a seperate bug report pool.(Ubuntu did a seperate crash dump tracker, and it is now too hard to send bug reports to their main bug tracker)
-uses Ubuntu+GNOME 3 GNU/Linux
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2

Dave3434
Posts: 323
Joined: Tue Jun 28, 2011 2:14 am

Re: Split(Fork) the shell from reactos

Post by Dave3434 »

by Webunny » 28 Jan 2014 23:02

Dave3434 wrote:
i perfer windows xp ui not windows 7.



But win 7 is still better than win 8. GUI/end-user wise, that is. No doubt win8 has improvements on the former Windows iteration too, but all in all...well, it just sucks.
still perfer xp mate.

Dave3434
Posts: 323
Joined: Tue Jun 28, 2011 2:14 am

Re: Split(Fork) the shell from reactos

Post by Dave3434 »

Dave3434 wrote:
by Webunny » 28 Jan 2014 23:02

Dave3434 wrote:
i perfer windows xp ui not windows 7.



But win 7 is still better than win 8. GUI/end-user wise, that is. No doubt win8 has improvements on the former Windows iteration too, but all in all...well, it just sucks.
still perfer xp mate i just think windows 7 ui sucks i don't like the eye candy well not to much of it at least windows xp had it right in my opinion.

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Split(Fork) the shell from reactos

Post by Z98 »

Based on your previous comments, it's not so much "eye-candy" that you hate but any change at all, regardless of of how minute or how much better the change makes things.

Dave3434
Posts: 323
Joined: Tue Jun 28, 2011 2:14 am

Re: Split(Fork) the shell from reactos

Post by Dave3434 »

sorry z98 just don't like anything newer then xp but you know that already.

cruonit
Posts: 250
Joined: Mon Jun 29, 2009 12:57 am

Re: Split(Fork) the shell from reactos

Post by cruonit »

The best thing they introduced in windows vista/7 is the search textbox on the Start menu i would like to see that in reactos :| it's really hard to search trought the tree when you have too many apps(and CP settings)

fred02
Posts: 551
Joined: Thu Nov 22, 2007 5:54 pm

Re: Split(Fork) the shell from reactos

Post by fred02 »

cruonit wrote:The best thing they introduced in windows vista/7 is the search textbox on the Start menu i would like to see that in reactos :| it's really hard to search trought the tree when you have too many apps(and CP settings)
This is a fundamental deficiency of the "start" menu interface. On the other hand, if do you really use that many apps, and if so, how come you don't remember where they are, or use "personalized menues" or don't put shortcuts on the desktop? (And if you need so many shortcuts that an HD screen can't fit them all, I want to know what you do for a living :mrgreen: ).

Webunny
Posts: 1201
Joined: Sat Apr 28, 2012 1:30 pm

Re: Split(Fork) the shell from reactos

Post by Webunny »

Dave3434 wrote:sorry z98 just don't like anything newer then xp but you know that already.
Well, there is no debating tastes. But there is debating facts. And the fact is, the GUI of win7 doesn't differ in basic ways compared to XP, whereas win8 does. But more importantly it's a matter of popularity for the end-user. In this respect, it's clear that win8 is A LOT LESS popular than win7. Just like win vista was a lot less popular than XP. And I can understand where that's coming from, having windows vista myself - even though most claims, like it being slow and what not, are greatly exaggerated since SP1. That said, win7 feels more clean and slick than windows vista.

If it's just about the eye-candy, I think it will not be difficult for ROS to (ultimately) make themes that exactly replicate the GUI-interface of winXP (and I hope even win2000), and/or vista, and/or win7 - and even win8, if it ever gets popular. What can't be denied, however, is the need to go forth, after we're binary compatible with wiinXP and thus reached our (first) goal. The question then will be what our next goal should be (under the hood), and I think this should be win7. Since we're always going to be one (and more) steps behind Windows, it is necessary to get a clear, set goal. And, if you want broad support, you need a goal that is popular with the public, which is why I would skip Vista (even though there is nothing basically wrong with it, to be honest - except for a few annoyances) and win8 as a goal to set.

Frontier
Posts: 70
Joined: Fri Sep 20, 2013 10:29 am

Re: Split(Fork) the shell from reactos

Post by Frontier »

I've learned while coding for ROS that there are huge differences between the 5.* branch of NT and the 6.* branch... and in no way are they just eyecandy. To clarify, the 5 branch contains 2000, xp, and 2003; while for the 6 brach, vista, 7, 8, 8.1.

Some things they do differntly are for instance: the entire way the entire display is rendered; driver models, threading models; file operations; etc...

Overall, the 6 branch is better, but it's really a huge fork from 5, which we can't afford to make until we're super stable.

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests