⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 http:^^www.cs.wisc.edu^~solomon^projects.html

📁 This data set contains WWW-pages collected from computer science departments of various universities
💻 HTML
📖 第 1 页 / 共 3 页
字号:
Date: Mon, 11 Nov 1996 17:28:53 GMTServer: NCSA/1.5Content-type: text/htmlLast-modified: Fri, 29 Sep 1995 21:30:42 GMTContent-length: 33263<html><head><title>CS 736 Project Ideas</title><link rev=made href="mailto:solomon@cs.wisc.edu"></head><body><h1><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><a href=http://www.cs.wisc.edu/~solomon/cs736.html>CS 736</a><br>Fall 1995<br>Term Project Ideas<! Originally distributed 9/28/95 (week 4)></h1><p><b>Marvin Solomon</b> <br><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><A HREF="http://www.cs.wisc.edu/~solomon"> solomon@cs.wisc.edu </A><p><i> Last updated: Fri Sep 29 16:30:41 CDT 1995 </i><hr><h2>Contents</h2><ul><li> <!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><a href="#general"> General Comments </a><li> <!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><a href="#deadlines"> Due Dates </a><li> <!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><a href="#proposal"> Project Proposal </a><li> <!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><a href="#suggestions"> Project Suggestions </a><ul><li> <!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><a href="#naming"> Naming in Large Computer Networks</a><li> <!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><a href="#multicast"> Group Communication</a><li> <!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><a href="#tigerteam"> Security Audit</a><li> <!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><a href="#fileserver"> File Servers for Workstations</a><li> <!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><a href="#loadbalencing"> Load Balancing</a><li> <!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><a href="#kerberos"> Security and Authentication</a><li> <!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><a href="#fuzz"> Random Software testing</a><li> <!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><a href="#webcrawler"> Navigating the World-Wide Web</a><li> <!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><a href="#webtopology"> Topology of the Web</a><li> <!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><a href="#worms"> Self-perpetuating programs</a><li> <!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><a href="#transactions"> A General-Purpose Transaction Package</a><li> <!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><a href="#dsm"> Distributed Shared Memory</a><li> <!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><a href="#performance"> Performance Study</a><li> <!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><a href="#garbage"> Distributed or Persistent Garbage</a><li> <!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><a href="#consumersreports"> Consumer Reports</a><li> <!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><a href="#condor"> Condor</a><li> <!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><a href="#efsd"> Specialized NFS Servers:</a><li> <!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><a href="#shore"> Shore</a><li> <!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><a href="#miscresearch"> UW--Madison Research Projects</a><li> <!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><a href="#tempest"> Tempest </a></ul></ul><hr><a name="general"><h2> General Comments </h2></a>The projects are intended to give you an opportunity to study aparticular area related to operating systems.Some of the projects will require test implementations, measurement studies,simulations, or some combination.Most will require a literature search before you begin.<p>The project suggestions below are briefly stated.They are intended to guide you into particular areas, and youare expected to expand these suggestions into a full projectdescriptions.This gives you more freedom in selecting an area and more burden indefining your own project.There may be more issues listed for a project than you can cover.<em>I would prefer you to think up a topic that is notlisted below.</em>If you do, you might want to comeand talk with me so we can work out a reasonable project description. <p>Some projects are appropriate for groups of two or more.There is no upper bound on the size of the group, but beware that groupsof more than 3 persons are very hard to manage.I will not get involved in labor disputes;you will all hang together or you will be all hanged separately.Feel free to ask me for my opinions whether the size of a proposed teamis appropriate for a given project.<p>In some cases, a project area straddles the boundary between operating systemsand some other area (such as database, architecture, artificial intelligence,or programming languages).Such projects are intended for students with background and interests inthe second area to explore the interface.They are not intended as substitutes for the regular courses in the secondarea.For example, if you have little or no background in database,you should take CS 764 before choosing a topic that requires databasesophistication.Most topics call for a careful literature search<em>before</em>the proposal due date.<a name="deadlines"><h2> Due Dates </h2></a><dl><dt>Project Proposal Due <dd> Tuesday, October 17<!Week 7><dt>Final Report Due <dd> Thursday, December 14<!Week 15></dl><a name="proposal"><h2> Project Proposal </h2></a><p>You are to hand in an expanded description of your project (see thedue date <!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><a href="#deadlines">above</a>; you are free to turn it in sooner).The project proposal should be brief (two pages or less), but very specificabout what you intend to do.It must be long enough to convince me that you have a reasonable andachievable project (i.e, not trivial and not too large).You may have to revise your description before it will be acceptable.<p>The project description should describe the problem that you are addressing,how you will go about working on this project (the steps you will take),what results you expect and what you expect to produce,what resources you will need,and a brief schedule for your project.It must be reasonably well written.Projects that involve implementation or simulation should indicate whatresources are required.<p>You should make an ordered list of features together with your currentbest guess on what you intend to accomplish together with contingency plansin case of unforeseen problems (``I will definitely do(a) and then (b).  If a.3 turns out to be impractical, however, I will do(b') instead.If time allows, I will also do (c).If things go especially well, I would also like to try (d), (e), and (f),in that order'').<p><b>You should have already done a substantial amount of background workon the project before writing the proposal.</b>For example,if you intend to do a simulation, you should have familiarized yourselfwith all available software tools, and decided which are most appropriate.If you intend to build a useful tool such as a threads package or a distributed <em>make</em>tool, you should know about all such tools that have been built before anddescribed in the open literature.There is no reason why you shouldn't do something that has been done before.After all, the main purpose of this project is learning.But if it has been done before, you should learn about previous attemptsso that you can learn from their mistakes rather than simply repeating themyourselves.<p>I will review all proposals and offer comments.Sketchy proposals will get sketchy comments.I will also indicate my opinion of the quality of each proposal.<h3>The Project Report</h3><p>At the end of the semester, you will hand in a project report.The length will vary depending on the type of project, butno paper should be over 15 pages unless you get specific prior approval for alonger report.  (A famous person once wrote in a letter,``Please excuse the length of this letter.I did not have the time to make it shorter.'')In all cases, the quality of the writing will be a factor in the grade.You will also make a short oral presentation to the class and, if appropriate,demonstrate your software.<h3>Peer Reviewing</h3><p>Your project report should be read and reviewed by at least oneother person in the class.It is up to you to select the person.This person will critique your paper and you will use the critique torevise your paper.<a name="suggestions"><h2> Project Suggestions </h2></a><a name="naming"><h2>Naming in Large Computer Networks:</h2></a>Consider the naming of resources (e.g., mail address, servers, etc.) ina distributed environment with many (1000 or more) computers.This environment might include universities, companies, and governmentagencies.Each of these areas might include other environments (e.g., the universitymight include a CS department, computer center, ECE department, etc.).A <em>name service</em>for such an environment is a special-purpose distributed database.A <em>server</em> can register services.Each registration includes a description of the service provided (e.g.,``mail delivery'')and information necessary to use the service (e.g.,``connect to address [128.105.2.33], port 25'').A<em>client</em>can look for a specific service (e.g.,``How do I deliver mail to host gjetost.cs.wisc.edu?'')or make a more generic request (e.g.,``Find me a nearby printer that allows student access and supportsPostScript''.<p>Design a name service for such an environment.Issues such as performance, local autonomy, scope of authority, reliability,protection, and expandability may be discussed.How are names used?  (What studies might you do to find out?)What are the limits on the size of the environment that your designwill be able to support?Evaluate your design through a pilot implementation or a simulation.<p>For background, read about Grapevine, Clearinghouse, the Arpanet DomainName Service (see me for more specific references).<a name="multicast"><h2>Group Communication:</h2></a>Several researchers have developed protocols and software packages tofacilitate communication among processes in a distributed program.A process supplies information by delivering messages to the systemand consumes it by registering requests.The system forwards each message to processes that expressed interestin it.Details differ considerably among the various proposals.Examples include the FIELD system from Brown university, the ISIS systemfrom Cornell, and the Linda language from the University of Maryland.Numerous other proposals may be seen as variations on this theme, includingother past and proposed 736 projects such as DREGS, Condor, and theswitchboard.Among the dimensions of variability  are<dl compact><dt>Implementation.<dd>Some systems are implemented by a central server.Others are fully distributed, using broadcasts of messages and/or requests.Other possibilities include establishment of explicit routing trees, orusing a central server only to introduce processes to one another andallowing them to engage in bilateral or multilateral communication thereafter.<dt>Reliability and Security.<dd>Some systems go to great lengths to cope with process and network failures,authentication and security, or out-of-order delivery, while otherslargely ignore these problems.<dt>Matching and Synchronization.<dd>Systems differ in criteria for matching messages with requests.The simplest approach is to require an exact match:Each message has a``message type''and each request specifies an interest in all messages of that type.Other schemes involve regular-expression string matching, general Booleanexpressions, or Prolog-like unification.A related issue is whether a message is delivered to a single process(perhaps with some priority ordering), multicast to all who are interested,or saved for those who may request it in the future.Requests can be blocking or non-blocking.<dt>Data Types.<dd>Messages may be simple untyped byte strings or they may be typed structures.The system may provide type checking facilities, to make sure the receiverinterprets the data as the sender intended, and it may even provideautomatic data conversion among integer or floating-point representations,character sets, etc.A concrete example is Linda, which maintains a single, conceptually global<em>tuple space </em>.Linda provides the primitives<b> put </b>which adds a tuple to tuple space,<b> get </b>which waits for a tuple with a give first component to appear and thenremoves it from the space, and<b> read </b>which waits for a matching tuple, but does not remove it from the space.</dl><p><a name="tigerteam">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -