Page 5 of 5

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

Posted: Tue Sep 30, 2014 8:48 pm
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.

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

Posted: Tue Sep 30, 2014 8:58 pm
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.

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

Posted: Tue Sep 30, 2014 9:07 pm
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.

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

Posted: Tue Sep 30, 2014 9:22 pm
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.

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

Posted: Wed Nov 12, 2014 12:57 pm
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?)

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

Posted: Wed Nov 12, 2014 1:56 pm
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!

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

Posted: Wed Nov 12, 2014 2:59 pm
by seuti
They are really nice features, but I don't really think we need them in a terminal.

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

Posted: Wed Nov 12, 2014 3:14 pm
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...

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

Posted: Wed Nov 12, 2014 5:06 pm
by b.zaar
Would an interactive shell script/terminal be possible by simply forking it as a separate process?

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

Posted: Fri Nov 14, 2014 9:26 am
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.