SlideShare a Scribd company logo
Chapter 5: System Software Tools
Text Editors(Editing Process & Features)
User Interface
Debugging Systems
Text Editors[1]
• An interactive text editor has become an important part of almost
any computing environment.
• Text editor acts as a primary interface to the computer for all type of
“knowledge workers” as they compose, organize, study, and manipulate
computer-based information.
Text Editors[2]
• A text editor allows you to edit a text file (create, modify etc…)
• Text editors on Windows OS
- Notepad, WordPad, Microsoft Word
• Text editors on UNIX OS
- vi, emacs, jed, pico,
Common Editing Features
• Moving the cursor
• Deleting
• Replacing
• Pasting
• Searching
• Searching and replacing
• Saving and loading
• Miscellaneous (e.g. quitting)
Overview of the Editing Process[1]
• An interactive editor is a computer program that allows a user to create and
revise a target document.
• Document - includes objects such as computer diagrams, text, equations
tables, diagrams, line art, and photographs.
• Here we restrict to text editors, where character strings are the primary
elements of the target text.
Overview of the Editing Process[2]
• Document-editing process in an interactive user-computer
dialogue has four tasks.
1. Select the part of the target document to be viewed and manipulated.
2. Determine how to format this view on-line and how to display it.
3. Specify and execute operations that modify the target document.
4. Update the view appropriately.
Overview of the Editing Process[3]
• The above tasks involves traveling, filtering and formatting
• Traveling – locate the area of interest
• Filtering – extracting the relevant subset
• Formatting – visible representation on a display screen
• Editing phase involves – insert, delete, replace, move, copy, cut,
paste, etc…
Overview of the Editing Process[4]
• Manuscript-oriented editor – characters, words, lines, sentences
and paragraphs
• Program-oriented editors – identifiers, keywords, statements
• User wish – what he/she wants - formatted
User Interface
• The user interface is concerned with:
• The input devices
• Are used to enter elements of text being edited, to enter commands.
• The output devices
• Lets the user view the elements being edited and the results of the editing operations
• The interaction language
• Communication with the editor
Input Devices
• Text Devices – Keyboard
• Button Devices – Special function keys, symbols on the screen
• Locator Devices – Mouse, data tablet
• Voice input devices – Translates spoken words to their textual equivalents
Output Devices
• Teletypewriters - first output devices
• Glass teletypes - Cathode ray tube (CRT) technology
• Advanced CRT terminals
• TFT Monitors
• Printers – Hard-copy
Interaction Language
• Typing oriented or text command oriented – oldest editors, use of
commands, use of function keys, control keys etc.,
• Menu-oriented user interface – menu is a multiple choice set of
text strings or icons. Display area for text is limited. Menus can be
turned on or off.
Text Editors in Windows Environment
• Edit - MS-DOS editor, menu oriented, options are selected with specified
Alphabets
• Notepad - A basic text editor that you can use to create simple documents.
Menu oriented, use of control keys
• WordPad - We can create and edit simple text documents or documents
with complex formatting and graphics, uses menu as well as icons
• Microsoft Word - A sophisticated word processor, menu as well as use of
icons
Text Editors in Unix Environment
• vi - text editor, old, reliable, present on every Unix machine, uses
two modes, command mode, text mode
• emacs - the Extensible, Customizable, Self-Documenting, Real-
time Display Editor
Typical editor structure
Editor Structure[1]
Editor Structure[2]
• Most text editors have a structure similar to shown in the figure regardless of features and
the computers
• Command language Processor
• – accepts command
• – uses semantic routines
• – performs functions such as editing and viewing.
Editor Structure[3]
• The semantic routines involve traveling, editing, viewing and display
functions.
• Editing operations are specified explicitly by the user and display operations
are specified implicitly by the editor
• Traveling and viewing operations may be invoked either explicitly by the
user or implicitly by the editing operations.
Document Editing
• The start of the area to be edited is determined by the current editing
pointer maintained by the editing component
• Editing component is a collection of modules dealing with editing tasks
• Current editing pointer can be set or reset due to next paragraph, next
screen, cut paragraph, paste paragraph etc..,
• When Editing Command is Issued:
• Editing component invokes the editing filter – generates a new editing buffer –
contains part of the document to be edited from current editing pointer
• Filtering and editing may be interleaved, with no explicit editor buffer being created
Document Viewing
• The start of the area to be viewed is determined by the current viewing
pointer maintained by the viewing component
• Viewing component is a collection of modules responsible for determining
the next view
• Current viewing pointer can be set or reset as a result of previous editing
operation
When Display Needs to be Updated…[1]
• Viewing component invokes the viewing filter – generates a new viewing
buffer – contains part of the document to be viewed from current viewing
pointer.
• Line editors – viewing buffer may contain the current line.
• Screen editors - viewing buffer contains a rectangular cutout of the
quarter plane of the text.
When Display Needs to be Updated…[2]
• Viewing buffer is then passed to the display component of the editor,
which produces a display by mapping the buffer to a rectangular subset of
the screen – called a window
• The editing and viewing buffers may be identical or may be completely
disjoint
• Identical – user edits the text directly on the screen
• Disjoint – Find and Replace
• There are 150 lines of text, user is in 100th line, decides to change all
occurrences of ‘text editor’ with ‘editor’
When Display Needs to be Updated…[3]
• The editing and viewing buffers can also be partially overlap, or one may be
completely contained in the other
• Windows typically cover entire screen or a rectangular portion of it
• May show different portions of the same file or portions of different file
• Inter-file editing operations are possible
When Display Needs to be Updated…[4]
• The components of the editor deal with a user document on two levels:
 In main memory and in the disk file system
 Loading an entire document into main memory may be infeasible – only part is
