Introduction to Information Systems Engineering 3. System Software System Software ● Works with end users, application programs, and computer hardware to handle many details relating to computer operations. ● Includes: Operating systems coordinate resources, provide an interface between users and the computer, and run programs. Utilities perform specific tasks related to managing computer resources. Device drivers allow particular input or output devices to communicate with the rest of the computer system. Language translators convert programming instructions into a language that computers understand and process. 2 Outline ● Computer System and Operating System ● Functions of Operating System ● Categories of Operating Systems ● Utilities 3 Computer System and Operating System Operating System ● A program that acts as an intermediary between a user of a computer and the computer hardware. ● Operating system goals: Executing user programs and make solving user problems easier. Making the computer system convenient to use. Using the computer hardware in an efficient manner. ● Items necessary to understand the role of the operating system: Computer System Structure Computer System Organization 4 Computer System and Operating System Computer System Structure Operating system and other components of the computer system ● Hardware: provides basic computing resources CPU, memory, I/O devices ● Operating system: controls and coordinates use of hardware among various applications and users ● Application programs: define the ways in which the system resources are used to solve the computing problems of the users word processors, compilers, web browsers, database systems ● Users People, machines, other computers 5 Computer System and Operating System Image of Computer System user 1 text editor user 2 user 3 compilers web browsers … … Application programs Operating System Computer hardware user n database systems Computer System and Operating System Computer System Organization CPU Disk Controller USB Controller Display Adaptor System Bus Memory Unit 7 Computer System Organization ● CPU (Central Processing Unit): An electronic circuit that executes instructions that make up a computer program. ● System Bus: A communication path that exchanges data from the CPU to other components of the computer. ● Memory Unit: A computer component where the CPU stores data and instructions (Details will be introduced in the 6th week. ) 8 Outline ● Computer System and Operating System ● Functions of Operating System ● Categories of Operating Systems ● Utilities 9 Functions of Operating System ● Process Management ● Memory management ● File Management ● Device Management or I/O Management ● Security & Protection ● User Interface Mechanism 10 Functions of Operating System Process Management ● A process is a program in execution. It is a unit of work within the system. ● Process needs resources to accomplish its task. ● When multiple processes exist in the system and require the same resources at the same time, the operating system must manage all processes and resources in a convenient and efficient way. 11 Process Management Process State The process, from its creation to completion, passes through various states. The process may be in one of the following states during execution. ● new: The process is being created ● running: Instructions are being executed ● waiting: The process is waiting for some event to occur ● ready: The process is waiting to be assigned to a processor ● terminated: The process has finished execution 12 Process Management Diagram of Process State 13 Process Management ● The created process automatically goes from new state to ready state in most desktop computer systems. ● If there are multiple processes in the ready state, the process selected by the scheduler is assigned to the CPU by the dispatcher and becomes the running state. ● A process in the running state will be in the terminated state when it completes execution or is explicitly being killed. ● A process in the running state becomes ready state by an interrupt. ● A process in the running state will be in the waiting state when it requests execution of input / output. ● A process in the waiting state will be in the ready state when the / O execution is completed. I 14 Functions of Operating System Memory management ● Memory is a large array of words or bytes, each with its own address. ● To execute a program all (or part) of the instructions must be in memory. ● All (or part) of the data that is needed by the program must be in memory. 15 Memory management About Memory ● Hardware view: Electronic circuits to store and retrieve information. ● The Bit (binary element) is the storage unit, the byte (8 bits) is the addressing unit. ● Word is a natural unit of data used in a particular processor design. The largest amount of data a processor can transfer to and from memory in a single operation is words. Word sizes are typically 32-bits or 64-bits on modern general-purpose computers. 16 Memory management Memory management activities ● Keeping track of which portion of memory are currently being used and who is using them. ● Determining which processes and data to move into and out of memory. ● Allocation and deallocation of memory blocks as needed by the program in main memory. (Garbage collection). 17 Functions of Operating System File Management ● A file is a collection of related information defined by its creator. ● File systems provide the conventions for the encoding, storage and management of data on a storage device. ● File management activities: Creating and deleting files and directories Primitives to manipulate files and directories Mapping files onto secondary storage 18 Functions of Operating System Device Management ● Device management in an operating system means controlling the Input/Output devices like disk, microphone, keyboard, printer, magnetic tape, USB ports, camera, scanner, other accessories. ● A process may require various resources, including main memory, file access, and access to disk drives, and others. If resources are available, they could be allocated, and control returned to the CPU. Otherwise, the procedure would have to be postponed until adequate resources become available. 19 Functions of Operating System Device Management Activities ● Keeping tracks of all devices connected to system. Program responsible for this task is known as the I/O controller. ● Deciding which process gets access to a certain device and for how long. ● Allocating devices in an effective and efficient way. ● Deallocating devices when they are no longer required. 20 Functions of Operating System Security & Protection ● Protection: any mechanism for controlling access of processes or users to resources defined by the Operating System. ● Security: defense of the system against internal and external attacks ● Threats to Protection and Security Virus Trojan Horse Trap Door Worm 21 Security & Protection Protection Methods ● Authentication: the process of recognizing or identifying a user’s identity whether it is true, real, or not. ● Authorization: Ensuring whether the user has access permission. ● Biometric system: Verifying the user’s identity based on several important characteristics that are physiological and behavioral features. ● Firewall: A method of network security that prevents the computer network from users that are not authorized to have access to a network. Firewalls can either be hardware or software or both. 22 Functions of Operating System User Interface Mechanism ● A user interface (UI) controls how you enter data and instructions and how information is displayed on the screen. ● Two types of user interfaces Command Line Interface Graphical User Interface 23 User Interface Mechanism Command Line Interface ● A command-line interface (CLI) processes commands to a computer program in the form of lines of text. ● CLI is generally used by using a terminal emulator. ● Well known terminal emulator: Windows PowerShell for Windows Terminal for macOS an example of Terminal (Details will be introduced in weeks 4 and 5. ) 24 User Interface Mechanism Graphical user Interface ● The graphical user interface (GUI) is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, instead of text-based user interfaces ● macOS Aqua: The trade name for the graphical user interface (GUI) appearance of Apple's Mac OS X and macOS operating systems. ● Windows Universal Windows Platform (UWP): A GUI builder that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements. 25 Outline ● Computer System and Operating System ● Functions of Operating System ● Categories of Operating Systems ● Utilities 26 Categories of Operating Systems ● Embedded operating systems RTOS (real-time operating systems) Operating systems stored within the device. ● Stand-alone operating systems Desktop operating systems Operating systems which control a single desktop or laptop computer. Operating systems located on the computer’s hard disk. ● Network operating systems Operating systems which are used to control and coordinate computers that are networked or linked together. 27 Categories of Operating Systems Mobile Operating Systems ● A type of embedded operating system. ● Two of the best known. Android was developed by Google. ▪ It is used as the operating system for some of the most popular cell phone. iOS was developed by Apple. ‧ It is used as the platform for Apple’s mobile devices. 28 Categories of Operating Systems Desktop Operating Systems ● Windows ● MacOS ● UNIX ● Linux 29 Desktop Operating Systems Windows ● It is designed to run with many different microprocessors. ● Windows 10 is currently the most widely used Windows series operating system. ● The most recent version is Windows 11. macOS ● An innovative, powerful, easy-to-use operating system ● It runs on Macintosh computers. ● macOS Monterey 12, macOS Ventura 13 30 Desktop Operating Systems UNIX ● It was originally designed to run on minicomputers in network environments. ● It is widely used by servers on the web, mainframe computers, and very powerful personal computers. Linux ● It is an operating system that extended one of the UNIX versions. ● It is open-source software. 31 Outline ● Computer System and Operating System ● Functions of Operating System ● Categories of Operating Systems ● Utilities 32 Utilities ● Specialized programs to make computing easier ● Most essential utilities Troubleshooting or diagnostic programs ▪ Recognizes and correct problems Antivirus programs ▪ Guard your computer against viruses Backup programs ▪ Copies of files to restore if necessary File compression programs ▪ Reduces the size of files for more efficient storage 33