SYSTEM SOFTWARE The user interacts primarily with application
Transcription
SYSTEM SOFTWARE The user interacts primarily with application
SYSTEM SOFTWARE The user interacts primarily with application software. System software enables the application software to interact with the computer hardware. System software is “background” software that helps the computer manage its own internal resources. System software is not a single program; rather it is a collection of programs • Operating systems are programs that coordinate computer resources, provide an interface between users and the computer, and run applications. Windows XP and the Mac OS X are two of the best known operating systems for today’s microcomputer users. • Utilities, also known as service programs, perform specific tasks related to managing computer resources. For example, the Windows utility called Disk Defragmenter locates and eliminates unnecessary file fragments and rearranges files and unused disk space to optimize computer operations. • Device drivers are specialized programs designed to allow particular input or output devices to communicate with the rest of the computer system. EDITORS A text editor is a tool that allows a user to create and revise documents in a computer. TYPES OF TEXT EDITORS Depending on how editing is performed, and the type of output that can be generated, editors can be broadly classified as 1. Line Editors - During original creation lines of text are recognised and delimited by endof-line markers, and during subsequent revision, the line must be explicitly specified by line number or by some pattern context. eg. edlin editor in early MS-DOS systems. 2. Stream Editors - The idea here is similar to line editor, but the entire text is treated as a single stream of characters. Hence the location for revision cannot be specified using line numbers. Locations for revision are either specified by explicit positioning or by using pattern context. eg. sed in Unix/Linux. Line editors and stream editors are suitable for text-only documents. 3. Screen Editors - These allow the document to be viewed and operated upon as a two dimensional plane, of which a portion may be displayed at a time. Any portion may be specified for display and location for revision can be specified anywhere within the displayed portion. eg. vi, emacs, etc. 4. Word Processors - Provides additional features to basic screen editors. Usually support non-textual contents and choice of fonts, style, etc. 5. Structure Editors - These are editors for specific types of documents, so that the editor recognises the structure/syntax of the document being prepared and helps in maintaining that structure/syntax. ASSEMBLERS There are two main classes of programming languages: high level (e.g., C, Pascal) and low level. Assembly Language is a low level programming language. Programmers code symbolic instructions, each of which generates machine instructions. An Assembler is a program that accepts as input an assembly language program (source) and produces its machine language equivalent (object code) along with the information for the loader. Assembly language program Assembler Linker EXE Figure - Executable program generation from an assembly source code Advantages of coding in assembly language are: Provides more control over handling particular hardware components May generate smaller, more compact executable modules Often results in faster execution Disadvantages: Not portable More complex Requires understanding of hardware details (interfaces) An Assembler does the following 1. Generate machine instructions - evaluate the mnemonics to produce their machine code - evaluate the symbols, literals, addresses to produce their equivalent machine addresses - convert the data constants into their machine representations 2. Process pseudo operations COMPILERS A compiler is a special program that processes statements written in a particular programming language and turns them into machine language or "code" that a computer's processor uses. A compiler is a computer program (or set of programs) that transforms source code written in a programming language(the source language) into another computer language (the target language, often having a binary form known as object code). The most common reason for wanting to transform source code is to create an executable program. A compiler is likely to perform many or all of the following operations: lexical analysis, preprocessing, parsing, semantic analysis (Syntax-directed translation), code generation, and code optimization. INTERPRETER It is a program that executes instructions written in a high-level language. There are two ways to run programs written in a high-level language. The most common is to compile the program; the other method is to pass the program through an interpreter. An interpreter translates high-level instructions into an intermediate form, which it then executes. In contrast, a compiler translates high-level instructions directly into machine language. Compiled programs generally run faster than interpreted programs. The advantage of an interpreter, however, is that it does not need to go through the compilation stage during which machine instructions are generated. This process can be time-consuming if the program is long. The interpreter, on the other hand, can immediately execute high-level programs. For this reason, interpreters are sometimes used during the development of a program. OPERATING SYSTEMS (OS) Definition – Operating System coordinates resources, provide an interface between users and the computer, and run programs. Features of DOS MS DOS is the basic operating system with it you can do all the operation like – create a text file edit the file save it your desired drive connect to a DHCP (Dynamic Host Configuration Protocol) enabled internet connection Features of Windows Basic Elements: Desktop Taskbar Windows Explorer Starting & Shutting Down of Windows File Management with Windows Explorer 1) Searching for Files 2) Creating Folder Directories 3) Saving Files 4) Copying Files 5) Moving Files 6) Deleting Files 7) Selecting Files and Folders 8) Dragging files and folders 9) Sending Files to a USB Pen Drive 10) Creating a new folder 11) Renaming a new folder 12) Deleting a new folder Features of UNIX Multi-user More than one user can use the machine at a time Supported via terminals (serial or network connection) Multi-tasking More than one program can be run at a time Hierarchical directory structure to support the organization and maintenance of files Portability only the kernel ( <10%) written in assembler tools for program development a wide range of support tools (debuggers, compilers)