loaded – demand paging is used – uses editor paging routines.
• Documents may not be stored sequentially as a string of characters
 Uses separate editor data structure that allows addition, deletion, and modification
with a minimum of I/O and character movement.
When Display Needs to be Updated…[5]
• Editors function in three basic types of computing environments:
1. Time sharing
2. Stand-alone
3. Distributed
• Each type of environment imposes some constraints on the design of an
editor.
When Display Needs to be Updated…[6]
• In time sharing environment
 Editor must function swiftly within the context of the load on the computer’s
processor, memory and I/O devices
• In stand-alone environment
 Editors on stand-alone system are built with all the functions to carry out editing and
viewing operations.
 The help of the OS may also be taken to carry out some tasks like demand paging.
• In distributed environment
 Editor has both functions of stand-alone editor, to run independently on each user’s
machine and like a time sharing editor, contend for shared resources such as files.
Interactive Debugging Systems
• Debugging is a methodical process of finding and reducing the number of
bugs, or defects, in a computer program.
• An interactive debugging system provides programmers with facilities that
aid in testing and debugging of programs.
• Here we discuss
 Introducing important functions and capabilities of IDS.
 Relationship of IDS to other parts of the system
 The nature of the user interface for IDS
Debugging Functions and Capabilities
• Debugging system should also provide functions such as tracing and
traceback.
• Traceback can show the path by which the current statement in the program
was reached.
• It can also show which statements have modified a given variable or
parameter.
• The statements are displayed rather than as hexadecimal displacements.
Debugging Process
• Print debugging is the act of watching (live or recorded) trace statements, or
print statements, that indicate the flow of execution of a process.
• In computers, debugging is the process of locating and fixing or bypassing
bugs (errors) in computer program code or the engineering of a hardware
device.
• Remote debugging is the process of debugging a program running on a
system different than the debugger.
• Post-mortem debugging is the act of debugging the core dump of process.
Program-display Capabilities[1]
• A debugger should have good program-display capabilities.
• Program being debugged should be displayed completely with statement numbers.
• The program may be displayed as originally written or with macro expansion.
• Keeping track of any changes made to the programs during the debugging session.
• Support for symbolically displaying or modifying the contents of any of the
variables and constants in the program.
• Resume execution – after these changes.
Program-display Capabilities[2]
• The context being used has many different effects on the debugging interaction.
• The statements are different depending on the language
• Example:
• assignment statements
Cobol - MOVE 6.5 TO X
Fortran - X = 6.5
• the condition that X be unequal to Z may be expressed as
Cobol - IF X NOT EQUAL TO Z
Fortran - IF ( X.NE.Z)
C - IF ( X <> Z)
Program-display Capabilities[3]
• It is also important that a debugging system be able to deal with optimized
code. Many optimizations like
• Invariant expressions can be removed from loops
• Separate loops can be combined into a single loop
• Redundant expression may be eliminated
• Elimination of unnecessary branch instructions
Relationship with Other Parts of the
System[1]
• The important requirement for an interactive debugger is that it always be
available.
• Must appear as part of the run-time environment and an integral part of the
system.
• When an error is discovered, immediate debugging must be possible.
• The debugger must communicate and cooperate with other operating system
components such as interactive subsystems.
Relationship with Other Parts of the
System[2]
• Debugging is more important at production time than it is at application-
development time.
• When an application fails during a production run, work dependent on that
application stops.
• The debugger must also exist in a way that is consistent with the security and
integrity components of the system.
• The debugger must coordinate its activities with those of existing and future
language compilers and interpreters.
User-interface Criteria[1]
• Debugging systems should be simple in its organization and familiar in its
language, closely reflect common user tasks.
• The user interaction should make use of full-screen displays and windowing-
systems as much as possible.
• With menus and full-screen editors, the user has far less information to enter
and remember.
User-interface Criteria[2]
• There should be complete functional equivalence between commands and
menus – user where unable to use full-screen IDSs may use commands.
• The command language should have a clear, logical and simple syntax;
command formats should be as flexible as possible.
• Any good IDSs should have an on-line HELP facility. HELP should be
accessible from any state of the debugging session.
Chapter 5}
Summary{
Dilemma ?
• Since for system software which is machine dependent, there is a need for
real machine. However, most real machines have certain characteristics which
are unusual or unique.
• Very difficult to distinguish the features which are fundamental and those
which are idiosyncrasies of a particular machines.
• In addition, so many machines
• So Hypothetical Machine: SIC, SIC/XE . . .
(SIC and SIC/XE)
Machine Architecture
• Memory
• Registers
• Data Formats
• Instruction Formats
• Addressing modes
• Instruction Set
• Input/Output:
Sections of Major Chapters
• Fundamental functions
• Features depending on machine
• Features which are common and machine-independent
• Major design principles and options
• Such as single pass or multiple passes.
• Implementation
Introduction Summary
• Computer Architecture
• Memory, register, data format, instruction (format and set), addressing mode, I/O
• Sequential, parallel, pipeline, dual or multi core.
• Languages: machine, assembly, high
• System software
• OS, assembler/linker/loader, compiler, editor, …
• SIC and SIC/XE architecture
• Addressing modes
• Relations among different components of computer
• Hardware and software
• Different software
Assembler Summary
• Basic Functions
• Mnemonic  Opcode
• Labels  Addresses
• Extended
• Program relocation
• Different instruction formats, addressing
modes.
• Literals, EQU, Expression, Blocks, Control
Sections. # and = differences.
• Data structures
• Tables: OPTABLE, SYMTAB, LITTAB, ESTAB, … , hash/or
linked list
• Location counter: LOCCTR, PROGADDR, CSADDR, …
• Design Options
• Directives:
• BYTE, WORD, RESB, RESW, BASE, EQU, USE,
LTORG, CSEC, EXTDEF, EXTREF,
• Object records:
• Header, End, Text, Modification, Define, Refer, …
• Relations among source program, (intermediate file),
object code, and object program.
• Relations among assembler, loader, and linker.
• Different Addressing modes
Linker/Loader Summary
• Loader, Linker, Linking loader,
• Linkage editor, simple loader, dynamic linking, absolute loader, bootstrap loader.
• Functions
• Pass 1: Assign addresses to external symbols
• Pass 2: loading, relocation, linking
• Important: how relocation and linking is implemented.
• Data Structures: ESTAB, PROGADDR, CSADDR, EXECADDR
• Library search and linking
• Linking options
• Dynamic linking
Macro Processor Summary
• Basic functions
• Definitions and expansions
• Features
• Labels, nested definitions, recursive invocations.
• Conditional macro processing.
• IF…ENDIF, WHILE…ENDW, macro-time variables and instructions
• Keyword parameters
• Data structures and algorithms
• NAMTAB, DEFTAB, ARGTAB
• For recursive invocation, STACK.
• Relation between macro processors and assemblers
Actual Implementation for Real
Machines
System Software Examples
Assembler MASM assembler for Pentium
SPARC assembler
AIX assembler for PowerPC
Loader & Linker MS-DOS linker
SunOS linkers
Cray MPP linker
Macro Processor MASM Macro Processor
ANSI C Macro Language
ELENA Macro Processor
My Expectation
• Why System Software and System Programming
• Hypothetical Machine
• Assembler
• Loader and Linkers
• Macro Processor
• Others
Have You Met the Course Objectives?
[Self Assessment Questions]
• Do I understand:
• What, why and how of hypothetical machine?
• The fundamental process models of high-level languages ?
• About various functions of assemblers and how to design and implement it ?
• How loaders and linkers are designed and implemented as a system software ?
• How the macro processors designed and programmed ?
• About system software tools like editors, user interface, and editor structure;
• Debugging functions and relationship with user interface criteria.
Summary}
Course}
Ad

More Related Content

What's hot (20)

Φυματίωση
Φυματίωση Φυματίωση
Φυματίωση
Filippos Karagatslis
 
ECDL Θεωρία Σημειώσεις 1/7
ECDL Θεωρία Σημειώσεις 1/7ECDL Θεωρία Σημειώσεις 1/7
ECDL Θεωρία Σημειώσεις 1/7
Michael Ntallas
 
Preprocessor directives in c language
Preprocessor directives in c languagePreprocessor directives in c language
Preprocessor directives in c language
tanmaymodi4
 
Structures in c language
Structures in c languageStructures in c language
Structures in c language
tanmaymodi4
 
ΠΑΡΟΥΣΊΑΣΗ ΤΟΥ ΤΟΜΕΑ ΔΟΜΙΚΩΝ ΕΡΓΩΝ ΚΑΙ ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΡΟΥΣΊΑΣΗ ΤΟΥ ΤΟΜΕΑ  ΔΟΜΙΚΩΝ  ΕΡΓΩΝ ΚΑΙ ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣΠΑΡΟΥΣΊΑΣΗ ΤΟΥ ΤΟΜΕΑ  ΔΟΜΙΚΩΝ  ΕΡΓΩΝ ΚΑΙ ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΡΟΥΣΊΑΣΗ ΤΟΥ ΤΟΜΕΑ ΔΟΜΙΚΩΝ ΕΡΓΩΝ ΚΑΙ ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣ
samaranitsa
 
Dma transfer
Dma transferDma transfer
Dma transfer
gmnithya
 
Recursion in c
Recursion in cRecursion in c
Recursion in c
Saket Pathak
 
system software and application software, compiler, interpreter & assembler
system software  and application software, compiler, interpreter & assemblersystem software  and application software, compiler, interpreter & assembler
system software and application software, compiler, interpreter & assembler
chetan birla
 
ΟΙΚΟΔΟΜΙΚΗ - ΚΕΦΑΛΑΙΟ 4: ΚΟΥΦΩΜΑΤΑ
ΟΙΚΟΔΟΜΙΚΗ - ΚΕΦΑΛΑΙΟ 4: ΚΟΥΦΩΜΑΤΑΟΙΚΟΔΟΜΙΚΗ - ΚΕΦΑΛΑΙΟ 4: ΚΟΥΦΩΜΑΤΑ
ΟΙΚΟΔΟΜΙΚΗ - ΚΕΦΑΛΑΙΟ 4: ΚΟΥΦΩΜΑΤΑ
Ευγενία Θεοχαράτου
 
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 5: ΔΙΑΔΙΚΑΣΙΑ ΕΚΤΕΛΕΣΗΣ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝ
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 5: ΔΙΑΔΙΚΑΣΙΑ ΕΚΤΕΛΕΣΗΣ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 5: ΔΙΑΔΙΚΑΣΙΑ ΕΚΤΕΛΕΣΗΣ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝ
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 5: ΔΙΑΔΙΚΑΣΙΑ ΕΚΤΕΛΕΣΗΣ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝ
Ευγενία Θεοχαράτου
 
ΟΙΚΟΔΟΜΙΚΗ - ΚΕΦΑΛΑΙΟ 8: ΚΛΙΜΑΚΕΣ
ΟΙΚΟΔΟΜΙΚΗ - ΚΕΦΑΛΑΙΟ 8: ΚΛΙΜΑΚΕΣΟΙΚΟΔΟΜΙΚΗ - ΚΕΦΑΛΑΙΟ 8: ΚΛΙΜΑΚΕΣ
ΟΙΚΟΔΟΜΙΚΗ - ΚΕΦΑΛΑΙΟ 8: ΚΛΙΜΑΚΕΣ
Ευγενία Θεοχαράτου
 
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 1: ΓΕΝΙΚΗ ΑΝΑΦΟΡΑ ΣΤΑ ΕΡΓΑ - Η ΕΝΝΟΙΑ ΤΟΥ ΕΡΓΟ...
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 1: ΓΕΝΙΚΗ ΑΝΑΦΟΡΑ ΣΤΑ ΕΡΓΑ - Η ΕΝΝΟΙΑ ΤΟΥ ΕΡΓΟ...ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 1: ΓΕΝΙΚΗ ΑΝΑΦΟΡΑ ΣΤΑ ΕΡΓΑ - Η ΕΝΝΟΙΑ ΤΟΥ ΕΡΓΟ...
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 1: ΓΕΝΙΚΗ ΑΝΑΦΟΡΑ ΣΤΑ ΕΡΓΑ - Η ΕΝΝΟΙΑ ΤΟΥ ΕΡΓΟ...
Ευγενία Θεοχαράτου
 
κεφ 9 λιθοδομές
κεφ 9 λιθοδομέςκεφ 9 λιθοδομές
κεφ 9 λιθοδομές
Γεωργία Βαλωμένου
 
ΑΕΠΠ - μάθημα 39
ΑΕΠΠ - μάθημα 39ΑΕΠΠ - μάθημα 39
ΑΕΠΠ - μάθημα 39
Jonny Arvanitakis
 
Analog and Digital Computers
Analog and Digital ComputersAnalog and Digital Computers
Analog and Digital Computers
iampencilbox
 
Topic -Anatomy of Computer.pptx
Topic -Anatomy  of Computer.pptxTopic -Anatomy  of Computer.pptx
Topic -Anatomy of Computer.pptx
PragatiKachhi1
 
Introduction to computer
Introduction to computerIntroduction to computer
Introduction to computer
jahangir kiyani
 
Ηλεκτρονικό ταχυδρομείο Α' Γυμνασίου κεφάλαιο 14 ενότητα 4
Ηλεκτρονικό ταχυδρομείο Α' Γυμνασίου κεφάλαιο 14 ενότητα 4Ηλεκτρονικό ταχυδρομείο Α' Γυμνασίου κεφάλαιο 14 ενότητα 4
Ηλεκτρονικό ταχυδρομείο Α' Γυμνασίου κεφάλαιο 14 ενότητα 4
kimanou
 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
Arti Parab Academics
 
Bitwise operators
Bitwise operatorsBitwise operators
Bitwise operators
Puneet Rajput
 
ECDL Θεωρία Σημειώσεις 1/7
ECDL Θεωρία Σημειώσεις 1/7ECDL Θεωρία Σημειώσεις 1/7
ECDL Θεωρία Σημειώσεις 1/7
Michael Ntallas
 
Preprocessor directives in c language
Preprocessor directives in c languagePreprocessor directives in c language
Preprocessor directives in c language
tanmaymodi4
 
Structures in c language
Structures in c languageStructures in c language
Structures in c language
tanmaymodi4
 
ΠΑΡΟΥΣΊΑΣΗ ΤΟΥ ΤΟΜΕΑ ΔΟΜΙΚΩΝ ΕΡΓΩΝ ΚΑΙ ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΡΟΥΣΊΑΣΗ ΤΟΥ ΤΟΜΕΑ  ΔΟΜΙΚΩΝ  ΕΡΓΩΝ ΚΑΙ ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣΠΑΡΟΥΣΊΑΣΗ ΤΟΥ ΤΟΜΕΑ  ΔΟΜΙΚΩΝ  ΕΡΓΩΝ ΚΑΙ ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΡΟΥΣΊΑΣΗ ΤΟΥ ΤΟΜΕΑ ΔΟΜΙΚΩΝ ΕΡΓΩΝ ΚΑΙ ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣ
samaranitsa
 
Dma transfer
Dma transferDma transfer
Dma transfer
gmnithya
 
system software and application software, compiler, interpreter & assembler
system software  and application software, compiler, interpreter & assemblersystem software  and application software, compiler, interpreter & assembler
system software and application software, compiler, interpreter & assembler
chetan birla
 
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 5: ΔΙΑΔΙΚΑΣΙΑ ΕΚΤΕΛΕΣΗΣ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝ
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 5: ΔΙΑΔΙΚΑΣΙΑ ΕΚΤΕΛΕΣΗΣ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 5: ΔΙΑΔΙΚΑΣΙΑ ΕΚΤΕΛΕΣΗΣ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝ
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 5: ΔΙΑΔΙΚΑΣΙΑ ΕΚΤΕΛΕΣΗΣ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝ
Ευγενία Θεοχαράτου
 
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 1: ΓΕΝΙΚΗ ΑΝΑΦΟΡΑ ΣΤΑ ΕΡΓΑ - Η ΕΝΝΟΙΑ ΤΟΥ ΕΡΓΟ...
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 1: ΓΕΝΙΚΗ ΑΝΑΦΟΡΑ ΣΤΑ ΕΡΓΑ - Η ΕΝΝΟΙΑ ΤΟΥ ΕΡΓΟ...ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 1: ΓΕΝΙΚΗ ΑΝΑΦΟΡΑ ΣΤΑ ΕΡΓΑ - Η ΕΝΝΟΙΑ ΤΟΥ ΕΡΓΟ...
ΟΡΓΑΝΩΣΗ ΕΡΓΟΤΑΞΙΟΥ - ΚΕΦΑΛΑΙΟ 1: ΓΕΝΙΚΗ ΑΝΑΦΟΡΑ ΣΤΑ ΕΡΓΑ - Η ΕΝΝΟΙΑ ΤΟΥ ΕΡΓΟ...
Ευγενία Θεοχαράτου
 
