Discuss using Harvard referenced information how an operating system can be viewed as event driven. Your answer must be from a technical perspective and should therefore make specific reference to the message queue.
Event Driven Application
An event driven application is a computer program that is written to respond to actions generated by the user on the system. Event can include both user actions like mouse clicks and keystrokes or system events such as program loading from the disk.
Event Driven Programming is an approach rather than a type of language and it can be created by any different programming language depending on the specific application, event driven processing can improve responsiveness and flexibility.
Event Driven Application Purposes
Application might be naturally respond to an event, they involved by some kind of sensor to detect and respond to events and the purposes of the application is to analyse and execute these events.
Application might need to identify and react to certain situations as they occur either good or bad. When the change state are monitored as they happen let an application respond in a much more timely process.
GUI (Graphical user interface)
The GUI is a type of interface allows user to navigate or interact with electronic devices. Through the graphical icons and visual indicator such as text based interface. GUI were introduced relation to the perceived steep learning curve of command line interface. GUI allows people to interact with program in more ways than typing in keyboard, and it’s suitable for a most hand held devices such as Smart phone or Gaming device. The actions are usually performed through direct manipulation on the Graphical Elements.
CLI (Command line interface)
CLI also known as Command line interface, an interface that utilizing command code to the program in the form of line of text. A program which handles the interface is called a command language interpreter (shell). Command line are often Preferred by most advanced computer users as they often provide more concise and powerful means to control a program or operating system like Linux. Programs with command-line interfaces are generally easier to automate via scripting. Command-line interfaces for software other than operating systems include a number of programming languages such as Tcl/Tk, PHP, and others, as well as utilities such as the compression utility WinZip, and some FTP and SSH/Telnet clients. Operating system (OS) command line interfaces are usually distinct programs supplied with the operating system. A program that implements such a text interface is often called a command-line interpreter, command processor or shell.
Overall in the term ‘shell’ is often used to tells to translate as a command-line interpreter, shell it can be any kind of type program that constructed the user-interface, including graphical user interface. For example, the default Windows GUI is a shell program named explorer.exe, as defined in the Win.ini configuration file. These programs are shells, but not CLIs.
Event handler is call back routine that operates asynchronously and handles inputs received into a program events. Event also is some meaningful element to an application. Usually from graphical user interface or some other input routine, on the GUI side of event include keystroke, mouse activity. Action selection or timer expirations. On input side, event include opening and closing files and data stream, reading data and so on. Most software architecture operate almost entirely by producing, managing and processing the events. Almost every application must include at least some of event handling to keep operating system to functioning properly.
With event driven programming most the operating system has developing a different kind of graphical user interface to respond to event. Operating system manages to complete and its resource to make them available to the programs you want to run, after loaded to the command from the disk to the memory unit it will await for CPU to read and execute the command based on the queue. Operating system allows CPU to execute command rapidly in different threads. However, they all started when user are clicked in the GUI, to run the application, user requires to send the message command by clicking in the application icon, the programs will communicate by sending each other data in messages rather than calling each other directly. Messages are often placed on queues in storage, allowing programs to run independently of each other, at different speeds and times, in different locations and without having a logical connection between them.
Overall in programming term, message queueing is method by which processor can exchange or pass data using interface to process, message can vary in length and assigned different types of usages, message queue can be created by one process and used by multiple processes that read or write message to the queue. For example if I want copy this file from desktop to the certain work folder, then I have to make the first command, which is selected the file and by using right click (mouse activity) select copy so the file now is copied awaits to be pasted into the work folders. In the work folder I would just have to make other event with mouse click to paste document, so now the operating system will execute this command for me through the message queueing, operating system manages all the message and processing them by queueing, sometimes one command might have more priority than other, it can be processed less than milliseconds. Application programs create message queues and send and receive message using application program interface. In operating system these programing language functions used with various parameters specifying the action that are requested, from message ID to message type and so forth.
The maximum size of a message in a queue is limited by the operating system and is typically 8,192 bytes.