Understanding Software: A Primer for Managers

Operating Systems

Learning Objectives


After studying this section you should be able to do the following:
  1. Understand what an operating system is and why computing devices require operating systems.
  2.  Appreciate how embedded systems extend Moore's Law, allowing firms to create "smarter" products and services

Computing hardware needs to be controlled, and that's the role of the operating system. The operating system (sometimes called the "OS") provides a common set of controls for managing computer hardware, making it easier for users to interact with computers and for programmers to write application software. Just about every computing device has an operating system - desktops and laptops, enterprise-class server computers, your mobile phone. Even specialty devices like iPods, video game consoles, and television set top boxes run some form of OS.

Some firms, like Apple and Nintendo, develop their own proprietary OS for their own hardware. Microsoft sells operating systems to everyone from Dell to the ATM manufacturer Diebold (listen for the familiar Windows error beep on some cash machines). And there are a host of specialty firms, such as Wind River (purchased by Intel), that help firms develop operating systems for all sorts of devices that don't necessarily look like a PC, including cars, video editing systems, and fighter jet control panels.

Anyone who has used both a PC and a Mac and has noticed differences across these platforms can get a sense of the breadth of what an operating system does. Even for programs that are otherwise identical for these two systems (like the Firefox browser), subtitle differences are visible. Screen elements like menus, scroll bars, and window borders look different on the Mac than they do in Windows. So do the dialog boxes that show up when you print or save.

These items look and behave differently because each of these functions touches the hardware, and the team that developed Microsoft Windows created a system distinctly different from their Macintosh counterparts at Apple. Graphical user interface (UI) items like scroll bars and menus are displayed on the hardware of the computer display. Files are saved to the hardware of a hard drive or other storage device. Most operating systems also include control panels, desktop file management, and other support programs to work directly with hardware elements like storage devices, displays, printers, and networking equipment. The Macintosh Finder and the Windows Explorer are examples of components of these operating systems. The consistent look, feel, and functionality that operating systems enforce across various programs help make it easier for users to learn new software, which reduces training costs and operator error. See Figure 9.2 for similarities and differences.

Figure 9.2



Differences between the Windows and Mac operating systems are evident throughout the user interface, particularly when a program interacts with hardware.

Operating systems are also designed to give programmers a common set of commands to consistently interact with the hardware. These commands make a programmer's job easier by reducing program complexity and making it faster to write software while minimizing the possibility of errors in code. Consider what an OS does for the Wii game developer. Nintendo's Wii OS provides Wii programmers with a set of common standards to use to access the Wiimote, play sounds, draw graphics, save files, and more. Without this, games would be a lot more difficult to write, they'd likely look differently, be less reliable, would cost more, and there would be fewer titles available.

Similarly, when Apple provided developers with a common set of robust, easy-to-use standards for the iPhone and (via the App Store) an easy way for users to install these applications on top of the iPhone/iPod Touch OS, software development boomed, and Apple became hands-down the most versatile mobile computing device available.The iPhone and iPod Touch OS is derived from Apple's Mac OS X operating system. In Apple's case, some fifty thousand apps became available through the App store in less than a year. A good OS and software development platform can catalyze network effects. While the OS seems geeky, its effective design has very strategic business implications!

Figure 9.3 Operating System Market Share for Desktop, Server, and Mobile Phones




Firmware and Embedded Systems

Most personal computers have an operating system installed on their hard drives. This system allows the OS to be replaced or upgraded easily. But many smaller, special-purpose computing devices have their operating systems installed on nonvolatile memory, often on read-only memory (ROM) chips. Control programs stored on chips are sometimes referred to as firmware. The OS in an iPod, mobile phone, or your TV's set-top box is most likely stored as firmware. Your PC also has a tiny bit of firmware that allows it to do very basic functions like startup (boot) and begin loading its operating system from disk.

Another term you might hear is embedded systems. As computing gets cheaper, special-purpose technology is increasingly becoming embedded into all sorts of devices like cars, picture frames, aircraft engines, photocopiers, and heating and air conditioning systems. The software programs that make up embedded systems are often stored as firmware too.

Moore's law enables embedded systems, and these systems can create real strategic value. The Otis Elevator Company, a division of United Technologies, uses embedded systems in its products to warn its service centers when the firm's elevators, escalators, and moving walkways need maintenance or repair. This warning provides Otis with several key benefits:

  1. Since products automatically contact Otis when they need attention, these systems generate a lucrative service business for the firm and make it more difficult for third parties to offer a competing business servicing Otis products.
  2. Products contact service technicians to perform maintenance based on exact needs (e.g., lubricant is low, or a part has been used enough to be replaced) rather than guessed schedules, which makes service more cost effective, products less likely to break down, and customers happier.
  3. Any product failures are immediately detected, with embedded systems typically dispatching technicians before a client's phone call.
  4. The data is fed back to Otis's R&D group, providing information on reliability and failure so that engineers can use this info to design better products.

Collectively, software embedded on tiny chips yields very big benefits, for years helping Otis remain at the top of its industry.


Key Takeaways

  • The operating system (OS) controls a computer's hardware and provides a common set of commands for writing programs.
  • Most computing devices (enterprise-class server computers, PCs, phones, set-top boxes, video games, cars, the Mars Rover) have an operating system.
  • Some products use operating systems provided by commercial firms, while others develop their own operating system. Others may leverage open-source alternatives (see Chapter 10 "Software in Flux: Partly Cloudy and Sometimes Free").
  • Embedded systems are special-purpose computer systems designed to perform one or a few dedicated functions, and are frequently built into conventional products like cars, air conditioners, and elevators.
  • Embedded systems can make products and services more efficient, more reliable, more functional, and can enable entire new businesses and create or reinforce resources for competitive advantage.


Questions and Exercises
  1. What does an operating system do? Why do you need an operating system? How do operating systems make a programmer's job easier? How do operating systems make life easier for end-users?
  2. How has the market for desktop, server, and mobile operating systems changed in recent years? Do certain products seem to be gaining traction? Why do you think this is the case?
  3. What kinds of operating systems are used in the devices that you own? On your personal computer? Your mobile phone? The set-top box on top of your television? Are there other operating systems that you come into contact with? If you can't tell which operating system is in each of these devices, see if you can search the Internet to find out.
  4. For your list in the prior question (and to the extent that you can), diagram the hardware/software "layer cake" for these devices.
  5. For this same list, do you think each device's manufacturer wrote all of the software that you use on these devices? Can you add or modify software to all of these devices? Why or why not? What would the implications be for cost, security, complexity, reliability, updates and upgrades, and the appeal of each device?
  6. Some ATM machines use Windows. Why would an ATM manufacturer choose to build its systems owing Windows?
  7. Why might it want to avoid this? Are there other non-PC devices you've encountered that were running some form of Windows?
  8. What are embedded systems? When might firms want to install software on chips instead of on a hard drive?
    It's important to understand how technology impacts a firm's strategy and competitive environment. Consider the description of Otis elevator's use of embedded systems. Which parts of the value chain does this impact? How? Consider the "five forces": How does the system impact the firm's competitive environment? Are these systems a source of competitive advantage? If not, explain why not? If they are, what kinds of resources for competitive advantage can these kinds of embedded systems create?
  9. Can you think of other firms that can or do leverage embedded systems? Provide examples and list the kinds of benefits these might offer firms and consumers.
  10. Research the Americans with Disabilities Act of 1990 (or investigate if your nation has a similar law), and the implications of this legislation for software developers and Web site operators. Have firms been successfully sued when their software or Web sites could not be accessed by users with physical challenges? What sorts of issues should developers consider when making their products more accessible? What practices might they avoid?