Analog and Digital Computers
Analog and Digital ComputersAnalog and Digital Computers
Analog and Digital Computers
iampencilbox
 
Topic -Anatomy of Computer.pptx
Topic -Anatomy  of Computer.pptxTopic -Anatomy  of Computer.pptx
Topic -Anatomy of Computer.pptx
PragatiKachhi1
 
Introduction to computer
Introduction to computerIntroduction to computer
Introduction to computer
jahangir kiyani
 
Ηλεκτρονικό ταχυδρομείο Α' Γυμνασίου κεφάλαιο 14 ενότητα 4
Ηλεκτρονικό ταχυδρομείο Α' Γυμνασίου κεφάλαιο 14 ενότητα 4Ηλεκτρονικό ταχυδρομείο Α' Γυμνασίου κεφάλαιο 14 ενότητα 4
Ηλεκτρονικό ταχυδρομείο Α' Γυμνασίου κεφάλαιο 14 ενότητα 4
kimanou
 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
Arti Parab Academics
 

Similar to system-software-tools (20)

ss5.ppt
ss5.pptss5.ppt
ss5.ppt
ssuser1f953d
 
Text Editor for System software
Text Editor for System softwareText Editor for System software
Text Editor for System software
kalaivanan vanan
 
Unit 5 2
Unit 5 2Unit 5 2
Unit 5 2
krishna.patanakar
 
Text Editor in System software
Text Editor in System softwareText Editor in System software
Text Editor in System software
sundareswaran kannan
 
Bba i-introduction to computer-u-2- application and system software
Bba  i-introduction to computer-u-2- application and system softwareBba  i-introduction to computer-u-2- application and system software
Bba i-introduction to computer-u-2- application and system software
Rai University
 
Mca i-fundamental of computer-u-2- application and system software
Mca  i-fundamental of  computer-u-2- application and system softwareMca  i-fundamental of  computer-u-2- application and system software
Mca i-fundamental of computer-u-2- application and system software
Rai University
 
Unit 2 computer software
Unit 2 computer softwareUnit 2 computer software
Unit 2 computer software
Hardik Patel
 
Bca i-fundamental of computer-u-2- application and system software
Bca  i-fundamental of  computer-u-2- application and system softwareBca  i-fundamental of  computer-u-2- application and system software
Bca i-fundamental of computer-u-2- application and system software
Rai University
 
Bsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareBsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system software
Rai University
 
SPOS_UNIT I System Programming and Operating System.pdf
SPOS_UNIT I System Programming and Operating System.pdfSPOS_UNIT I System Programming and Operating System.pdf
SPOS_UNIT I System Programming and Operating System.pdf
reshma96176
 
Mba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer softwareMba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer software
Rai University
 
chapter _3.pptx Programming Language in DSS
chapter _3.pptx Programming Language in DSSchapter _3.pptx Programming Language in DSS
chapter _3.pptx Programming Language in DSS
KeenboonAsaffaa
 
Introduction
IntroductionIntroduction
Introduction
Hiren Selani
 
Lecture 1 of OS Introduction Slides.pptx
Lecture 1 of OS Introduction Slides.pptxLecture 1 of OS Introduction Slides.pptx
Lecture 1 of OS Introduction Slides.pptx
MustafaPoonawala7
 
Interaction With Computers FIT
Interaction With Computers FITInteraction With Computers FIT
Interaction With Computers FIT
Raj vardhan
 
c programming 1-1.pptx
c programming 1-1.pptxc programming 1-1.pptx
c programming 1-1.pptx
CHERUKURIYUVARAJU209
 
SDA-lecture-F5.pptx
SDA-lecture-F5.pptxSDA-lecture-F5.pptx
SDA-lecture-F5.pptx
Qasid Rajpoot
 
Introduction to Computers - Computer Software
Introduction to Computers - Computer  SoftwareIntroduction to Computers - Computer  Software
Introduction to Computers - Computer Software
A-Jay Alipio
 
Text editors(ss)
Text editors(ss)Text editors(ss)
Text editors(ss)
nishara nish
 
System Programming
System ProgrammingSystem Programming
System Programming
JahnaviBhagat
 
Text Editor for System software
Text Editor for System softwareText Editor for System software
Text Editor for System software
kalaivanan vanan
 
Bba i-introduction to computer-u-2- application and system software
Bba  i-introduction to computer-u-2- application and system softwareBba  i-introduction to computer-u-2- application and system software
Bba i-introduction to computer-u-2- application and system software
Rai University
 
Mca i-fundamental of computer-u-2- application and system software
Mca  i-fundamental of  computer-u-2- application and system softwareMca  i-fundamental of  computer-u-2- application and system software
Mca i-fundamental of computer-u-2- application and system software
Rai University
 
