Pages

Tuesday, July 31, 2012

Difference Between Application Software and System Software


This post is meant for that reader who's not-so-tech-savvy, but wants to get a head start in the world of computing. I'm excited to share details about my future projects, but since my primary focus is technology, I realize that certain topics may be over a beginner's head. To help minimize this knowledge gap, I want to offer my readers a starting point. After all,

"a journey of a thousand miles begins with a single step" - Lau Tzu

As the title implies, this post discusses the difference between Application Software and System Software. We'll begin by exploring the concepts of computer Operating Systems (OSs) and user applications. Over the years, many OSs have been developed, each with a different goal in mind. The most familiar type of OS is the General Purpose OS installed on Personal Computers (PCs). There are several flavors of the General Purpose OS, but in recent years, three well-known names have virtually dominated the PC world: Windows, Mac OS, and GNULinux. Since you're reading an online resource, I'll assume you've used a PC at some point in your life. If this is the case, I feel safe assuming the PC was driven by one the Operating Systems listed above. However, with the diffusion of web-enabled mobile devices, it's also possible that you're reading this on a phone, tablet, or MP3 player. In this case, the device is driven by a Mobile OS and not a General Purpose OS. Either way, you've had first-hand experience using two different types of software: System Software and Application Software.

The primary goal of an Operating System is to establish a platform that supports user applications. The term 'platform' is used widely in technology and engineering to define a foundation on which other mechanisms can be built. Examples of user applications include: Web Browsers (for surfing the Internet), File Managers (for browsing digital documents), Word Processors (for creating and editing documents) and Image Viewers (for opening and viewing digital images). These applications are built on OS platforms and use platform services to enhance user experience.

One very important function of an OS is to give applications access to an Operating Environment. An Operating Environment is a user's primary interface to the computer. If you continue down a technology path, you'll encounter the term 'interface' a lot. An interface is a common medium between two things enabling them to exchange resources. In the case of an Operating Environment, users'input data via a keyboard, mouse, microphone, or similar input device (interface). Applications, on the other hand, output data via computer screens, speakers, printers, or similar output devices (interfaces). The Operating Environment most familiar with today's users, is the Desktop Environment on their PC. Here, the user is presented with interactive graphical representations of the underlying software. For example, to open a Web Browser, a user clicks an icon on the desktop and watches as an interactive window loads their homepage. Multiple windows can appear on a single screen, optimizing users' multi-tasking capabilities. Another more recent Operating Environment is the Mobile Environment. Though it's still in its infancy by comparison, certain trends are emerging among the different OS flavors. For instance, mobile platforms add so much constraint to the user interface that 'application windows' are mostly non-existent. Instead, when the user launches an application from the mobile desktop, that application takes control of the entire screen. There are many more differences, but those are beyond the scope of this post.

So how do Operating Systems and user applications relate to System Software and Application Software? The answer is simple! Operating Systems are made from a set of System Software that works to create a platform for user applications. Likewise, applications are a set of Application Software built on an OS platform to serve user needs. It may already be clear at this point, but I'd like to define the key difference between the two software types: System Software supplies service(s) to Application Software while Application Software supplies service(s) to its users. Let's try investigating what this difference actually means.

As mentioned above, System Software is goal-oriented toward providing service to user applications. Since computer hardware is very sensitive, careless software design can easily damage expensive equipment. For this reason, Application Software is not able to access hardware directly. Instead, the OS handles all hardware related tasks and acts as an interface for all user applications. Technically speaking, OSs aren't necessary for a computer system to run. However, this model of computing comes with risks and inconveniences. For starters, app developers no longer have access to stable implementations of hardware and policy services. Since these functions are dangerous, tedious, and difficult to reproduce, app development is made exponentially harder. On the same note, users would lose the OS-provided luxury of simultaneously running multiple applications. Having the freedom to launch more than one app in a single session improves both usability and efficiency.

As you might imagine, the OS does much more than push graphics from an application to the screen. Some OS hardware services include: disk access and management; memory access; network device control; Input and Output device control; expansion card access; etc. For now, try not to worry about any hardware terms you're unfamiliar with. You may recall from an earlier paragraph that I used the word 'policy'. Policies are governed by System Software and define access privileges and restraints on a 'user by user', 'group by group' and 'application by application' basis. Some examples of OS policies include: limiting user access to his/her data; managing Application Software's hardware utilization; managing shared resources between multiple applications; setting system securities and Access Control Lists (ACLs); etc.

In summary, we define a General Purpose Operating System as a set of System Software meant to deliver hardware and policy services to Application Software. In turn, users can access data (either locally or remotely) by using the services offered by Application Software. Remember that we've only covered the surface of General Purpose (or Mobile) OSs. There are other Operating Systems with similar features, but not all follow a similar model. For example, it's likely that a production computer is driven by an embedded OS designed to control machinery rather than interface with users. Other computing devices, such as communication systems, are likely to run a Real-Time OS (RTOS), whose primary goal is to receive, process, and transmit data within predictable margins of time. Regardless, the information here can act as a foundation when further investigating other OS types. Keep your head high and your sight toward a brighter tomorrow! Till then, chow.

Related Posts by Zack Sims:
Window Managers and Systems Vs Desktop Shells and Environments

6 comments:

  1. Hello are using Wordpress for your blog platform? I'm new to the blog world but I'm trying to get started and set up my own. Do you need any coding knowledge to make your own blog? Any help would be really appreciated! netflix login member

    ReplyDelete
    Replies
    1. Hello Oscar. I've been so disconnected from this blog that I'd almost forgotten I'd written it :)

      The wonderful (and sometimes terrible) part of blogging is that anyone can do it. This particular blog is written using a free Google product called "Blogger." The only thing I pay for is the URL, which is approximately $15 yearly.

      Some blogging platforms allow you to edit the look and feel using simple coding called "markup" or "markdown" languages. If you've ever seen HTML, it will look similar to that.

      Though I've never used WordPress, I'm sure it's a good product. If you're wanting to get your feet wet, however, Blogger is extremely user friendly!

      Best of luck,
      Zack

      Delete
  2. Calculate your monthly mortgage payment using today's rates. mortgage payment calculator I would 100% recommend Refresh to anyone looking to rebuild credit with very little hassle as you possibly can. mortgage payment calculator canada

    ReplyDelete
  3. You have shared a lot of information in this article. I would like to express my gratitude to everyone who contributed to this useful article. Keep posting. Dynamic Packaging System Software Online

    ReplyDelete
  4. The information you've provided is useful because it provides a wealth of knowledge that will be highly beneficial to me. Thank you for sharing that. Keep up the good work. remote pc spy software online

    ReplyDelete
  5. Just remember that that|do not forget that} taking part in} online roulette is supposed to be fun, first and foremost, which is why we remind you to always game responsibly. Other than that, there are over a dozen roulette video games to 메리트카지노 play at BetOnline, together with low- and high-stake video games. High rollers might be especially drawn to American Roulette, the place the minimal stake is $1,000 and the maximum is $10,000. In this article, FortuneCity brings you a evaluation of 2022’s greatest roulette sites. Visit FortuneCity on YouTube and Twitch for the newest roulette playthroughs and online on line casino streams. There's no particular answer for this query as the principles of the array of traditional and trendy roulette variations are fully different.

    ReplyDelete