Chapter 16 The User View of Operating Systems 16. 1



Download 17.99 Kb.
Date31.07.2017
Size17.99 Kb.
#25736
Chapter 16

The User View of Operating Systems
16.1 (BL1+) The use of a CLI provides flexibility and power for the user who knows how to use the CLI effectively. Commands can be combined to create even more powerful commands. Furthermore, it is easy to automate operations into command-based scripts and to operate on multiple objects with the use of a single command or script. However, effective usage of a CLI requires learning and deeper understanding of the system than that possessed by the typical user.
The typical user will be more comfortable with the ease of use and consistency of a GUI. Once learned, the GUI can be navigated and manipulated rapidly. Typical tasks are easier to perform with the GUI than with a CLI. Even "power users" will prefer the ease of use of a GUI for many daily tasks.
Web browser interfaces are increasing rapidly in popularity because of the ease of use and consistency of the interface, even between widely different types of systems. The Web browser offers the ease of use of a GUI together with the fact that operations are the same on a Windows machine, a Linux system, a Macintosh, an IBM mainframe, or a cell phone.
16.2 (BL1+) A separate shell can be replaced easily with another shell, offering a user a choice in their working style. On the other hand, integration of the shell into the operating system provides a more consistent interface to the user (GUI designers refer to this as a “common look-and-feel”). Integration of the shell into the OS also allows the interface to take advantage of features within the OS, and to provide features to the OS. Windows 9x takes this approach, for example, by integrating its networking services directly into the user interface, and making system configuration tools available to the user through the interface.
16.3 (BL3) This question depends on the capability of the student, but would normally compare such operations as file commands (list, copy, delete, and move, directory commands (dir and ls, cd, and the like). It would compare the use of wild cards and command options, piping, and redirection, It would also consider scripting capabilities.
16.4 (BL3) This question depends on the capability of the student, but would normally compare such operations as file commands (list, copy, delete, and move, directory commands (dir and ls, cd, and the like). It would compare the typed commands with equivalent GUI operations, such as double-clicking to execute a program, the use of drag-and-drop to copy and move files from one directory to another, the use of window bar tools to move to a subdirectory, etc.
16.5 (BL2-) Capabilities that are easy to achieve with a GUI but difficult with a CLI include:


  • the ability to multitask in different windows




  • access to other machines on a network, using individual windows as terminals to different machines




  • the ability to cut-and-paste between applications or documents




  • the use of the API library to provide graphics, windowing, drop-down menus, and other GUI operations to applications, which simplifies program design, provides event-driven capability, and provides a common look-and-feel across applications


16.6 (BL1+) Piping makes it possible to link programs or commands together, by taking the output from one program and supplying it as input to another.
16.7 (BL1+) Redirection makes it possible to change the source of input or the placement of output for a program at the time the program is executed. For example, if a program normally expects its input from the keyboard, redirection can be used to used to accept input from a disk file, or a tape, or even a modem. Similarly, output to a display screen can be redirected to a file or a printer.
16.8 (BL1) Arguments in a batch file make it possible for the user to provide specific directions to the batch program or shell script at the time the script is executed. For example, a script might perform operations on a file. The name of the file would be provided as an argument at the time the script is run.
16.9 (BL1) The specific answer depends upon the particular GUI. Typical labellings are shown in Figures 19.1, 19.2, and 19.3 in later printings of the textbook, and would include icons, volumes or folders, a cursor, drop-down menus, and various gadgets or controls.
16.10 (BL3) This problem is system specific, and individual to the student. Therefore, there is no general answer.
16.11 (BL2+) The difficulty in providing a GUI remote from the computer that creates the image is the amount of data that must be transferred to provide the display. X Window partially overcomes this problem by providing facilities on the remote machine that can create standard GUI objects, such as icons, gadgets, and menus, so that it is only necessary to transmit enough information to tell the remote display the specific details. X Window cannot totally overcome the problem, however, because any bit map image to be displayed must be transmitted, pixel by pixel, to the display. Although data compression techniques can reduce the amount of data transmitted somewhat, the amount of data that must be moved across the network is still large.
16.12 (BL2) The client-server architecture of the X Window system divides the display work load in such a way as to minimize the amount of data that must be communicated between the client and the server, therefore the application program can concentrate on creation of the image, and the display system software can do the work of generating the actual display of the image. Note that the architecture also frees the application program from having to keep track of the mouse and cursor positions at every instant, which is useful, since the application often needs to know only the final location of the cursor. Another advantage is that the X Window system is standardized and available on a number of different types of systems. Thus, the image from a program can be produced locally on different types of machines. As an example, the X Window program on the author's Windows-based PC displays images from a Sun workstation, from a Digital VAX/VMS system, and from an Alpha UNIX system, all in separate windows, simultaneously, as shown in Figure 15.9.
16.13 (BL2+) A client-server system is defined such that a server provides services requested by a client. In most client-server applications, the client is a PC requesting file or database or print services from a larger computer that provides these services. However, in the case of X Window, the application that is running on the same or a different system requests display services. The display is usually produced on the user's personal computer, so that becomes the display server. The computer requesting the display, which may be remote, is therefore the client for these services, even if it is the server for the program services requested by the user's client program!
16.14 a. (BL2) The major tools provided to combine commands include shell script languages and capabilities, piping, and redirection.
b. (BL2) The major advantage of this approach is that a creative user can combine the tools in new and unexpected ways to solve problems that the original designers of the tools might not have anticipated. The user is given access to a powerful set of capabilities, beyond the limited capabilities that can be provided in a set of tools that are each designed for only one purpose, no matter how powerful. (The same is also true of mechanics' tools, by the way.) The disadvantage is that it is necessary to understand the tools well in order to use them effectively. Often, this means a substantial learning curve and patience.
c. (BL2+) There are many characteristics that could be included as answers to this question. A few of these include the powerful shell script capabilities, the ability to intermix C language programs and system commands freely, the wide range of modifiers available for most commands, the use of pipes and tees and redirection, the design of stdin and stdout as standard files that can replace optional file names in commands, the use of a standard pattern matching language (regular expressions) that works with a number of different commands, the use of standard formats for input and output that expedite piping— for example, the lack of headers, the ability to use the output of one command as the argument for another (reverse apostrophe commands) plus the actual tasks provided by the commands themselves.
16.15 (BL3) This is another question designed to elicit student creativity. Here are three that the author would love to see in the Windows CLI environment!


  • Omission wild cards, which would select files that do not meet the criterion.




  • Wild cards that would include a range of permissible values, or specific multiple permissible values, for example to match FILE1, FILE3, or FILE5, but nor FILE 2 or FILE4. UNIX does provide this capability to a limited extent.




  • Wild cards that could be identified, then transferred to a matching wild card. For example, copy abc*.boo def&.boo would determine the characters replaced by the * symbol, and would use them in place of the &, so that abcxyz.boo would be copied to defxyz.boo. This would increase flexibility for a number of commands.


Download 17.99 Kb.

Share with your friends:




The database is protected by copyright ©ininet.org 2024
send message

    Main page