Unit 2 computer software
Unit 2 computer softwareUnit 2 computer software
Unit 2 computer software
Hardik Patel
 
Bca i-fundamental of computer-u-2- application and system software
Bca  i-fundamental of  computer-u-2- application and system softwareBca  i-fundamental of  computer-u-2- application and system software
Bca i-fundamental of computer-u-2- application and system software
Rai University
 
Bsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareBsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system software
Rai University
 
SPOS_UNIT I System Programming and Operating System.pdf
SPOS_UNIT I System Programming and Operating System.pdfSPOS_UNIT I System Programming and Operating System.pdf
SPOS_UNIT I System Programming and Operating System.pdf
reshma96176
 
Mba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer softwareMba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer software
Rai University
 
chapter _3.pptx Programming Language in DSS
chapter _3.pptx Programming Language in DSSchapter _3.pptx Programming Language in DSS
chapter _3.pptx Programming Language in DSS
KeenboonAsaffaa
 
Lecture 1 of OS Introduction Slides.pptx
Lecture 1 of OS Introduction Slides.pptxLecture 1 of OS Introduction Slides.pptx
Lecture 1 of OS Introduction Slides.pptx
MustafaPoonawala7
 
Interaction With Computers FIT
Interaction With Computers FITInteraction With Computers FIT
Interaction With Computers FIT
Raj vardhan
 
Introduction to Computers - Computer Software
Introduction to Computers - Computer  SoftwareIntroduction to Computers - Computer  Software
Introduction to Computers - Computer Software
A-Jay Alipio
 
Ad

More from Temesgen Molla (6)

C How To Program.pdf
C How To Program.pdfC How To Program.pdf
C How To Program.pdf
Temesgen Molla
 
Who moved my cheese? Book Review
Who moved my cheese? Book ReviewWho moved my cheese? Book Review
Who moved my cheese? Book Review
Temesgen Molla
 
Macro-processor
Macro-processorMacro-processor
Macro-processor
Temesgen Molla
 
loaders and linkers
 loaders and linkers loaders and linkers
loaders and linkers
Temesgen Molla
 
Assembler
AssemblerAssembler
Assembler
Temesgen Molla
 
Introduction to Simplified instruction computer or SIC/XE
Introduction to Simplified instruction computer or SIC/XEIntroduction to Simplified instruction computer or SIC/XE
Introduction to Simplified instruction computer or SIC/XE
Temesgen Molla
 
Who moved my cheese? Book Review
Who moved my cheese? Book ReviewWho moved my cheese? Book Review
Who moved my cheese? Book Review
Temesgen Molla
 
Introduction to Simplified instruction computer or SIC/XE
Introduction to Simplified instruction computer or SIC/XEIntroduction to Simplified instruction computer or SIC/XE
Introduction to Simplified instruction computer or SIC/XE
Temesgen Molla
 
Ad

Recently uploaded (20)

To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
larencebapu132
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
Celine George
 
Operations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdfOperations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdf
Arab Academy for Science, Technology and Maritime Transport
 
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACYUNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
DR.PRISCILLA MARY J
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Celine George
 
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdfExploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Sandeep Swamy
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar RabbiPresentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Md Shaifullar Rabbi
 
To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
larencebapu132
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
Celine George
 
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACYUNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
DR.PRISCILLA MARY J
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Celine George
 
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdfExploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Sandeep Swamy
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar RabbiPresentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Md Shaifullar Rabbi
 

