Description - CSci 4061: Intro to Operating Systems...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: CSci 4061: Intro to Operating Systems Assignment 2: Multi-process Web Browser Due: November 1 by 2:00pm. You will be assigned in a group of 3. 1. Purpose Most traditional web browsers (like Firefox) run as a multi threaded process, rendering web pages on user request. However, a multi process architecture for web browsers is emerging, e.g. Internet Explorer 8.0 and Google Chrome. Each browser process manages one or more tabs. This design architecture provides two primary benefits: 1. Robustness: Web page isolation via separate processes makes the web browser immune to crashes by providing address space isolation where each web page is rendered by a separate process. A plug in crash (one of the main reasons for browser crashes) in one web page will have then have no effect on other web pages being managed by other processes. 2. Parallelism: Web pages are becoming ever more complex with contents ranging from JavaScript code to full blown web applications like Google docs. With the functionality of a web browser transforming into a platform where web applications can run independently and in parallel, a multi process architecture for the browser is attractive on multi-node/multi-core systems. In this project, we will explore this new architecture for a web browser using our new mechanisms for IPC using pipes . Note: we will provide all browser graphics and event handling code (e.g. clicks and input retrieval). 2. Description The multi process web browser uses a separate process for each of its tabs to guard against error in the web page rendering engine. You will design a multi-process web-browser in this assignment given some initial code. Your web browser will consist of one MAIN PARENT process (called the ROUTER process), one CONTROLLER child process, and zero or more URL RENDERING child process(es) corresponding to each open tab. 2.1 ROUTER process: The ROUTER process is the main parent process which runs when the web browser program is started. The ROUTER process is responsible for forking the CONTROLLER process. Once done, it waits for requests from its child processes (CONTROLLER/ URL RENDERING processes) in a loop ( polling the pipe descriptors via non blocking read). Note that the ROUTER process is not involved in any of the browser rendering graphics and is only intended to function as a router between the CONTROLLER process and URLRENDERING processes. 2.2 CONTROLLER process: The CONTROLLER process is the child of the ROUTER process. It renders the window (shown in Fig.1) to the user. It has the following regions: 1. URL region: A text field where the destination url (eg., http://www.google.com ) is entered....
View Full Document

Page1 / 7

Description - CSci 4061: Intro to Operating Systems...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online