Thursday, September 7, 2017

SMU ASSIGNMENT Fundamentals of IT & Programming

MIT101- Fundamentals of IT & Programming
1) Write a note on the following
a) Optical Character Readers (OCR)
b) Laser printer
a. Optical Character Readers (OCR)
A device used for optical character recognition. Optical Character Recognition, or OCR, is a technology that enables you to convert different types of documents, such as scanned paper documents, PDF files or images captured by a digital camera into editable and searchable data. OCR is the process of taking images or photographs of letters or typewritten text and converting them into data that a computer can interpret. A good example is companies and libraries taking physical copies of books, magazines, or other old printed material and using OCR to put them onto computers. While far from perfect, OCR is currently the best method of digitizing typed pages of text.Data are generally passed to the computer by using a scanner or other hardware device, like a digital camera. Some computer fax applications use OCR to transform incoming faxes from graphics files into word processing documents.

b. Laser printer
Laser printing is an electrostatic digital printing process. It very rapidly produces high-quality text and graphics (and moderate-quality photographs) by repeatedly passing a laser beam back & forth over an electron-charged, cylindrical drum, to define a differentially charged image. The drum then selectively collects electrically charged, powdered ink (i.e., toner), and transfers the image to the loaded paper, which is then heated in order to permanently fuse the text/imagery. As with digital photocopiers and multifunction/all-in-one inkjet printers, laser printers employ a xerographic printing process; but, laser printing differs from analog photocopiers in that the image is produced by the direct scanning of the medium across the printer's photoreceptor. This enables laser printing to copy images more quickly than most photocopiers.

2) Explain the two types of terminals used with mainframe systems?
Ans:There are two types of mainframe processes: Batch Processing and Online Transaction Processing.
Batch Processing In the old days of computing, batch jobs had statements on punched cards and were physically submitted to the system through a machine called a card reader. One card is one record. Each record is 80 characters in length. These statements are called Job Control cards and written in Job Control Language (JCL). Today, there are no machines to read the punched cards. Statements are now coded interactively with an editor and stored on disks. A program called an internal reader (INTRDR) reads these cards from disks. The JCL specifies the name of the job (job name), priority and class of the job. It also specifies the STEP within a job. A step is identified by a name (step name) that specifies the program to be executed. The step also specifies the different files used by the program. These file
statements specify the attributes of the files being used. The file attributes include the name of the file (Data set name or DSN), the address of the unit where the file resides, the type of unit, the physical record length (Block Size or BLKSIZE) and logical length (logical record length or LRECL) of each record. These JCL statements are read by a program called the Job Entry Subsystem (JES). The Job Entry Subsystem for z/OS is called JES2. JES2 is a task within z/OS that puts these jobs in a queue. JES2 controls Initiators. Each Initiator is defined to process one or more job classes. When an Initiator is available, it will process a job based on its class and priority. Once the job is initiated, batch processing for that job begins. The initiator will allocate the files for the job to use. It will also load the program to be executed for that step. Once the program executes, there is no more intervention needed. The program reads the input files and writes out the output files. When a step is done, the Initiator looks at the next step and based on the condition specified for that step, the Initiator will either bypass that step or will prepare the environment for the next step. The job ends when all the steps had been executed for that job.
Online Transaction Processing
Mainframes also allow for interactive or online transactionprocessing. Online transactionprocessing use online programs to allow a user to enter inputs and receive the response in real time.These online systems also have JCL statements to control their execution. However, most of them are not classified as batch jobs. These are classified as z/OS system tasks because these are normally started from the system console by an operator. They normally execute under operating system privilege and also are meant to execute while the system is running. Most online systems have a control region that controls the traffic into and out of the system. Most of them also separate the data layer from the presentation layer. (For those using XML and SOA, does this sound familiar?). Although there are technologies that now allow for more user-friendly interfaces, most of these interactive systems still display their output in what used to be 3270 terminals. The 3270 terminals were physical visual display units that could only display text in 80 columns and 24 rows. Other models could display 80 columns and 43 rows. These are what some call 'green screen terminals' or 'dumb terminals'. There are probably no 3270 terminals in use today. Most 3270 terminals are emulated on a desktop using emulation software. This page lists various 3270 emulation software. The way data is to be displayed on the terminal has to be mapped. The mapping process depends on the interactive system used. The online transaction processing control regions basically accept the data sent from these 3270 terminals and strips off the overhead characters based on the terminal map. The online transaction processing control region will execute the corresponding online program based on the transaction entered. The control region will pass the input to the online program. The online transaction program will process the input. Processing may involve accessing one or more databases. Once processing is done, the online transaction program will return the result to the online transaction processing control region. The online transaction processing control region will format the output based on the defined terminal map and send the output to the 3270 terminal.

