OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 3:21 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 70 posts ]  Go to page 1, 2, 3, 4, 5  Next
Author Message
 Post subject: What would you actually want in an operating system?
PostPosted: Fri Sep 19, 2014 7:30 am 
Offline
Member
Member
User avatar

Joined: Wed Jul 23, 2014 8:00 am
Posts: 96
Location: The Netherlands
So a lot of are programming operating systems, but I'm really curious to hear what all of YOU would like to see in an OS.

So, post ahead I guess.

_________________
My post is up there, not down here.


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Fri Sep 19, 2014 9:29 am 
Offline
Member
Member

Joined: Sun Feb 01, 2009 6:11 am
Posts: 1070
Location: Germany
A do-what-I-mean command.

_________________
Developer of tyndur - community OS of Lowlevel (German)


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Fri Sep 19, 2014 7:54 pm 
Offline
Member
Member
User avatar

Joined: Sun Sep 19, 2010 10:05 pm
Posts: 1074
I want my OS to handle most known audio formats,video formats, document types, Web pages, etc. natively.

No drivers. No apps. Just play a song, or play a video, or print a document, or display a Web page. No Internet Explorer. No media player.

The OS should do it all. Period.

That is what I'm working on now.

_________________
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Sat Sep 20, 2014 7:07 am 
Offline
Member
Member
User avatar

Joined: Wed Jul 23, 2014 8:00 am
Posts: 96
Location: The Netherlands
SpyderTL wrote:
I want my OS to handle most known audio formats,video formats, document types, Web pages, etc. natively.

No drivers. No apps. Just play a song, or play a video, or print a document, or display a Web page. No Internet Explorer. No media player.

The OS should do it all. Period.

That is what I'm working on now.

So everything is integrated in one huge chunk? No seperate apps? That's actually amazing. What about terminals?

_________________
My post is up there, not down here.


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Sat Sep 20, 2014 5:41 pm 
Offline
Member
Member
User avatar

Joined: Sun Sep 19, 2010 10:05 pm
Posts: 1074
SoLDMG wrote:
So everything is integrated in one huge chunk? No seperate apps? That's actually amazing. What about terminals?

What about them?

Having applications is fine, but I don't want to be forced to use an application, as a user. If I want to get creative, and do something like load a video file and extract and save the audio into an mp3 file, I want to be able to do that from the command line, and preferably in one line. Or if I want to convert an mp3 file to a video file, by rendering the waveform and saving that as an mp4 file, I'd like to be able to do that too.

I'd like to be able to stream a podcast from the Internet, listen to it, and save it to disk all in real time.

I'd like to be able to plug in a webcam, and start capturing a still image every 10 seconds, compare the images and calculate the "difference" between them, and save them to disk if they exceed some threshold.

The OS could do all of this, but it would need to be intimately aware of the various file types, data formats, and the relationships between them.

Linux actually does this fairly well... Much better than Windows. But it relies heavily on various apps and utilities to do most of the work. Finding and collecting all of the command line utilities to be able to do all of the above would take months. And even then, remembering all of the names of the various utilities would be nearly impossible, since they all use different, cryptic names.

The problem is that the OS has no clue what is inside any of those files, or any network packets. So it can't do anything to help the user accomplish a task.

The real role of the "application" is to provide the user with a friendly "interface" to make tasks easier and quicker. But I'd rather the application not actually "do the work".

Think about Java /.NET. They are both very popular development environments, but when you look at the code written in these languages, a large percent of the code is just responsible for rendering the user interface and telling the existing, built in classes what to do when the user clicks a button.

I think the OS should essentially be an "interface" between the UI and the functionality. This is so that the UI could be swapped out, or removed altogether, if the user prefers to use the command line.

Haiku is actually really close to what I want. But there's something about the way it was implemented that makes it... Less than intuitive, for me at least. Maybe I just haven't given it a fair chance...

_________________
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Sat Sep 20, 2014 10:36 pm 
Offline
Member
Member
User avatar