system-software-tools

  • 1. Chapter 5: System Software Tools Text Editors(Editing Process & Features) User Interface Debugging Systems
  • 2. Text Editors[1] • An interactive text editor has become an important part of almost any computing environment. • Text editor acts as a primary interface to the computer for all type of “knowledge workers” as they compose, organize, study, and manipulate computer-based information.
  • 3. Text Editors[2] • A text editor allows you to edit a text file (create, modify etc…) • Text editors on Windows OS - Notepad, WordPad, Microsoft Word • Text editors on UNIX OS - vi, emacs, jed, pico,
  • 4. Common Editing Features • Moving the cursor • Deleting • Replacing • Pasting • Searching • Searching and replacing • Saving and loading • Miscellaneous (e.g. quitting)
  • 5. Overview of the Editing Process[1] • An interactive editor is a computer program that allows a user to create and revise a target document. • Document - includes objects such as computer diagrams, text, equations tables, diagrams, line art, and photographs. • Here we restrict to text editors, where character strings are the primary elements of the target text.
  • 6. Overview of the Editing Process[2] • Document-editing process in an interactive user-computer dialogue has four tasks. 1. Select the part of the target document to be viewed and manipulated. 2. Determine how to format this view on-line and how to display it. 3. Specify and execute operations that modify the target document. 4. Update the view appropriately.
  • 7. Overview of the Editing Process[3] • The above tasks involves traveling, filtering and formatting • Traveling – locate the area of interest • Filtering – extracting the relevant subset • Formatting – visible representation on a display screen • Editing phase involves – insert, delete, replace, move, copy, cut, paste, etc…
  • 8. Overview of the Editing Process[4] • Manuscript-oriented editor – characters, words, lines, sentences and paragraphs • Program-oriented editors – identifiers, keywords, statements • User wish – what he/she wants - formatted
  • 9. User Interface • The user interface is concerned with: • The input devices • Are used to enter elements of text being edited, to enter commands. • The output devices • Lets the user view the elements being edited and the results of the editing operations • The interaction language • Communication with the editor
  • 10. Input Devices • Text Devices – Keyboard • Button Devices – Special function keys, symbols on the screen • Locator Devices – Mouse, data tablet • Voice input devices – Translates spoken words to their textual equivalents
  • 11. Output Devices • Teletypewriters - first output devices • Glass teletypes - Cathode ray tube (CRT) technology • Advanced CRT terminals • TFT Monitors • Printers – Hard-copy
  • 12. Interaction Language • Typing oriented or text command oriented – oldest editors, use of commands, use of function keys, control keys etc., • Menu-oriented user interface – menu is a multiple choice set of text strings or icons. Display area for text is limited. Menus can be turned on or off.
  • 13. Text Editors in Windows Environment • Edit - MS-DOS editor, menu oriented, options are selected with specified Alphabets • Notepad - A basic text editor that you can use to create simple documents. Menu oriented, use of control keys • WordPad - We can create and edit simple text documents or documents with complex formatting and graphics, uses menu as well as icons • Microsoft Word - A sophisticated word processor, menu as well as use of icons
  • 14. Text Editors in Unix Environment • vi - text editor, old, reliable, present on every Unix machine, uses two modes, command mode, text mode • emacs - the Extensible, Customizable, Self-Documenting, Real- time Display Editor
  • 16. Editor Structure[2] • Most text editors have a structure similar to shown in the figure regardless of features and the computers • Command language Processor • – accepts command • – uses semantic routines • – performs functions such as editing and viewing.
  • 17. Editor Structure[3] • The semantic routines involve traveling, editing, viewing and display functions. • Editing operations are specified explicitly by the user and display operations are specified implicitly by the editor • Traveling and viewing operations may be invoked either explicitly by the user or implicitly by the editing operations.
  • 18. Document Editing • The start of the area to be edited is determined by the current editing pointer maintained by the editing component • Editing component is a collection of modules dealing with editing tasks • Current editing pointer can be set or reset due to next paragraph, next screen, cut paragraph, paste paragraph etc.., • When Editing Command is Issued: • Editing component invokes the editing filter – generates a new editing buffer – contains part of the document to be edited from current editing pointer • Filtering and editing may be interleaved, with no explicit editor buffer being created
  • 19. Document Viewing • The start of the area to be viewed is determined by the current viewing pointer maintained by the viewing component • Viewing component is a collection of modules responsible for determining the next view • Current viewing pointer can be set or reset as a result of previous editing operation
  • 20. When Display Needs to be Updated…[1] • Viewing component invokes the viewing filter – generates a new viewing buffer – contains part of the document to be viewed from current viewing pointer. • Line editors – viewing buffer may contain the current line. • Screen editors - viewing buffer contains a rectangular cutout of the quarter plane of the text.
  • 21. When Display Needs to be Updated…[2] • Viewing buffer is then passed to the display component of the editor, which produces a display by mapping the buffer to a rectangular subset of the screen – called a window • The editing and viewing buffers may be identical or may be completely disjoint • Identical – user edits the text directly on the screen • Disjoint – Find and Replace • There are 150 lines of text, user is in 100th line, decides to change all occurrences of ‘text editor’ with ‘editor’
  • 22. When Display Needs to be Updated…[3] • The editing and viewing buffers can also be partially overlap, or one may be completely contained in the other • Windows typically cover entire screen or a rectangular portion of it • May show different portions of the same file or portions of different file • Inter-file editing operations are possible
  • 23. When Display Needs to be Updated…[4] • The components of the editor deal with a user document on two levels:  In main memory and in the disk file system  Loading an entire document into main memory may be infeasible – only part is loaded – demand paging is used – uses editor paging routines. • Documents may not be stored sequentially as a string of characters  Uses separate editor data structure that allows addition, deletion, and modification with a minimum of I/O and character movement.
  • 24. When Display Needs to be Updated…[5] • Editors function in three basic types of computing environments: 1. Time sharing 2. Stand-alone 3. Distributed • Each type of environment imposes some constraints on the design of an editor.
  • 25. When Display Needs to be Updated…[6] • In time sharing environment  Editor must function swiftly within the context of the load on the computer’s processor, memory and I/O devices • In stand-alone environment  Editors on stand-alone system are built with all the functions to carry out editing and viewing operations.  The help of the OS may also be taken to carry out some tasks like demand paging. • In distributed environment  Editor has both functions of stand-alone editor, to run independently on each user’s machine and like a time sharing editor, contend for shared resources such as files.
  • 26. Interactive Debugging Systems • Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program. • An interactive debugging system provides programmers with facilities that aid in testing and debugging of programs. • Here we discuss  Introducing important functions and capabilities of IDS.  Relationship of IDS to other parts of the system  The nature of the user interface for IDS
  • 27. Debugging Functions and Capabilities • Debugging system should also provide functions such as tracing and traceback. • Traceback can show the path by which the current statement in the program was reached. • It can also show which statements have modified a given variable or parameter. • The statements are displayed rather than as hexadecimal displacements.
  • 28. Debugging Process • Print debugging is the act of watching (live or recorded) trace statements, or print statements, that indicate the flow of execution of a process. • In computers, debugging is the process of locating and fixing or bypassing bugs (errors) in computer program code or the engineering of a hardware device. • Remote debugging is the process of debugging a program running on a system different than the debugger. • Post-mortem debugging is the act of debugging the core dump of process.
  • 29. Program-display Capabilities[1] • A debugger should have good program-display capabilities. • Program being debugged should be displayed completely with statement numbers. • The program may be displayed as originally written or with macro expansion. • Keeping track of any changes made to the programs during the debugging session. • Support for symbolically displaying or modifying the contents of any of the variables and constants in the program. • Resume execution – after these changes.
  • 30. Program-display Capabilities[2] • The context being used has many different effects on the debugging interaction. • The statements are different depending on the language • Example: • assignment statements Cobol - MOVE 6.5 TO X Fortran - X = 6.5 • the condition that X be unequal to Z may be expressed as Cobol - IF X NOT EQUAL TO Z Fortran - IF ( X.NE.Z) C - IF ( X <> Z)
  • 31. Program-display Capabilities[3] • It is also important that a debugging system be able to deal with optimized code. Many optimizations like • Invariant expressions can be removed from loops • Separate loops can be combined into a single loop • Redundant expression may be eliminated • Elimination of unnecessary branch instructions
  • 32. Relationship with Other Parts of the System[1] • The important requirement for an interactive debugger is that it always be available. • Must appear as part of the run-time environment and an integral part of the system. • When an error is discovered, immediate debugging must be possible. • The debugger must communicate and cooperate with other operating system components such as interactive subsystems.
  • 33. Relationship with Other Parts of the System[2] • Debugging is more important at production time than it is at application- development time. • When an application fails during a production run, work dependent on that application stops. • The debugger must also exist in a way that is consistent with the security and integrity components of the system. • The debugger must coordinate its activities with those of existing and future language compilers and interpreters.
  • 34. User-interface Criteria[1] • Debugging systems should be simple in its organization and familiar in its language, closely reflect common user tasks. • The user interaction should make use of full-screen displays and windowing- systems as much as possible. • With menus and full-screen editors, the user has far less information to enter and remember.
  • 35. User-interface Criteria[2] • There should be complete functional equivalence between commands and menus – user where unable to use full-screen IDSs may use commands. • The command language should have a clear, logical and simple syntax; command formats should be as flexible as possible. • Any good IDSs should have an on-line HELP facility. HELP should be accessible from any state of the debugging session.
  • 37. Dilemma ? • Since for system software which is machine dependent, there is a need for real machine. However, most real machines have certain characteristics which are unusual or unique. • Very difficult to distinguish the features which are fundamental and those which are idiosyncrasies of a particular machines. • In addition, so many machines • So Hypothetical Machine: SIC, SIC/XE . . .
  • 38. (SIC and SIC/XE) Machine Architecture • Memory • Registers • Data Formats • Instruction Formats • Addressing modes • Instruction Set • Input/Output:
  • 39. Sections of Major Chapters • Fundamental functions • Features depending on machine • Features which are common and machine-independent • Major design principles and options • Such as single pass or multiple passes. • Implementation
  • 40. Introduction Summary • Computer Architecture • Memory, register, data format, instruction (format and set), addressing mode, I/O • Sequential, parallel, pipeline, dual or multi core. • Languages: machine, assembly, high • System software • OS, assembler/linker/loader, compiler, editor, … • SIC and SIC/XE architecture • Addressing modes • Relations among different components of computer • Hardware and software • Different software
  • 41. Assembler Summary • Basic Functions • Mnemonic  Opcode • Labels  Addresses • Extended • Program relocation • Different instruction formats, addressing modes. • Literals, EQU, Expression, Blocks, Control Sections. # and = differences. • Data structures • Tables: OPTABLE, SYMTAB, LITTAB, ESTAB, … , hash/or linked list • Location counter: LOCCTR, PROGADDR, CSADDR, … • Design Options • Directives: • BYTE, WORD, RESB, RESW, BASE, EQU, USE, LTORG, CSEC, EXTDEF, EXTREF, • Object records: • Header, End, Text, Modification, Define, Refer, … • Relations among source program, (intermediate file), object code, and object program. • Relations among assembler, loader, and linker. • Different Addressing modes
  • 42. Linker/Loader Summary • Loader, Linker, Linking loader, • Linkage editor, simple loader, dynamic linking, absolute loader, bootstrap loader. • Functions • Pass 1: Assign addresses to external symbols • Pass 2: loading, relocation, linking • Important: how relocation and linking is implemented. • Data Structures: ESTAB, PROGADDR, CSADDR, EXECADDR • Library search and linking • Linking options • Dynamic linking
  • 43. Macro Processor Summary • Basic functions • Definitions and expansions • Features • Labels, nested definitions, recursive invocations. • Conditional macro processing. • IF…ENDIF, WHILE…ENDW, macro-time variables and instructions • Keyword parameters • Data structures and algorithms • NAMTAB, DEFTAB, ARGTAB • For recursive invocation, STACK. • Relation between macro processors and assemblers
  • 44. Actual Implementation for Real Machines System Software Examples Assembler MASM assembler for Pentium SPARC assembler AIX assembler for PowerPC Loader & Linker MS-DOS linker SunOS linkers Cray MPP linker Macro Processor MASM Macro Processor ANSI C Macro Language ELENA Macro Processor
  • 45. My Expectation • Why System Software and System Programming • Hypothetical Machine • Assembler • Loader and Linkers • Macro Processor • Others
  • 46. Have You Met the Course Objectives? [Self Assessment Questions] • Do I understand: • What, why and how of hypothetical machine? • The fundamental process models of high-level languages ? • About various functions of assemblers and how to design and implement it ? • How loaders and linkers are designed and implemented as a system software ? • How the macro processors designed and programmed ? • About system software tools like editors, user interface, and editor structure; • Debugging functions and relationship with user interface criteria.