Course name: FUNDEMENTAL OF ENGINNERING (CS) Chapter : FOUR Lecturer: Ahmed Adan Ahmed Luunge Phone No.: +252615707595/612680361 Email: [email protected] ENG SAHAL LUUNGE 1
Software Software is a collection of instructions, data, or computer programs that are used to run machines and carry out particular activities. It is the antithesis of hardware, which refers to a computer’s external components. A device’s running programs, scripts, and applications are collectively referred to as “software” in this context. What is a Software? In a computer system, the software is basically a set of instructions or commands that tell a computer what to do. In other words, the software is a computer program that provides a set of instructions to execute a user’s commands and tell the computer what to do. For example like MS-Word, MS-Excel, PowerPoint, etc. ENG SAHAL LUUNGE 2
Types of Software It is a collection of data that is given to the computer to complete a particular task. The chart below describes the types of software : ENG SAHAL LUUNGE 3
Types of Software System Software Operating System Language Processor Device Driver Application Software General Purpose Software Customize Software Utility Software ENG SAHAL LUUNGE 4
What is System Software? System software is software that provides a platform for other software. Some examples can be operating systems, antivirus software, disk formatting software, computer language translators, etc. These are commonly prepared by computer manufacturers. This software consists of programs written in low-level languages, used to interact with the hardware at a very basic level. System software serves as the interface between the hardware and the end users. ENG SAHAL LUUNGE 5
System software refers to the collection of programs and software components that enable a computer or computing device to function properly. It acts as an intermediary between the user and the computer hardware, allowing the user to interact with the hardware and use various applications and programs. Some common types of system software include operating systems (such as Windows, macOS , or Linux), device drivers, utility programs, programming languages, and system libraries. ENG SAHAL LUUNGE 6
Operating systems are the most important type of system software, as they provide the foundational framework for all other software and applications to run on the computer. They manage computer resources, such as memory and processing power, and provide a user interface for users to interact with the system. Device drivers are another important type of system software, as they allow the operating system to communicate with hardware devices such as printers, scanners, and graphics cards. Utility programs provide additional functionality to the operating system, such as disk defragmentation, virus scanning, and file compression. ENG SAHAL LUUNGE 7
Examples of System Software System software is a type of computer program that is designed to run a computer’s hardware and application programs and examples of system software include operating systems (OS) (like macOS , Linux, Android, and Microsoft Windows), game engines, search engines(like google,Bing,Yahoo !), industrial automation, computational science software, and ( SaS )software as a service applications. Operating systems (OS): Windows, Linux, macOS , etc. Device drivers: software that enables the communication between hardware and OS. Firmware : pre-installed low-level software that controls a device’s basic functions. Utility software: tools for system maintenance and optimization. Boot loaders : software that initializes the OS during startup . ENG SAHAL LUUNGE 8
Why use System Software? Here are some reasons why system software is necessary: Hardware Communication: System software serves as an interface between the hardware and software components of a computer, enabling them to communicate and work together. Resource Management: System software manages computer resources such as memory, CPU usage, and storage, optimizing their utilization and ensuring that the system operates efficiently. Security: System software provides security measures such as firewalls, antivirus software, and encryption, protecting the system and its data from malware, viruses, and other security threats. User Interface: System software provides a user interface that allows users to interact with the computer or computing device and perform various tasks. ENG SAHAL LUUNGE 9
Application Support: System software supports the installation and running of applications and software on the system. Customization: System software allows for customization of the system settings and configuration, giving users greater control over their computing environment . ENG SAHAL LUUNGE 10
Features of System Software The most important features of system software are as below. Memory Management: operating system perform memory management. The OS keeps track of the primary memory and allocates the memory when a process requests it. Processor Management: OS performs process management. Allocates the main memory (RAM) to a process and de-allocates it when it is no longer required. File Management: Operating system perform file management. Allocates and de-allocates the resources and decides who gets the resources. Security: Prevents unauthorized access to programs and data using passwords. Scheduling: The OS schedules the process through its scheduling algorithms. ENG SAHAL LUUNGE 11
Types of System Software 1. Operating System An operating system (OS) is a type of system software that manages a computer’s hardware and software resources. It provides common services for computer programs. An OS acts as a link between the software and the hardware. It controls and keeps a record of the execution of all other programs that are present in the computer, The main functions of operating systems are as follow: Resource Management: The operating system manages and allocates memory, CPU time, and other hardware resources among the various programs and processes running on the computer. ENG SAHAL LUUNGE 12
Process Management: The operating system is responsible for starting, stopping, and managing processes and programs. It also controls the scheduling of processes and allocates resources to them. Memory Management: The operating system manages the computer’s primary memory and provides mechanisms for optimizing memory usage. Security: The operating system provides a secure environment for the user, applications, and data by implementing security policies and mechanisms such as access controls and encryption. File Management: The operating system is responsible for organizing and managing the file system, including the creation, deletion, and manipulation of files and directories. Device Management: The operating system manages input/output devices such as printers, keyboards, mice, and displays. It provides the necessary drivers and interfaces to enable communication between the devices and the computer. ENG SAHAL LUUNGE 13
2. Programming Language Translator Programming language translators are programs that translate code written in one programming language into another programming language. below are examples of programming language translator. Compiler: A compiler is a software that translates the code written in one language to some other language without changing the meaning of the program. Examples of compilers may include gcc (C compiler), g++ (C++ Compiler ), javac (Java Compiler), etc . Interpreter: An interpreter is a computer program that directly executes, i.e. it performs instructions written in a programming or scripting language. Assembler : An assembler is a program that converts the assembly language into machine code. It takes the basic commands and operations and converts them into binary code specific to a type of processor. ENG SAHAL LUUNGE 14
3. Device Drivers Device drivers are a class of system software that minimizes the need for system troubleshooting. Internally, the operating system communicates with hardware elements. Device drivers make it simple to manage and regulate this communication. 4. Firmware These are the operational programs installed on computer motherboards that assist the operating system in distinguishing between Flash, ROM, EPROM, and memory chips. However, managing and controlling all of a device’s actions is the main purpose of any firmware software. For initial installation, it makes use of non-volatile chips. There are mainly two main types of firmware chips: BIOS (Basic Input/Output System) chip. UEFI (Unified Extended Firmware Interface) chips. ENG SAHAL LUUNGE 15
5. Utility Software System Software and application software interact through utility software. A third-party product called utility software is created to lessen maintenance problems and find computer system defects. It is included with your computer’s operating system. ENG SAHAL LUUNGE 16
What is an Application Software? The term “application software” refers to software that performs specific functions for a user. When a user interacts directly with a piece of software, it is called application software. The sole purpose of application software is to assist the user in doing specified tasks. Microsoft Word and Excel, as well as popular web browsers like Firefox and Google Chrome, are examples of application software . ENG SAHAL LUUNGE 17
Functions of Application Software Application software programs are created to help with a wide range of tasks. Here are a few examples: Information and data management Management of documents (document exchange systems) Development of visuals and video Emails, text messaging, audio, and video conferencing, and cooperation are all options. Management of accounting, finance, and payroll Management of resources (ERP and CRM systems) Management of a project Management of business processes Software for education (LMS and e-learning systems) Software for healthcare applications ENG SAHAL LUUNGE 18
Application Software ENG SAHAL LUUNGE 19
Types of Application Software Application software can also be categorized based on its charge ability and accessibility. Here is some application software: Freeware: It is offered for free, as the name implies. You can utilize freeware application software that you can obtain from the Internet. This software, on the other hand, does not allow you to change it or charge a fee for sharing it. Examples include Adobe PDF, Mozilla Firefox, and Google Chrome. Shareware: This is given away to users for free as a trial, usually with a limited-time offer. If consumers want to keep using this application software, they will have to pay. WinZip, Anti-virus, and Adobe Reader are instances of shareware. Open-source: This type of application software comes with the source code, allowing you to edit and even add features to it. These could be offered for free or for a fee. Open-source application software includes Moodle and Apache Web Server. ENG SAHAL LUUNGE 20
Closed source: This category includes the majority of the application software programs used nowadays. These are normally charged, and the source code is usually protected by intellectual property rights or patents. It usually comes with a set of restrictions. Microsoft Windows, Adobe Flash Player, WinRAR, macOS , and other operating systems are examples. Word Processing Software: Word Processing Software can be explained as software that has the functionalities of editing, saving, and creating documents with Word Processor Software like Microsoft Word. Spreadsheet Software: Spreadsheet Software is a kind of software that deals with the worksheet where it works on some automated version to perform numeric functions. For Example, Microsoft Exce l. ENG SAHAL LUUNGE 21
Presentation Software: It is a type of application software that is used to present some applications like newly launched functions, products, etc. For Example, Microsoft Powerpoint . Multimedia Software: Multimedia refers to the mixture of audio, video, image, text, etc., and can be displayed or used with the help of multimedia software. There are so many media players that do this kind of work. Web Browsers: Web Browser is one of the most used applications worldwide, it takes you to the internet. You can use your desktop, mobile, etc for using this. Educational Software: Due to the enhancement of the Internet, there are so many educational software runs in the market. It consists of Language learning Software, Classroom Management Software, etc. ENG SAHAL LUUNGE 22
Graphics Software: Graphics Software is also used in large amounts. There are so many applications where it is used. Some of the applications include Canva , Adobe, PhotoShop , etc. Examples of Application Software Some examples of application software are: System for Hotel Management: It relates to the hotel industry’s management strategies. Hotel administration, accounting, billing, marketing, housekeeping, and front office or front desk. System for Payroll Management: It is a term used by all modern businesses to refer to every employee who receives a regular salary or another form of payment. System for Human Resources Management: It describes the systems and activities that exist at the nexus of Human Resource Management (HRM) and Information Technology (IT). ENG SAHAL LUUNGE 23
Attendance Recording System: It’s a piece of software that tracks and optimizes a person’s or student’s presence in an organization or school. Nowadays, customers’ existing time/attendance recording devices, such as biometrics/access cards, can be connected with attendance systems. System of Billing: It is the billing software that is utilized to complete the billing process ENG SAHAL LUUNGE 24