Operating system support for server applications

General-purpose operating systems provide inadequate support for large-scale servers. Server applications lack sufficient control over scheduling and management of machine resources, which makes it difficult to enforce priority policies, and to provide robust and controlled service. For example, ser...

Full description

Bibliographic Details
Main Author: Banga, Gaurav
Other Authors: Druschel, Peter
Format: Others
Language:English
Published: 2009
Subjects:
Online Access:http://hdl.handle.net/1911/19350
id ndltd-RICE-oai-scholarship.rice.edu-1911-19350
record_format oai_dc
spelling ndltd-RICE-oai-scholarship.rice.edu-1911-193502013-10-23T04:13:49ZOperating system support for server applicationsBanga, GauravComputer ScienceGeneral-purpose operating systems provide inadequate support for large-scale servers. Server applications lack sufficient control over scheduling and management of machine resources, which makes it difficult to enforce priority policies, and to provide robust and controlled service. For example, server applications cannot provide differentiated quality of service to requests from different clients. The root cause of these problems is a fundamental mismatch between the original design assumptions underlying the resource management mechanisms of current general-purpose operating systems, and the behavior of modern server applications. In particular, the notions of protection domain and resource principal coincide in the process abstraction of current operating systems. Moreover, these operating systems provide insufficient control to an application over the resources that are consumed inside the kernel on behalf of the application. These aspects of current operating systems prevent a server process that manages large numbers of network connections, for example, from properly allocating system resources among those connections. This dissertation addresses the lack of operating system support for fine-grained resource management in large-scale server systems. It starts by characterizing the nature of the mismatch between the design assumptions of current general-purpose operating systems, and the behavior of server applications. The traditional design of core operating system abstractions and APIs is reevaluated in the light of the requirements of server applications. This reevaluation leads to a set of novel operating system abstractions and APIs that serve to provide effective support for server applications.Druschel, Peter2009-06-04T08:30:47Z2009-06-04T08:30:47Z1999ThesisText228 p.application/pdfhttp://hdl.handle.net/1911/19350eng
collection NDLTD
language English
format Others
sources NDLTD
topic Computer Science
spellingShingle Computer Science
Banga, Gaurav
Operating system support for server applications
description General-purpose operating systems provide inadequate support for large-scale servers. Server applications lack sufficient control over scheduling and management of machine resources, which makes it difficult to enforce priority policies, and to provide robust and controlled service. For example, server applications cannot provide differentiated quality of service to requests from different clients. The root cause of these problems is a fundamental mismatch between the original design assumptions underlying the resource management mechanisms of current general-purpose operating systems, and the behavior of modern server applications. In particular, the notions of protection domain and resource principal coincide in the process abstraction of current operating systems. Moreover, these operating systems provide insufficient control to an application over the resources that are consumed inside the kernel on behalf of the application. These aspects of current operating systems prevent a server process that manages large numbers of network connections, for example, from properly allocating system resources among those connections. This dissertation addresses the lack of operating system support for fine-grained resource management in large-scale server systems. It starts by characterizing the nature of the mismatch between the design assumptions of current general-purpose operating systems, and the behavior of server applications. The traditional design of core operating system abstractions and APIs is reevaluated in the light of the requirements of server applications. This reevaluation leads to a set of novel operating system abstractions and APIs that serve to provide effective support for server applications.
author2 Druschel, Peter
author_facet Druschel, Peter
Banga, Gaurav
author Banga, Gaurav
author_sort Banga, Gaurav
title Operating system support for server applications
title_short Operating system support for server applications
title_full Operating system support for server applications
title_fullStr Operating system support for server applications
title_full_unstemmed Operating system support for server applications
title_sort operating system support for server applications
publishDate 2009
url http://hdl.handle.net/1911/19350
work_keys_str_mv AT bangagaurav operatingsystemsupportforserverapplications
_version_ 1716611076097835008