Operating system

Operating system is a selection of software products that enable use of computer. Without the operating system, computer is just a collection of components connected to each other. Operating system is the translator between computer assembly and the user.

Main tasks of operating system are to control the hardware, software products, memory and user information. Operating system has drivers for several devices, which allows to use them in different software. E.g. printer drives allows you to print files from several different software. Operating system knows where in the memory software and their components are located, calls for software operations when needed and allocates resources such as RAM. Previously it was discussed that actually processor controls the use of main memory and allocation of resources, operating system is the mediator of the information and controls the storage medium.

Operating system controls also the use of computer via user accounts. One computer can hold several user accounts (profiles) that enable definition of user specific settings and granting different access rights. E.g. Software installation permissions could be granted using a three-level allocation

  1. User (no permission to install)
  2. Superuser (limited permission to install)
  3. Administrator (full permission to install)

Operating system can have character based user interfaces (CUI) or graphical user interfaces (GUI). CUIs use shells to receive the commands as text and to print the system messages and operation results as text to the screen. GUIs are usually controlled by mouse selections in visualized surroundings. User benefits from GUI when it is not needed to understand and remember the commands used to control computer. On the other hand, CUI is often faster and more simple to operate. It requires less resources and computing capacity, which is why it is advised to use in slow setups. Nowadays use of CUIs has decreased significantly.

Some versions of Microsoft Windows:

  • XP (support ended 2014)
  • Vista (support ended 2017)
  • Windows 7 (support ends 2020)
  • Windows 8
  • Windows 10

Linux -based operating system versions:

  • Ubuntu
  • SuSe
  • Debian

Apple uses versions of MacOS.

Think over! Which operation system does your computer have? Have you tried using some other? What kind of differences there are and which one is most suitable to your use?

File management

File management covers several actions related to managing files. Files can be saved using computer hard disk, USB memory or other storage medium. Previous topic provides information related to hardware. In practice, file management in Windows is carried out using a specific GUI based application, File explorer. Of course, files can also be managed using a character based shell, Command Prompt.

Software products and applications

Software means a selections of applications, like Microsoft Office and LibreOffice.org. Software or application is a tool enabling different kinds of computer based tasks, like writing a document, editing an image, creating digital music or using spreadsheets to calculate and visualize results by graphs. Applications are selected based on use of the computer, what user needs to get done. Operating system affects on what software and applications can be used, since they often are operating system specific. Emulators can be used to enable use of an application that was designed to be used in another operating system. There are software products and applications for almost all tasks imaginable, but creating one is possible by learning how to program or by using a software company to build one.

Web browser is a tool for browsing websites. Some browsers are e.g. Internet Explorer, Firefox, Microsoft Edge, Google Chrome, Opera, Safari. Email can be accessed using web browsers or a specific client like Outlook or Thunderbird.

Think over! Which applications do you use and need? Have you checked, what kind of applications are available in JAMK computers?

Licenses

License means right to use a software. Programmer has the privilege to define what rights does the user receive. Software licenses can roughly be divided into three main categories: commercial, shareware and freeware.

Commercial license means that the software is only distributed by a retailer. It is illegal to copy and redistribute the software.

Shareware-licensed software products are often trial versions of commercial ones. The tend to have limited functionality or operating time. After the trial period registration might be required, which basically means purchasing the software to continue its use. Testing and redistributing of shareware is allowed according to terms in license agreement.

Freeware-licensed software is usually free. Some are limited to non-commercial use or for studying. If the software should be used for commercial practice, a paid license is needed. Terms of use are can always be found in the license agreement.

One of the Freeware licenses is GNU General Public License, GNU GPL. This license requires the source code to be provided together with the program or in another way. This way users interested in developing the software can modify it according to their own needs.

Creative Commons (CC) license means mostly open access materials (images, music, text). There are several different levels of license which allow different ways to limit or share rights to use the materials. More information from creativecommons.org

Software development and versions

Making a software is called programming. Normally the need for software development is based on need to be able to execute a task using computer. Software development consists of several phases including user studies, design, programming, testing and analyzing. These phases tend to repeat in cycles (iterative process). With user studies the designer tries to find out what needs does the customer / user have for the application. What needs to be done, what properties and functionalities are needed. Based on this, a design for the program is created. Programming is based on the design and is done using one or many of the several programming languages (C#, Java, …). Code is then translated into machine language, which is then executed by the processor to carry out the tasks the software was designed for.

Application is tested in case of errors and to ensure its usability. Testing should be done in several phases during the programming. So called beta-versions are software products, that have not yet completed all testing. Alpha versions are normally unfinished versions and are not released to public.  Version is normally expressed in addition to software name using small letter a or b, e.g. Software v1.9b

Different version releases are numbered from smallest to largest, e.g. v1.0, v1.02, v1.2, v1.25 etc. When the program is first released, it often has some bugs to correct, and each new version corrects some of these. New versions may also contain additional functionalities or enhance existing ones. If remarkable amount of new functionalities or properties come are added, this usually means a new release, e.g. v2.0.