Ch. 8 – System Software and Application Software Supplementary Notes System Software Operating System (OS) It is responsible for the management and coordination of processes and the sharing of the resources of the computer. Examples (pp.185-189): PC/Server: MS-DOS (Disk Operating System), FreeDOS, Windows Family (95/98/NT/Me/2000/XP/Vista), Linux, FreeBSD, Unix, MacOS, etc. PDA: PalmOS, Windows Mobile, etc. Smartphone: Symbian OS, Andriod, PalmOS, Windows Mobile, etc. Basic Features (p.181) Single-tasking VS Multi-tasking Single-tasking: allowing only one process to be executed at the same time. (A process is suspended when switching to run another program) Multi-tasking: executing multiple tasks apparently at the same time by time-sharing (CPU time is shared by several processes) ... Process N Process 3 Process 2 Process 1 ... Process N Process 3 Process 2 Process 1 ... Process N Process 3 Process 2 Process 1 ... ... Single-user VS Multi-user Single-user: being usable only by one person at a time, Multi-user: allowing concurrent (remote) access by multiple users. Multi-processing Supporting two or more CPUs (running cooperatively at the same time) also called “Symmetric Multiprocessing” (SMP) Time Single-user, multi-tasking OS: This is the type of operating system most people use on their desktop and laptop computers today Ref: http://computer.howstuffworks.com/operating-system3.htm Basic Functions (p.182) Process Management: Process scheduling (arrange the priority and the order of execution) Controlling the execution of programs Multi-tasking Memory Management: Allocation of memory to processes Memory protection (one process cannot access the memory space of another) Paging or Swapping (of virtual memory) File I/O and Disk Management Manage file read/write (e.g. arrange the sequence of read/write) Maintain the file system on disk (e.g. creation of folders, deletion of files) File protection and recovery S4 CIT Ch.8 Supplementary Notes P.1/4 Ch. 8 – System Software and Application Software Supplementary Notes Device I/O and Management Capture data input from peripherals; Manage data output to peripherals Control the peripherals Network Communication Manage communications (sending and receiving data) over network Security: User right management (e.g. authentication) Maintain access control list for files or services User Interface – Allow the user to operate the computer User Interface (p.186) Command Line Interface (CLI) Display text only Operate by typing commands User has to memorize commands Operation is faster for experienced user Consume less resources (CPU and RAM) Example: DOS, Linux console Graphical User Interface (GUI) Graphical environments with windows, menus, icons, scrollbars, buttons Operate by using the pointing device (e.g. mouse) Mouse actions: click, double-click, drag and drop User doesn’t have to memorize command (operation is more intuitive) Operation is sometimes slower when both typing and mouse actions are required Consume more resources (especially for visual effects, e.g. fade-in, fade-out, etc.) Example: Windows 95 or above, Mac OS X, X-window on Linux or Unix Device Driver (p.179) Device driver, or driver program, is a computer program that allows higher-level computer programs to interact with a hardware device. It acts as a translator, converting general commands into specific instructions that the device understands. To operate a hardware device, the corresponding driver program must be already installed in the operating system. If there is no device driver installed, the device may not operate at all. Some device drivers are already installed in some modern OS and thus no installation is required to operate the hardware device. E.g. mouse and keyboard. Plug and Play (PnP) refers to the ability that the computer can detect and identify a device, and load the corresponding device driver automatically without any manual configuration. Note that the driver should be already installed. Ref: http://en.wikipedia.org/wiki/Device_Driver Ref: http://en.wikipedia.org/wiki/Plug-And-Play Network Operating System (NOS) (p.185) It is an OS built for network environment, its functions include: Security features: user authentication (identifying a user by username and password) and access control (restriction of user right), Network resources management (e.g. managing print queue, file storage), etc. Examples: UNIX, Linux, Windows NT/2000/XP/Vista. Ref: http://en.wikipedia.org/wiki/Network_Operating_System S4 CIT Ch.8 Supplementary Notes P.2/4 Ch. 8 – System Software and Application Software Supplementary Notes Interactions among user, applications, OS and Hardware: User Application Application Application Operating System Software Process Management Device I/O and Management Memory Management File I/O and Disk Management Network Communication Security User Interface Device drivers Hardware Utility Program (pp.182-183) A program that performs a specific task related to the management of computer functions, resources, or files, as password protection, memory management, virus protection, and file compression. Examples: Virus scanner (Anti-virus software), disk defragmenter, disk format tool, compression software, encryption software, backup and etc. Utility software has long been integrated into most major operating systems. Ref: http://www.answers.com/topic/utility-program Ref: http://en.wikipedia.org/wiki/Software_utility File Attributes A file attribute is metadata (data that describes data) is associated with a computer file. The information are maintained by the OS and stored in the file system. File size and date/time (Creation date, Last modified date, Last access date) File Attributes (narrower definition, as on/off flag): Read-only – write protected (the file cannot be modified or deleted) Archive – not yet archived (backed up); set when the file has been modified System – system file (may be hidden from normal users) Hidden – the file is not shown in ordinary directory listing Others: Permissions (access control list), Compressed Ref: http://en.wikipedia.org/wiki/File_attribute Ref: http://www.xxcopy.com/xxcopy06.htm Application Software (p.179 and Ch.3) An application (software) is a computer program designed to help people perform a certain type of work (or a specific task). Examples: Word Processing Software (Word Processor), Spreadsheet Software, Presentation Software, Database Management System (DBMS) Software (Database Software) Email Program, Web Browser, FTP Program Ref: http://en.wikipedia.org/wiki/Application_software S4 CIT Ch.8 Supplementary Notes P.3/4 Ch. 8 – System Software and Application Software Supplementary Notes Packaged Software VS Custom Software Packaged software refers to the software available in the market. Custom software is tailor-made software providing specific functions that are not available from any software in the market. It is developed and customized for certain companies, organizations or government. It is more expensive in general; Training for users may be required. Examples: ATM (automatic teller machine) system, POS (point-of-sale) system, SAMS (school administration and management system), Ticketing machine, etc. Installation of software Minimum – install the minimum set of components of the software Typical – install the most common components of the software Complete – install all components of the software Custom – the user can choose what components to install Plug-in or add-on refers to a small program that extends the capability of an application. example, flash player plug-in for web browser. For Application Software and File Formats The OS associates file extensions with applications, and maintains the file icons. When a user opens a file (e.g. double-click a file), the OS will launch the default application to open it. .txt .csv .doc .pdf .jpg Text File Comma-separated Values Word Document PDF (portable document format) Image (JPEG), or .jpeg .exe .ttf .xls .zip .gif Executable file True-type Font file Excel Spreadsheet Compressed file (ZIP format) Image (GIF) .dll .ico .ppt .7z .png Library file (system file) Icon file PowerPoint slideshow Compressed file (7zip format) Image (PNG) .htm HTML file (web page), or .html .bmp Image (Windows Bitmap) .tif Image (TIFF), or .tiff .avi .mpg Video Video (MPEG format) .mov .flv Video (QuickTime Movie) Flash Video .rmvb .3gp Video (Real Media format) Video (for mobile phone, etc) Ref: http://en.wikipedia.org/wiki/List_of_file_formats_(alphabetical) Cross Platform Issues (pp.190-191) The capacity of software to run on different operating systems and hardware. Ref: http://www.wizzywigg.com/lev2_glossary.htm Web page (and web applications) Ch. 12 – HTML (Core Book 2, (pp.56-58) Standardized character set Ch. 2 – Character Coding Systems (pp.41-45) Java – Running on Virtual Machine Ch. 14 – Programming Languages Software License ( Core Book 2, Ch.16, pp.158-160) Commercial software – user must pay to use (single-user/machine license, site license) Freeware – free of charge Shareware – demo version (function limited), trial version (time limited) Open source software (Free software) – free as “freedom”, free to use, modify, etc. Source = Source code Source code VS Executable file (or Object program/code) Public domain software – no owner, no copyright. S4 CIT Ch.8 Supplementary Notes P.4/4