What would you actually want in an operating system?

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
User avatar
b.zaar
Member
Member
Posts: 294
Joined: Wed May 21, 2008 4:33 am
Location: Mars MTC +6:00
Contact:

Re: What would you actually want in an operating system?

Post by b.zaar »

DaemonR wrote:
b.zaar wrote:I noticed but I'm not sure exactly why you make the distinction. I always picture an operator as a person, like a driver or pilot operating machinery
That's exactly what an operating system does. It operates the computer. But in an even more abstract view, think of it like a telephone operator. The user (ie. the running process) requests the operator to be connected to a service (ie. a driver) and the operator establishes the connection.
I think of it more like the internals of an analogue phone. It sends the signal based on what the number dialed was. If an operator wasn't around to use it the system wouldn't be put to work.
DaemonR wrote:In abstraction, an operating system fulfills the role of a real life operator; and it's much easier to visualize what it does because an operator is something that exists within the real world. You are now able to apply real world knowledge to something you have little to no experience with.
What would an operating system do as an operator without instructions from an outside source?

I've always pictured the operating system something like BIOS or the C library, it's there to support my app. It has no function but to provide a nice layer to my app which provides a service to the operator. It's the lowest part of the software food chain and without an app it would sit idly.
"God! Not Unix" - Richard Stallman

Website: venom Dev
OS project: venom OS
Hexadecimal Editor: hexed
User avatar
Wajideu
Member
Member
Posts: 153
Joined: Wed Jul 30, 2014 1:05 am

Re: What would you actually want in an operating system?

Post by Wajideu »

b.zaar wrote:What would an operating system do as an operator without instructions from an outside source?
The same thing it normally does. It waits for input. When they're not busy, maybe they'll clean up their desk. But at this point, you're starting to look too far into it. Simply knowing the name of something doesn't mean you will know every minute detail about it, however, using this technique you can make a large number of assumptions about things that you normally couldn't before.

Another example, the term "phishing". As I stated before, all terms related to water have to deal with the flow of data. When you are fishing, you are casting a net or using bait to catch something. So, we can infer just from the name that "phishing" means to set a trap or to use bait to catch something in the flow of data.
User avatar
b.zaar
Member
Member
Posts: 294
Joined: Wed May 21, 2008 4:33 am
Location: Mars MTC +6:00
Contact:

Re: What would you actually want in an operating system?

Post by b.zaar »

DaemonR wrote:But at this point, you're starting to look too far into it.
I'm interested in OSDev... I'm suppose to look that far into it.
"God! Not Unix" - Richard Stallman

Website: venom Dev
OS project: venom OS
Hexadecimal Editor: hexed
User avatar
Wajideu
Member
Member
Posts: 153
Joined: Wed Jul 30, 2014 1:05 am

Re: What would you actually want in an operating system?

Post by Wajideu »

b.zaar wrote:
DaemonR wrote:But at this point, you're starting to look too far into it.
I'm interested in OSDev... I'm suppose to look that far into it.
I'm saying you're seeing an operator as a person rather than an occupation.


Another example of bad naming would be the term "archive". You can't compress, encrypt, or transport a real archive. A real archive is enormous compared to a real volume (filesystem). Also, "archive" is synonymous with "repository". A more fitting term would be a binder. It can be zipped up and carried around. In the case of accordion file binders, they can even be expanded and contracted or be locked.

But anyhow, you get the point. I think perhaps the most useful part of my book will probably be the chapters about terms dealing with things like sockets, routers, proxies, and domains. They're very vague at first glance.
User avatar
AndrewAPrice
Member
Member
Posts: 2300
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: What would you actually want in an operating system?

Post by AndrewAPrice »

MessiahAndrw wrote:They are real Mathematica screenshots.
I found this - IPython: http://ipython.org/ It also has frontends for other languages, including IHaskell and IJulia.

Image
Image

It really inspires me to think how terminal applications could output something other than text - such as a markup like HTML.

Then it raises more complicated questions - should the output be interactive (e.g. a graph you can play with the variables, a 3D chart you can rotate), and if you did have executable, interactive code running in the frontend - can it communicate to the backend? (Like a web browser and a server?)
My OS is Perception.
User avatar
AndrewAPrice
Member
Member
Posts: 2300
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: What would you actually want in an operating system?

Post by AndrewAPrice »

MessiahAndrw wrote:Then it raises more complicated questions - should the output be interactive (e.g. a graph you can play with the variables, a 3D chart you can rotate), and if you did have executable, interactive code running in the frontend - can it communicate to the backend? (Like a web browser and a server?)
I was thinking of one way to make this interactive - your application would print markout to the terminal - that means it could print tables, images, buttons, input fields, etc. There's no reason that it can't print commands using this markup, which includes modifying what it's already printed, for example:

Code: Select all

<remove id="mybutton"/><set id="myinput" field="disabled" value="true"/>
Likewise, events such as a button click, keydown, etc. could be sent back via stdin.

For example:

Code: Select all

Enter your name: <input type="text" id="name" value=""/>
<button on_click="button_clicker_handler">Click Me</button>
You click it, and the terminal writes to stdin:

Code: Select all

button_click_handler.
Your program writes:

Code: Select all

<query id="query234897" id="text" property="value" />
The terminal sends back:

Code: Select all

resp.query234897.MessiahAndrw
Then the application can print:

Code: Select all

Hello MessiahAndrw
You could even send pipe this over a network!
My OS is Perception.
seuti
Member
Member
Posts: 74
Joined: Tue Aug 19, 2014 1:20 pm

Re: What would you actually want in an operating system?

Post by seuti »

They are really nice features, but I don't really think we need them in a terminal.
User avatar
SpyderTL
Member
Member
Posts: 1074
Joined: Sun Sep 19, 2010 10:05 pm

Re: What would you actually want in an operating system?

Post by SpyderTL »

At some point, I'm planning on creating a new project that has a graphics mode based command line interface, that lets you type in commands, and it will execute them and graphically show the results, similar to the screenshots above. Then you can click on them and "expand" them to full screen or a window.

It works great in my head. It may take a while to get it working on an actual machine, though.

Should be interesting...
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
User avatar
b.zaar
Member
Member
Posts: 294
Joined: Wed May 21, 2008 4:33 am
Location: Mars MTC +6:00
Contact:

Re: What would you actually want in an operating system?

Post by b.zaar »

Would an interactive shell script/terminal be possible by simply forking it as a separate process?
"God! Not Unix" - Richard Stallman

Website: venom Dev
OS project: venom OS
Hexadecimal Editor: hexed
User avatar
AndrewAPrice
Member
Member
Posts: 2300
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: What would you actually want in an operating system?

Post by AndrewAPrice »

b.zaar wrote:Would an interactive shell script/terminal be possible by simply forking it as a separate process?
I'd imagine you'd be able to scroll to the bottom, keep writing the the kernel while the above process is still executing.

If you imagine this:
Image

Imagine when we ran the first 'plot_taylor_approximations' it showed the graph, but before it terminated we clicked the space underneath which gave us a new terminal line to type on and run another command, while the above one was still executing. It could still be printing, just shifting everything above it up as it prints.
My OS is Perception.
Post Reply