Joined: Sun Sep 19, 2010 10:05 pm
Posts: 1074
Here is my problem with Haiku... I googled "Haiku tips and tricks", and found this article:
Quote:
If upgrade your Haiku install frequently and want the latest and the best from the Haiku SVN, then you can follow these steps to create a script that will do just that:
1. Create a simple text file and name it ”upgrade”
2. Paste the following into the text file:
#!/bin/sh
pkgman add-repo http://packages.haiku-os.org/haikuports ... c2/current
pkgman add-repo http://download.haiku-os.org/haiku-repo ... 2/current/
pkgman update -y
sync
sleep 1
shutdown -r
3. Make the text file executable from the Terminal:
chmod +x upgrade
4. Launch the script from the Terminal with ./upgrade
Optionally you can move the script to /booh/home/config into the /bin directory so you can invoke it from anywhere.
What the script does is download the latest HPKG of the operating system, together with the latest WebPositive and bootloader, install them then reboot your computer.

I understand why this is necessary (because the designers wanted a unix-like subsystem). But is that really the best we can do today?

How about something like:
Code:
System.Update

Is there any reason the OS can't update itself to the latest version?

_________________
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Sun Sep 21, 2014 4:36 am 
Offline
Member
Member
User avatar

Joined: Wed Oct 18, 2006 3:45 am
Posts: 9301
Location: On the balcony, where I can actually keep 1½m distance
SpyderTL wrote:
How about something like:
Code:
System.Update

Is there any reason the OS can't update itself to the latest version?

I'd assume that running the one important command
Code:
pkgman update
does exactly that already, but then for stable releases. It even saves you from reboots when you don't specifically want it :wink:

_________________
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Mon Sep 22, 2014 4:16 pm 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
I'm tired of the junk that uses precious CPU time. I think it would be useful to have an operating system that freezes background applications (if it's unfocused, it's frozen, unless the user explicitly gives it permission to run in the background.) Shutdown and bootup should be near instant.

_________________
My OS is Perception.


Last edited by AndrewAPrice on Tue Sep 23, 2014 7:55 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Mon Sep 22, 2014 11:50 pm 
Offline
Member
Member
User avatar

Joined: Sun Sep 19, 2010 10:05 pm
Posts: 1074
Amen!

To put it another way, have you ever just sat and watched your windows machine's hard drive light?

No applications running, just boot up at watch it. It will be on for a solid 3-4 minutes, and will then be hit every 1-2 seconds for pretty much the whole time it is on.

It's always busy indexing files, moving sectors, pre-caching applications, querying network topography, etc. I want my OS waiting for me to give it a command. I want it to boot up like an Atari 2600! :)

And I want it to shut down immediately. Windows wouldn't need to notify every application and every service and every network that it is shutting down if it didn't run all of that stuff in the background in the first place.

_________________
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Tue Sep 23, 2014 2:01 am 
Offline
Member
Member
User avatar

Joined: Thu Jul 26, 2007 1:53 am
Posts: 395
Interestingly we seem to share this view. I want my operating system to only do what it has been told and nothing else so for the most part it will not do anything at all unless told otherwise. I think it is doable to write a general purpose os with that in mind and still be usable.

_________________
Fudge - Simplicity, clarity and speed.
http://github.com/Jezze/fudge/


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Tue Sep 23, 2014 4:15 am 
Offline
Member
Member
User avatar

Joined: Sat Jan 15, 2005 12:00 am
Posts: 8561
Location: At his keyboard!
Hi,

SpyderTL wrote:
No applications running, just boot up at watch it. It will be on for a solid 3-4 minutes, and will then be hit every 1-2 seconds for pretty much the whole time it is on.


Typically a system has "bursts of activity" separated by "bursts of inactivity". There are things that can be done during the "bursts of inactivity" that improve the performance of those "bursts of activity" (e.g. things like pre-fetching, pre-processing, indexing, de-fragmenting, etc).

If an OS doesn't do these things; then hardware resources (e.g. CPUs, memory, disk bandwidth, etc) are being wasted at the expense of performance, and that's a bad/sad thing.


Cheers,

Brendan

_________________
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Tue Sep 23, 2014 6:43 am 
Offline
Member
Member

