Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer System Structures

Similar presentations


Presentation on theme: "Computer System Structures"— Presentation transcript:

1 Computer System Structures
System Operation Operating system structure. OS examples Virtual Machines Textbook Silberschatz, Chapter 2

2 Different OS - Monolithic, Microkernel, Modular ? Hybrid !
Windows W95 and earlier – layered monolithic Windows NT – layered microkernel - very slow Windows XP and … - layered, more monolithic DLL ability Unix type systems (Solaris, Linux, FreeBSD) Mainly monolithic Could build custom kernel monolithic or micro DLL ability MAC OS from microkernel to more monolithic DLL ability

3 Linux The Linux system is composed of three main bodies of code, in line with most traditional UNIX implementations: Kernel maintaining all the important abstractions of the operating system, including such things as virtual memory, processes, device drivers, file systems, networking code. All the kernel code executes in privileged mode . the kernel is created as a single, monolithic binary Single Reason - performance. Supports dll (so*). System libraries standard set of functions through which applications can interact with the kernel Work in user mode. Libc,… Monolithic DLL support No message passing No layers System utilities perform individual, specialized management tasks Run once Daemons kernel mode

4 Windows kernel mode Mainly Monolithic Layered DLL support
Message Passing kernel mode

5 Mac OS X uses a hybrid structure layered system Aqua user interface
set of application environments and services Cocoa - an API for the Objective-C programming language, which is used for writing Mac OS X applications. Below these layers is the kernel environment, which consists primarily of the Mach microkernel BSD UNIX kernel. Hybrid Layered DLL support Message Passing Mach - memory management; RPC, IPC, message passing, thread scheduling. The BSD - command-line interface, networking and file systems, POSIX APIs, Pthreads. I/O kit - development of device drivers and dynamically loadable modules (which Mac OS X refers to as kernel extensions).

6 iOS iOS is a mobile operating system designed by Apple to run its smartphone, the iPhone, as well as its tablet computer, the iPad Cocoa Touch is an API for Objective-C that provides several frameworks for developing applications that run on iOS devices (touch screens). The media services layer provides services for graphics, audio, and video. The core services layer provides a variety of features, including support for cloud computing and databases. The bottom layer represents the core operating system, which is based on the kernel environment (not fully compatible with Unix).

7 Android Whereas iOS is designed to run on Apple mobile devices and is close-sourced, Android runs on a variety of mobile platforms and is open-sourced. Layered The Android runtime environment includes a core set of libraries as well as the Dalvik virtual machine. Google has designed a separate Android API for Java development. The Java class files are first compiled to Java bytecode and then translated into an executable file that runs on the Dalvik virtual machine. At the bottom of this software stack is the Linux kernel, although it has been modified by Google and is currently outside the normal distribution of Linux releases.

8 Virtual Machines Virtualization supported by the kernel
IBM VM370 divided a mainframe into multiple virtual machines (logical partitions- LPARs), each running its own operating system. (a) Non virtual machine. (b) Virtual machine.

9 Vmware, Virtual Box, ESXi Vmware Elastic Sky X Integrated
virtualization tool to run in user mode

10 The Java Virtual Machine Sun’s (now Oracle’s) VM
For each Java class, the compiler produces an architecture-neutral bytecode output (.class) file that will run on any implementation of the JVM. The JVM is a specification for an abstract computer. It consists of a class loader and a Java interpreter that executes the architecture-neutral bytecodes C

11 THE .NET FRAMEWORK Microsoft’s VM
This platform allows programs to be written in the platform independent .NET Framework instead of a specific architecture. The Common Language Runtime - CLR is the implementation of the .NET virtual machine. Programs written in languages such as C# and VB.NET are compiled into an intermediate, architecture-independent language called Microsoft Intermediate Language (MS-IL). These compiled files, called assemblies, include MS-IL instructions and metadata. They have file extensions of either .EXE or .DLL. Upon execution of a program, the CLR loads assemblies, converts the MS-IL instructions inside the assemblies into native code that is specific to the underlying architecture using just-in-time compilation. Once instructions have been converted to native code, they are kept and will continue to run as native code for the CPU


Download ppt "Computer System Structures"

Similar presentations


Ads by Google