New version page

UNO CSCI 4500 - Introduction, Overview and History

Upgrade to remove ads
Upgrade to remove ads
Unformatted text preview:

1Computer Science 4500Operating Systems© 2008 Stanley A. Wileman, Jr. Operating Systems Slide 1Operating SystemsModule 1Introduction, Overview and HistoryWelcome!Welcome to Operating Systems. This course is designed to introduce you to the fundamentals of operating systems. The course uses specific features of real operating systems to illustrate and reinforce the fundamental concepts.© 2008 Stanley A. Wileman, Jr. Operating Systems Slide 2Prerequisites include a good knowledge of data structures and computer organization. You should also have had reasonable experience with assembler language programming for some contemporary processor (e.g. IBM S/390 or Intel X86,) and strong skills in the C or C++ programming language. C is the programming language of choice, and it is used in all code illustrations. While not required, a course in digital design will prove helpful.In This Module…Basic material about the courseThe study of operating systems© 2008 Stanley A. Wileman, Jr. Operating Systems Slide 3The OS API and the user interfaceProcessor modesComputer system and OS historyProgramming AssignmentsProgramming assignments are used to reinforce the concepts you learn in this course. There are three basic types of assignments possible:illustration of various system calls for one or more real operating systems© 2008 Stanley A. Wileman, Jr. Operating Systems Slide 4operating systems,implementation of OS algorithms and simulation of their effect, andimplementation of OS algorithms in the context of a “toy” operating system, or a real system with readily available source code (e.g. Linux, FreeBSD).Your instructor will provide complete details on each of the programming assignments you are to complete for the course.Quizzes and ExaminationsIn addition to the programming assignments, quizzes and examinations provide feedback on your mastery of fundamental operating© 2008 Stanley A. Wileman, Jr. Operating Systems Slide 5your mastery of fundamental operating system concepts. The number of quizzes and examinations in this offering of the course is described in the course notes provided by the instructor.Reference TextbooksThere are many good operating system textbooks available and your instructor may expect you to use one with these modules. Some of these texts are• Operating Systems Design and Implementation(third edition) by Tanenbaum and Woodhull (Prentice Hall© 2008 Stanley A. Wileman, Jr. Operating Systems Slide 6edition), by Tanenbaum and Woodhull (Prentice Hall, 2006).•Operating Systems(third edition), by Deitel, Deitel, and Choffnes (Addison-Wesley, 2003).• Operating Systems: Internals and Design Principles, (sixth edition) by Stallings (Prentice Hall, 2008).• Operating System Concepts(eighth edition), by Silberschatz, Galvin, and Gagne (Wiley, 2008).2The study of operating systemsThere are two major ways to study operating systems:by examining the way in which application© 2008 Stanley A. Wileman, Jr. Operating Systems Slide 7by examining the way in which application programs can use the operating system, orby examining the implementation (the algorithms, data structures, etc.) of the operating systemWe will do some of each of these in this course.Operating System FunctionsOperating systems have two major functions:• to manage the computer system’s resources, and• to provide the functions used by application programs for the use of complex, shared, or restricted resources.What are these resources?© 2008 Stanley A. Wileman, Jr. Operating Systems Slide 8What are these resources?• The hardware of the computer system comprises the most obvious set of resources. This includes the central processor(s), the primary memory, and all the hardware associated with input/output. We’ll cover each of these in detail in this course.• Information is another important resource. The content of every file or data set must be managed by the operating system. We will also cover this resource in detail.Viewing an OS as a virtual machineAn easy way to view an operating system is as a virtual machine that provides a convenient way for applications to use resources.A particular “toy” operating system provided with a textbook © 2008 Stanley A. Wileman, Jr. Operating Systems Slide 9has almost 3000 lines of complex C code for managing the text-mode terminal (e.g. a monitor and keyboard on a PC). Clearly we don’t want application programs to include this much code just to be able to read and write the terminal.The “virtual machine” looks like any other computer system, but you can think of it as having additional simplified instructions (actually functions) that allow easier use of the resources than if the bare machine was used.The Hierarchical View of a SystemComputer systems include many “layers” of hardware and software, and the operating system is just one of those layers.You may already be aware that many systems use microprograms which essentially provide functions that© 2008 Stanley A. Wileman, Jr. Operating Systems Slide 10microprograms which essentially provide functions that correspond to each machine language instruction. The code in these functions manipulate the bare hardware to effect the actions of the machine language instruction.The operating system, as another layer, provides extended instructions (functions) that provide easy access to, and management of, the system’s resources.Application programs form a layer on top of the OS.A typical computer systemCommand LineInterpretersCompilers EditorsGamesPresentation SoftwareSpreadsheet© 2008 Stanley A. Wileman, Jr. Operating Systems Slide 11Bare hardwareMicroprogramMachine LanguageOperating SystempThe Application Programming InterfaceApplication programs utilize system resources by invoking the operating system. Requests from application programs are passed to the operating system through the application programming interface(API) provided by the operating system. Different © 2008 Stanley A. Wileman, Jr. Operating Systems Slide 12()p y p g yoperating systems may have different APIs, but the functions are frequently similar.The API for an operating system is frequently called the set of system callsfor that operating system.Some systems may provide multiple different APIs. Examples of these include IBM’s OS/390 and Microsoft’s Windows NT.3The User InterfaceSome functions you might normally think of as belonging to the operating system are actually just application programs


View Full Document
Download Introduction, Overview and History
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Introduction, Overview and History and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Introduction, Overview and History 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?