Joined: Thu Jul 05, 2012 5:12 am
Posts: 923
Location: Finland
Brendan wrote:
If an OS doesn't do these things; then hardware resources (e.g. CPUs, memory, disk bandwidth, etc) are being wasted at the expense of performance, and that's a bad/sad thing.


That is the right direction but there is a drawback. Users might feel unhappy if their computers are "unsettled", i.e. noisy disk accessing while indexing, de-fragmenting, etc. If there were no noise, it could be annoying just to see flashing leds. I am sure that there are a lot of people feeling uncomfortable because of this. Proper timing of the background work is the key thing.

In general, it is obvious that the idea has a lot of advantages.

_________________
Undefined behavior since 2012


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Tue Sep 23, 2014 8:07 am 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
Brendan wrote:
Typically a system has "bursts of activity" separated by "bursts of inactivity". There are things that can be done during the "bursts of inactivity" that improve the performance of those "bursts of activity" (e.g. things like pre-fetching, pre-processing, indexing, de-fragmenting, etc).

If an OS doesn't do these things; then hardware resources (e.g. CPUs, memory, disk bandwidth, etc) are being wasted at the expense of performance, and that's a bad/sad thing.


Sure, but can't we explicitly control that? We have processes that drain our battery (mobile, laptop) in the background because they're constantly polling, or have some thread stuck in a loop.

I might want to explicitly give my IM application, download manager, and music player permission to run in the background. But I don't want every program and it's updater thinking it has a right to poll the Internet, pre-cache, or do whatever (I'm looking at you Adobe, Java, OneNote, RealPlayer, iTunes...)

What if I want everything in the background to stop, so that the application I have in focus (my web browser, or a video game) can have all resources dedicated to it?

If it's out of sight, it should be out of mind, unless we explicitly tell it otherwise.

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Tue Sep 23, 2014 8:28 am 
Offline
Member
Member
User avatar

Joined: Sun Sep 19, 2010 10:05 pm
Posts: 1074
"Old Computers Did It Better"


https://www.youtube.com/watch?v=0wDtxYeJdzg

_________________
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott


Top
 Profile  
 
 Post subject: Re: What would you actually want in an operating system?
PostPosted: Tue Sep 23, 2014 9:15 am 
Offline
Member
Member
User avatar

Joined: Sat Jan 15, 2005 12:00 am
Posts: 8561
Location: At his keyboard!
Hi,

MessiahAndrw wrote:
Brendan wrote:
Typically a system has "bursts of activity" separated by "bursts of inactivity". There are things that can be done during the "bursts of inactivity" that improve the performance of those "bursts of activity" (e.g. things like pre-fetching, pre-processing, indexing, de-fragmenting, etc).

If an OS doesn't do these things; then hardware resources (e.g. CPUs, memory, disk bandwidth, etc) are being wasted at the expense of performance, and that's a bad/sad thing.


Sure, but can't we explicitly control that?


Yes; the end user could explicitly control things like pre-fetching, indexing, de-fragmenting, etc; if you really want a system where users do work for the computer (instead of having a system where the computer does work for the user).

Alternately, the OS could control it - e.g. having a much lower threshold for "is it worth doing?" when running from battery.

MessiahAndrw wrote:
We have processes that drain our battery (mobile, laptop) in the background because they're constantly polling, or have some thread stuck in a loop.

I might want to explicitly give my IM application, download manager, and music player permission to run in the background. But I don't want every program and it's updater thinking it has a right to poll the Internet, pre-cache, or do whatever (I'm looking at you Adobe, Java, OneNote, RealPlayer, iTunes...)

What if I want everything in the background to stop, so that the application I have in focus (my web browser, or a video game) can have all resources dedicated to it?

If it's out of sight, it should be out of mind, unless we explicitly tell it otherwise.


These things all mostly seems to be poor software update mechanisms (e.g. no efficient/global system for updates; combined with applications that do "check for update during boot" instead of "check for update when run"). It wouldn't be too hard to find a better way of handling software updates.


Cheers,

Brendan

_________________
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 70 posts ]  Go to page 1, 2, 3, 4, 5  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 33 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group