3) Explain about Linux operating system?
Ans:Linux is a Unix-like and mostly POSIX-compliant computer operating system assembled under the model of free and open-source software development and distribution. The defining component of Linux is the Linux kernel, an operating system kernel first released on 5 October 1991 by Linus Torvalds. Linux was originally developed as a free operating system for Intel x86-based personal computers. It has since been ported to more computer hardware platforms than any other operating system. It is a leading operating system on servers and other big iron systems such as mainframe computers and supercomputers. As of June 2013, more than 95% of the world's 500 fastest supercomputers run some variant of Linux, including the top 80. Linux also runs on embedded systems, which are devices whose operating system is typically built into the firmware and is highly tailored to
the system; this includes mobile phones, tablet computers, network routers, facility automation controls, televisions and video game consoles. Android, a widely used operating system for mobile devices is built on top of the Linux kernel. Linux is one of popular version of UNIX operating System. It is open source as its source code is freely available. It is free to use. Linux was designed considering UNIX compatibility. Its functionality list is quite similar to that of UNIX.
Linux Operating System has primarily three components
a. Kernel - Kernel is the core part of Linux. It is responsible for all major activities of this operating system. It is consists of various modules and it interacts directly with the underlying hardware. Kernel provides the required abstraction to hide low-level hardware details to system or application programs.
b. System Library - System libraries are special functions or programs using which application programs or system utilities accesses Kernel's features. These libraries implements most of the functionalities of the operating system and do not requires kernel module's code access rights.
c. System Utility - System Utility programs are responsible to do specialized, individual level tasks.

4) List any five characteristics of an object-oriented design (OOD).
Ans:Object Oriented Design is the concept that forces programmers to plan out their code in order to have a better flowing program. The origins of object-oriented design is debated, but the first languages that supported it included Simula and Smalltalk. The term did not become popular until Grady Booch wrote the first paper titled Object-Oriented Design, in 1982. Object Oriented Design is defined as a programming language that has 5 conceptual tools to aid the programmer. These programs are often more readable than non-object oriented programs, and debugging becomes easier with locality.
The 5 Basic Concepts of Object Oriented Design are the implementation level features that are built into the programming language. These features are often referred to by these common names:
a. Encapsulation
A tight coupling or association of data structures with the methods or functions that act on the data. This is called a class, or object (an object is often the implementation of a class).
b. Data Protection
The ability to protect some components of the object from external entities. This is realized by language keywords to enable a variable to be declared as private or protected to the owning class.
c. Inheritance
The ability for a class to extend or override functionality of another class. The so-called child class has a whole section that is the parent class and then it has it's own set of functions and data.
d. Interface
A definition of functions or methods, and their signatures that is available for use to manipulate a given instance of an object.
e. Polymorphism
The ability to define different functions or classes as having the same name but taking different datatypes.

5) List the five major activities of an operating system in regard to process management.

Ans:a. The creation and deletion of both user and system processes.
b. The suspension and resumption of processes.
c. The provision of mechanisms for process synchronization.
d. The provision of mechanisms for process communication.
e. The provision of mechanisms for deadlock handling.