























































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
In these slides of the operating systems the main points are:Windows Seven, History, Design Principles, System Components, Environmental Subsystems, File System, Networking, Programmer Interface, Specific Components, Operating Systems
Typology: Slides
1 / 63
This page cannot be seen from the preview
Don't miss anything!
























































History
Design Principles
System Components
Environmental Subsystems
File system
Networking
Programmer Interface
32-bit/64-bit preemptive multitasking operating system for Intel and AMD microprocessors
Key goals for the system:
security reliability extensibility portability international support energy efficiency dynamic device support.
Supports multiple OS personalities using user-mode subsystems.
Windows 7 is for desktops. Windows Server 2008 R2 uses the same internals as 64-bit Windows 7, but with added features for servers.
In 1988, Microsoft decided to develop a “new technology” (NT) portable operating system that supported both the OS/2 and POSIX APIs. NT supported servers as well as desktop workstations.
Originally, NT was supposed to use the OS/2 API as its native environment but during development NT was changed to use the Win32 API, reflecting the popularity of the Windows 3.0 Win16 API.
Windows XP was released in 2001 to replace the earlier versions of Windows based on MS/DOS, such as Windows98 and Windows ME.
Windows XP was updated in 2005 to provide support AMD compatible CPUs, bringing support for 64-bit desktop systems.
Windows Vista was released in late 2006, but was poorly received due to initial problems with application and device compatibility and sluggishness on the explosion of low-end “netbook” devices.
Windows 7 was released in late 2009, greatly improving on Vista.
Reliability —Windows uses hardware protection for virtual memory, and software protection mechanisms for operating system resources
Compatibility — applications that follow the IEEE 1003.1 (POSIX) standard can be complied to run on Windows without changing the source code. Applications created for previous versions of Windows run using various virtual machine techniques
Performance —Windows subsystems can communicate with one another via high-performance message passing Preemption of low priority threads enables the system to respond quickly to external events Designed for symmetrical multiprocessing, scaling to 100s of cores
International support — supports different locales via the national language support (NLS) API, use of UNICODE throughout, and providing facilities for differences in date formats, currency, etc.
Layered system of modules
Protected mode — hardware abstraction layer ( HAL ), kernel, executive. Executive includes file systems, network stack, and device drivers.
User mode — collection of subsystems, services, DLLs, and the GUI
Environmental subsystems emulate different operating systems Protection subsystems provide security functions Windows services provide facilities for networking, device interfaces, background execution, and extension of the system Rich shared libraries with thousands of APIs are implemented using DLLs to allow code sharing and simplify updates A graphical user interface is built into Win32 and used by most programs that interact directly with the user
Foundation for the executive and the subsystems
Never paged out of memory; execution is never preempted
Four main responsibilities:
thread scheduling interrupt and exception handling low-level processor synchronization recovery after a power failure
Kernel is object-oriented, uses two sets of objects
dispatcher objects control dispatching and synchronization (events, mutants, mutexes, semaphores, threads and timers) control objects (asynchronous procedure calls, interrupts, power notify, process and profile objects)
The process has a virtual memory address space, information (such as a base priority), and an affinity for one or more processors.
Threads are the unit of execution scheduled by the kernel’s dispatcher.
Each thread has its own state, including a priority, processor affinity, and accounting information.
A thread can be one of six states: ready, standby, running, waiting, transition , and terminated.
Scheduling can occur when a thread enters the ready or wait state, when a thread terminates, or when an application changes a thread’s priority or processor affinity.
Real-time threads are given preferential access to the CPU; but Windows 7 does not guarantee that a real-time thread will start to execute within any particular time limit. This is known as soft real-time.
Windows 7 uses objects for all its services and entities; the object manager supervises the use of all the objects Generates an object handle used by applications to refer to objects Checks security Keeps track of which processes are using each object
Objects are manipulated by a standard set of methods, namely create, open, close, delete, query-name, parse and security.
The Windows executive allows any object to be given a name, which may be either permanent or temporary.
Object names are structured like file path names in UNIX.
Windows implements a symbolic link object , which is similar to symbolic links in UNIX that allow multiple nicknames or aliases to refer to the same object.
A process gets an object handle by creating an object, by opening an existing one, by receiving a duplicated handle from another process, or by inheriting a handle from its parent process.
Each object is protected by an access control list.
The executive name space is extensible to allow naming of files, registry keys, and other objects with their own special semantics.
Page Directory
4K page 4K page 4K page 4K page
page table 0
page table 511
page- directory entry 511
page- directory entry 0
page- table entry 0
page- table entry 511
page- table entry 0
page- table entry 511
Top-level Page Directory Table 0 1 2 3
The virtual address translation in Windows uses several data structures within each process A top-level page directory containing 4 page directory entries (PDEs) of size 8 bytes that may each point to a page directory. Each page directory contains 512 page directory entries, that may each point to a page table. Each page table contains 512 page table entries (PTEs) of size 8 bytes. Each valid PTE points to a 4 KB page frame in physical memory. Invalid PTEs are used by the OS to find pages on disk
A 9-bit integer can represent all the values form 0 to 511, therefore, can select any entry in the page directory, or in a page table.
This property is used when translating a virtual address pointer to a byte address in physical memory.
A physical page can be in one of six states: valid, zeroed, free, standby, modified and bad.