Enables the user to interact with the operating system by pointing and clicking
07 Nov 2018 in CS 101 What are operating systems? Why are they important? An operating system (OS) is software that starts up a computer and keeps it running and following your commands. An operating system’s main responsibilities are:
Note: we don’t look to the OS to do anything “fun”. For example, you can’t use it to send an email, draw a picture, or to create a video game. However, your operating system contributes to all of these activities because it allows the applications (that do those “fun” things) to run. The primary components/aspects of an operating system are:
User InterfaceThe operating system is a software, and a major part of software is the user-interface (else, why create software if your user can’t interface/interact with it?). There are other interfaces that are not user-interfaces because they don’t interact with human users. For example, a non-user-interface could interact with other programs, connect devices (such as your printer), and connect programs to devices. The earliest type of interface is the command-driven interface. This kind of interface allows the operating system to accept commands using specific keywords. In contrast, programs that allow you to choose from a list of options in a menu are said to have a menu-driven interface. Command-driven software usually wins in a battle against menu-driven software. This is because command-driven software is more flexible and allows you to do a lot more things. However, since it relies so much on keywords, you must first learn the command language. This language is a programming language because the user communicates with the operating system or the application to make your computer do some commanded actions. An example of a command-language is Bash. The part of an operating system that responds to operating system commands is called the command processor. Other popular names for the command processor are the terminal, console, command line prompt, command line interpreter, or the shell. A graphical user interface (GUI, pronounced gooey) allows you to make commands by pointing and clicking at graphical objects on the screen. Below is a screenshot of the Windows 10 GUI. GUIs such as Microsoft Windows and the one used by Apple Mac feature the following components:
In additional to these visual components, graphical user interfaces make it easy and intuitive to move data from one application to another. Two ways to do this:
Other Components to an OSIn addition to a command-driven interface, an operating system consists of the following components: KernelThe kernel provides a basic level of control over all the computer’s hardware devices. It manages memory access for programs in the RAM, it says which applications get access to which hardware resources, it sets/resets the CPU’s operating state, and organizes data with file systems. In other words, the kernel connects the hardware and software of a computer:
NetworkingMany operating systems support a variety of networking protocols, hardware, and applications for using them. Networks can allow a computer to access the resources of another computer or a wired or wirelessly-connected device (e.g., a printer or your smart-phone). Client and server networking allows a program on a computer (the client) to connect over a network to another computer (the server). Servers provide the services requested by the client by first figuring out what the client’s Internet Protocol (IP) address is and what ports (aka access points) exists beyond that IP address. We will investigate this further in the coming weeks. SecurityAn operating system must be aware of requests that are privileged (allowed) versus non-privileged (aka not allowed). To do this, your OS will request the identity of the user or application making the request. Then, to make sure the person/application isn’t lying, the computer authenticates. Usually, a username and the password must be correctly given. Today, we have many sophisticated ways of authentication, such as magnetic cards (like our LIU ids) or biometric data (like a retina or fingerprint scanner). In the next few classes, we’ll look at these components in more detail. |