Wednesday, August 12, 2015

INPUT OUTPUT



The input/output system is the part of the operating system charged with the management of I/O devices. Acting as the interface between system users and I/O devices, the input/output system provides a means, by which files and devices are treated in a uniform manner and are manipulated by means of a set of high-level commands, such as READ_STRING. At the device end, however, the I/O system must supply the device-specific control signals to each particular type of device, possibly many times in the course of execution of a single high-level command. Higher-level function of the input/output system.
After a brief outline of the structure and role of the input/output section of computer system, we introduce the notion of an input/output port, stressing the aspect of concern to system programming and informaly analyze the resulting timing in order to asses to performance boundaries of the various I/O schemes. Following the exposition of program controlled I/O, we present a somewhat more involved discussion of interrupts. The purpose of this discussion is both
to explore the kind of hardware support to the operating system normally provided in this area and to indicate the potential for parallel operation that is exploited by multiprogramming operating system and is discussed in detail in subsequent chapters.
Given is complexity and impact on performance, concurrency is a major topic in operating system theory. As many of the concurrency-related problems are either originating from or present in the input/output system, our goal in this chapter is to explore the principles of input/output system, to study the elements of I/O programming, and to introduce the increasing degrees of concurrent execution of I/O operations that the hardware supports. In so doing, we will encounter a number of increasingly difficult scheduling problem that we solve using largely ad hoc and intuitive techniques, mimicking those frequently used by programmers. Toward the end of the chapter we conclude that even higher degrees of concurrency are possible, but that they require a much more rigid and systematic programming discipline, discussed in subsequent chapters.

Wednesday, August 5, 2015

Microsoft Office

Microsoft Office is a production software from Microsoft Corp., which is very popular in Indonesia. Many users either among students, especially office employees.
If you are using Microsoft Office Starter, the software came pre-installed on your computer. Office Starter is already activated, and there is no Product Key for you to enter. Before you enter a valid Product Key, you can run the software for 30 days, which is the grace period. During the grace period, certain features or programs may be enabled that are not included in the product you have purchased. After you enter a valid Product Key, you will see only the programs and features you have purchased.
After the grace period, if you have not entered a valid Product Key, the software goes into Reduced Functionality mode. In Reduced Functionality mode, your software behaves similarly to a viewer. You cannot save modifications to documents or create new documents, and functionality might be reduced. No existing files or documents are harmed in Reduced Functionality mode. After you enter your Product Key and activate your software, you will have full functionality for the programs and features you purchased.
Microsoft office that is most widely used in Indonesia including: Microsoft Word, Microsoft Excel, Power Point and Microsoft Access.

Friday, July 31, 2015

COMBINATION OPERATING SYSTEMS


As presented here, different types of operating systems are optimized, or at least largely geared toward serving the needs of certain specific environments. In practice, however, a given environment may not exactly fit any of the described molds. For instance, both interactive program development and lengthy simulation are often encountered in university computing centers. For this reason, some commercial operating systems provide a combination of the described services.
For Example, a time-sharing system may support interactive user while also incorporating a full-fledged batch monitor. This allows computationally intensive non interactive programs to be run concurrently with interactive programs. The common practice is assign low priority to batch jobs and thus to exccute batched programs only when the processor would otherwise be idle. In other words, batch processing may be used as a filter to improve processor utilization while accomplishing a useful service of its own. Similarly, some time-critical events, such as receipt and transmission of network data packets, may be handled in real-time fashion on systems that otherwise provide time-sharing services to their terminal user.  

Wednesday, July 22, 2015

SERIAL PROCESSING



In theory, every computer system may be programmed in its machine language with no systems software support. Programming of the “bare machine” was customary for early computer systems. A slightly more advanced version of this mode of operation is common for the simple evaluation boards that are sometimes used in introductory microprocessor courses. Programs for the bare machine can be developed by manually translating sequences of instructions into binary or some other code whose base is usually an integer power of 2. Instruction and data are the entered in to the computer by means of console switches or, perhaps, through a hexadecimal keyboard. Program are started by loading the program are obtained by examining the contents of the relevant registers and memory locations. Input/output devices. If any, must be controlled by the executing  program directly, say, by reading and writing the related I/O ports. Evidently, programming of the bare machine result in low productivity of both users and hardware. The long and tedious process of program and data entry practically precludes execution of medium and large programs in such an environment.
The mechanics of development and preparation of programs in such environments are quite slow and cumbersome due to serial execution of programs and to numerous manual operations involved in the process. In a typical sequence, the editor program is loaded to prepare the source code of the user program. The next step is to load and execute the language translator and provide it with the source code of the user program. When serial input devices such as card readers are used, multiple-pass language translators may require the source code to be repositioned for reading during each pass. If syntax errors are detected, the hole process must be repeated from the beginning. Eventually, the object code produced from the syntactically correct source code is loaded and executed. If run-time errors are detected, the state of the machine can be examined and modified by means of console switches or with the assistance of a program called a debugger.
The described mode of operation was used initially in the late fifties, but it was also common in low-end microcomputers of the early eighties with cassettes as I/O devices.
In addition to language translators, systems software includes the loader and possibly the editor and debugger programs. Most of these programs use input/output devices and thus must contain some code to exercise those devices.
While a definite  improvement over the bare-machine approach, this mode of operation is obviously not very efficient. Running the computer system may require frequent manual loading of programs and data. This results in low utilization of system resources. User productivity, especially in multiuser environments, is low as users await their turn at the machine. Even with such tools as editors and debuggers, the program development is very slow and is ridden with manual program and data loading.

Wednesday, July 15, 2015

EVOLUTION OF OPERATING SYSTEMS



An Operating system may process its workload serially or concurrently. That is, resourses of the computer system may be dedicated to single program until its completion, or they may be dynamically reassigned among a collection of active programs in different stage of execution. Because of their ability to execute multiple programs in interleaved fashion, such operating systems are often reffered to as multi programming systems exist. In order to motivate the need for the types of services that each of these varieties provide, we briefly and informally sketch the evolutionary path of operating-system development. In particular, we describe serial processing, batch processing, and multi programming. No specific dates are attached to some of the events because we are interested in the progression of ideas and not in attempting to chart the history of oprating systems. Moreover, much of the historical development of operating systems for mainframes was first retraced by minicomputers and then again by microcomputers and personal computers. Thus many of the concepts and ideas recur are applicable to different systems at deferent times.
The mechanics of program execution and brief sketch of the process of program development, namely, the edit-compile-execute cycle, are described for each type of operating system. While execution of programs is an essential activity in all computer systems, productivity of program preparation is important only in program-development environments, such as university computing centers.

Thursday, July 9, 2015

Brainware



Brainware is the people who make the program or simply use the program. Users can be categorized as follows: operators, programmers, systems analysts, and administrators
The relationship between the software and hardware computer user can be described as follows:
Computer users: Operator, Programmers, systems analyst, administrator
Software Application: Group of word processing, database, Table Processing, Browser and others.
Programming Languages​​: English Group low-level, high-level languages ​​such as Basic, Fortran, Cobol, FoxPro and so on.
Operating systems, examples of DOS, Unix Windows, Linux and so on.
Hardware: Equipment input, processor, storage and output devices.
Software users to operate the computer hardware work ordered