1.6 Operating Systems

  • Make using computers more convenient for users, application developers and system administrators
  • Provide services that allow each application to execute safely, efficiently and concurrently with other applications
  • Core components of the operating system are implemented in the kernel
  • Linux, Windows and macOS are popular desktop computer operating systems
  • Google’s Android and Apple’s iOS are the most popular mobile operating systems

Windows—A Proprietary Operating System

  • In the mid-1980s, Microsoft developed the Windows operating system, consisting of a graphical user interface built on top of DOS (Disk Operating System)
  • Windows 10 is Microsoft’s latest operating system
  • Windows is a proprietary operating system controlled by Microsoft
  • Windows is by far the world’s most widely used desktop operating system

Linux—An Open-Source Operating System

  • Among the greatest successes of the open-source movement
  • With open-source development, individuals and companies contribute their efforts in developing, maintaining and evolving software in exchange for the right to use that software for their own purposes, typically at no charge
  • Open-source code is often scrutinized by a much larger audience than proprietary software, so errors often get removed faster
  • Open source also encourages innovation

Linux—An Open-Source Operating System (cont.)

  • Some key open-source organizations:
    • Python Software Foundation (responsible for Python)
    • GitHub (tools for managing open-source projects)
    • The Apache Software Foundation (originally creators of Apache web server, now oversees 350 open-source projects)
    • The Eclipse Foundation (the Eclipse Integrated Development Environment helps programmers conveniently develop software)
    • The Mozilla Foundation (creators of the Firefox web browser and more)
    • OpenML (focuses on open-source tools and data for machine learning)
    • OpenAI (does research on artificial intelligence and publishes open-source tools used in AI reinforcement-learning research)
    • OpenCV (focuses on open-source computer-vision tools that can be used across a range of operating systems and programming languages)

Linux—An Open-Source Operating System (cont.)

  • The Linux kernel is developed by a loosely organized team of volunteers
  • Linux is popular in servers, personal computers and embedded systems (such as the computer systems at the heart of smartphones, smart TVs and automobile systems)
  • Linux source code (the program code) is available to the public for examination and modification and is free to download and install

Apple’s macOS and Apple’s iOS for iPhone® and iPad® Devices

  • Apple, founded in 1976 by Steve Jobs and Steve Wozniak, quickly became a leader in personal computing
  • In 1979, Jobs and several Apple employees visited Xerox PARC (Palo Alto Research Center) to learn about Xerox’s desktop computer that featured a graphical user interface (GUI)
  • That GUI served as the inspiration for the Apple Macintosh, launched in 1984.

Apple’s macOS and Apple’s iOS for iPhone® and iPad® Devices (cont.)

  • Objective-C programming language, created by Stepstone, added capabilities for object-oriented programming (OOP) to the C programming language
  • In 1988, NeXT licensed Objective-C from Stepstone and developed an Objective-C compiler and libraries
    • Used as the platform for the NeXTSTEP operating system’s user interface, and Interface Builder—used to construct graphical user interfaces
  • Apple’s macOS operating system is a descendant of NeXTSTEP
  • Apple’s proprietary operating system, iOS, is derived from macOS and is used in the iPhone, iPad, Apple Watch and Apple TV devices
  • In 2014, Apple introduced the Swift programming language
    • Became open source in 2015
    • The iOS app-development community has largely shifted from Objective-C to Swift

Google’s Android

  • Android—the fastest growing mobile and smartphone operating system—is based on the Linux kernel and the Java programming language
  • Android is open source and free.
  • According to idc.com, as of 2018, Android had 86.8% of the global smartphone market share, compared to 13.2% for Apple
  • Android is used in numerous smartphones, e-reader devices, tablets, in-store touch-screen kiosks, cars, robots, multimedia players and more

Billions of Devices

  • In use today are billions of personal computers and an even larger number of mobile devices
  • Explosive growth of mobile phones, tablets and other devices is creating significant opportunities for programming mobile apps
  • There are now various tools that enable you to use Python for Android and iOS app development, including BeeWare, Kivy, PyMob, Pythonista and others
  • Many are cross-platform, meaning that you can use them to develop apps that will run portably on Android, iOS and other platforms (like the web)

©1992–2020 by Pearson Education, Inc. All Rights Reserved. This content is based on Chapter 1 of the book Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and the Cloud.

DISCLAIMER: The authors and publisher of this book have used their best efforts in preparing the book. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The authors and publisher make no warranty of any kind, expressed or implied, with regard to these programs or to the documentation contained in these books. The authors and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs.