A Scalable and Explicit Event Delivery Mechanism for UNIX

Total Page:16

File Type:pdf, Size:1020Kb

A Scalable and Explicit Event Delivery Mechanism for UNIX THE ADVANCED COMPUTING SYSTEMS ASSOCIATION The following paper was originally published in the Proceedings of the USENIX Annual Technical Conference Monterey, California, USA, June 6-11, 1999 A Scalable and Explicit Event Delivery Mechanism for UNIX _ Gaurav Banga, Network Appliance Inc. Jeffrey C. Mogul Compaq Computer Corp. Peter Druschel Rice University © 1999 by The USENIX Association All Rights Reserved Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. For more information about the USENIX Association: Phone: 1 510 528 8649 FAX: 1 510 548 5738 Email: [email protected] WWW: http://www.usenix.org A scalable and explicit event delivery mechanism for UNIX Gaurav Banga [email protected] Network Appliance Inc., 2770 San Tomas Expressway, Santa Clara, CA 95051 Jeffrey C. Mogul [email protected] Compaq Computer Corp. Western Research Lab., 250 University Ave., Palo Alto, CA, 94301 Peter Druschel [email protected] Department of Computer Science, Rice University, Houston, TX, 77005 Abstract amount of available parallelism (for example, one per UNIX applications not wishing to block when do- CPU), and to use non-blocking I/O in conjunction with ing I/O often use the select() system call, to wait for an efficient mechanism for deciding which descriptors events on multiple file descriptors. The select() mech- are ready for processing[17]. We focus on the design of anism works well for small-scale applications, but scales this mechanism, and in particular on its efficiency as the poorly as the number of file descriptors increases. Many number of file descriptors grows very large. modern applications, such as Internet servers, use hun- Early computer applications seldom managed many dreds or thousands of file descriptors, and suffer greatly file descriptors. UNIX, for example, originally suppor- from the poor scalability of select(). Previous work has ted at most 15 descriptors per process[14]. However, the shown that while the traditional implementation of se- growth of large client-server applications such as data- lect() can be improved, the poor scalability is inherent in base servers, and especially Internet servers, has led to the design. We present a new event-delivery mechanism, much larger descriptor sets. which allows the application to register interest in one or Consider, for example, a Web server on the Inter- more sources of events, and to efficiently dequeue new net. Typical HTTP mean connection durations have been events. We show that this mechanism, which requires measured in the range of 2-4 seconds[8, 13]; Figure 1 only minor changes to applications, performs independ- shows the distribution of HTTP connection durations ently of the number of file descriptors. measured at one of Compaq's firewall proxy servers. In- ternet connections last so long because of long round- 1 Introduction trip times (RTTs), frequent packet loss, and often be- An application must often manage large numbers of cause of slow (modem-speed) links used for download- file descriptors, representing network connections, disk ing large images or binaries. On the other hand, mod- files, and other devices. Inherent in the use of a file ern single-CPU servers can handle about 3000 HTTP descriptor is the possibility of delay. A thread that in- requests per second[19], and multiprocessors consider- vokes a blocking I/O call on one file descriptor, such as ably more (albeit in carefully controlled environments). the UNIX read() or write() systems calls, risks ignoring Queueing theory shows that an Internet Web server hand- all of its other descriptors while it is blocked waiting for ling 3000 connections per second, with a mean duration data (or for output buffer space). of 2 seconds, will have about 6000 open connections to UNIX supports non-blocking operation for read() and manage at once (assuming constant interarrival time). write(), but a naive use of this mechanism, in which the In a previous paper[4], we showed that the BSD application polls each file descriptor to see if it might be UNIX event-notification mechanism, the select() system usable, leads to excessive overheads. call, scales poorly with increasing connection count. We Alternatively, one might allocate a single thread to showed that large connection counts do indeed occur in each activity, allowing one activity to block on I/O actual servers, and that the traditional implementation of without affecting the progress of others. Experience with select() could be improved significantly. However, we UNIX and similar systems has shown that this scales also found that even our improved select() implementa- badly as the number of threads increases, because of tion accounts for an unacceptably large share of the over- the costs of thread scheduling, context-switching, and all CPU time. This implies that, no matter how carefully thread-state storage space[6, 9]. The use of a single pro- it is implemented, select() scales poorly. (Some UNIX cess per connection is even more costly. systems use a different system call, poll(), but we believe The most efficient approach is therefore to allocate that this call has scaling properties at least as bad as those a moderate number of threads, corresponding to the of select(), if not worse.) 1 Mean = 2.07 0.8 0.6 Median = 0.20 0.4 Fraction of connections 0.2 0 0.010.1 1 10 100 1000 10000 Connection duration (seconds) N = 10,139,681 HTTP connections Data from 21 October 1998 through 27 October 1998 Fig. 1: Cumulative distribution of proxy connection durations The key problem with the select() interface is that it value, which is a system-specific parameter. The read- requires the application to inform the kernel, on each fds, writefds,andexceptfds are in-out arguments, respect- call, of the entire set of “interesting” file descriptors: i.e., ively corresponding to the sets of file descriptors that are those for which the application wants to check readiness. “interesting” for reading, writing, and exceptional con- For each event, this causes effort and data motion propor- ditions. A given file descriptor might be in more than tional to the number of interesting file descriptors. Since one of these sets. The nfds argument gives the largest the number of file descriptors is normally proportional bitmap index actually used. The timeout argument con- to the event rate, the total cost of select() activity scales trols whether, and how soon, select() will return if no file roughly with the square of the event rate. descriptors become ready. In this paper, we explain the distinction between state- Before select() is called, the application creates one based mechanisms, such as select(), which check the or more of the readfds, writefds,orexceptfds bitmaps, by current status of numerous descriptors, and event-based asserting bits corresponding to the set of interesting file mechanisms, which deliver explicit event notifications. descriptors. On its return, select() overwrites these bit- We present a new UNIX event-based API (application maps with new values, corresponding to subsets of the programming interface) that an application may use, in- input sets, indicating which file descriptors are available stead of select(), to wait for events on file descriptors. for I/O. A member of the readfds set is available if there The API allows an application to register its interest in is any available input data; a member of writefds is con- a file descriptor once (rather than every time it waits for sidered writable if the available buffer space exceeds a events). When an event occurs on one of these interest- system-specific parameter (usually 2048 bytes, for TCP ing file descriptors, the kernel places a notification on a sockets). The application then scans the result bitmaps queue, and the API allows the application to efficiently to discover the readable or writable file descriptors, and dequeue event notifications. normally invokes handlers for those descriptors. We will show that this new interface is simple, easily Figure 2 is an oversimplified example of how an ap- implemented, and performs independently of the number plication typically uses select(). One of us has shown[15] of file descriptors. For example, with 2000 connections, that the programming style used here is quite inefficient our API improves maximum throughput by 28%. for large numbers of file descriptors, independent of the problems with select(). For example, the construction 2 The problem with select() of the input bitmaps (lines 8 through 12 of Figure 2) We begin by reviewing the design and implementation should not be done explicitly before each call to select(); of the select() API. The system call is declared as: instead, the application should maintain shadow copies of the input bitmaps, and simply copy these shadows to int select( readfds writefds int nfds, and . Also, the scan of the result bit- fd_set *readfds, maps, which are usually quite sparse, is best done word- fd_set *writefds, by-word, rather than bit-by-bit. fd_set *exceptfds, Once one has eliminated these inefficiencies, however, struct timeval *timeout); select() is still quite costly. Part of this cost comes from An fd set is simply a bitmap; the maximum size (in the use of bitmaps, which must be created, copied into bits) of these bitmaps is the largest legal file descriptor the kernel, scanned by the kernel, subsetted, copied out 1 fd_set readfds, writefds; 2 struct timeval timeout; 3 int i, numready; 4 5 timeout.tv_sec = 1; timeout.tv_usec = 0; 6 7 while (TRUE) { 8 FD_ZERO(&readfds); FD_ZERO(&writefds); 9 for (i = 0; i <= maxfd; i++) { 10 if (WantToReadFD(i)) FD_SET(i, &readfds); 11 if (WantToWriteFD(i)) FD_SET(i, &writefds); 12 } 13 numready = select(maxfd, &readfds, 14 &writefds, NULL, &timeout); 15 if (numready < 1) { 16 DoTimeoutProcessing(); 17 continue; 18 } 19 20 for (i = 0; i <= maxfd; i++) { 21 if (FD_ISSET(i, &readfds)) InvokeReadHandler(i); 22 if (FD_ISSET(i, &writefds)) InvokeWriteHandler(i); 23 } 24 } Fig.
Recommended publications
  • Nginx 1 Web Server Implementation Cookbook
    Nginx 1 Web Server Implementation Cookbook Over 100 recipes to master using the Nginx HTTP server and reverse proxy Dipankar Sarkar BIRMINGHAM - MUMBAI This material is copyright and is licensed for the sole use by 2135 Lymington on 26th March 2012 2135 Lymington, Carrollton, 75007 Nginx 1 Web Server Implementation Cookbook Copyright © 2011 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: May 2011 Production Reference: 1180511 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-849514-96-5 www.packtpub.com Cover Image by Javier Barria ([email protected]) This material is copyright and is licensed for the sole use by 2135 Lymington
    [Show full text]
  • Additional Software 1 Additional Software
    Additional Software 1 Additional Software 1 Additional Software 15 Feb 2014 1 1.1 Description 1.1 Description Where to get software written by other parties that might be useful (or necessary) when running mod_perl. 1.2 Perl Perl is probably already installed on your machine, but you should at least check the version you are using. It is highly recommended that you have at least Perl version 5.004. You can get the latest perl version from http://cpan.org/src/. Try the direct download link http://cpan.org/src/stable.tar.gz. You can get Perl documentation from the same location (although copious documentation is included in the downloaded Perl distribution). 1.3 CPAN Downloads You can download most of the Perl modules from CPAN. There are many mirrors of this site. The main site’s URL is http://cpan.org/. You may want to search the Perl modules database by using http://search.cpan.org/. Either use the search form, or type in the name of the package the module is distributed in. For example if you are looking for Apache::DumpHeaders, you can type: http://search.cpan.org/search?dist=Apache-DumpHeaders . 1.4 Apache Get the latest Apache webserver and documentation from http://httpd.apache.org. Try the direct download link http://httpd.apache.org/dist/. 1.5 Squid - Internet Object Cache http://www.squid-cache.org/ Squid Linux 2.x Redhat RPMs : http://home.earthlink.net/~intrep/linux/ 1.6 thttpd - tiny/turbo/throttling HTTP server http://www.acme.com/software/thttpd/ 1.7 mod_proxy_add_forward Ask Bjoern Hansen has written the mod_proxy_add_forward.c module for Apache that sets the X-Forwarded-For field when doing a ProxyPass, similar to what Squid does.
    [Show full text]
  • Server: Apache
    Modern Trends in Network Fingerprinting SecTor [11.21.07] Jay Graver Ryan Poppa // Fingerprinting Topics Why, What, Who & How? Tools in action Why Tools Break Tools EOL New Approaches New Tool // Why Fingerprint? WhiteHat needs accurate identification of hosts in a PenTest report BlackHat reconnaissance SysAdmins track down and identify new services or hosts when they appear on their network // What is a Fingerprint? Looking at something common … 192.168.2.187:8004 192.168.2.187 [152] 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d HTTP/1.1 200 OK. 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 6c 6f .Connection: clo 73 65 0d 0a 41 6c 6c 6f 77 3a 20 4f 50 54 49 4f se..Allow: OPTIO 4e 53 2c 20 47 45 54 2c 20 48 45 41 44 2c 20 50 NS, GET, HEAD, P 4f 53 54 0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e OST..Content‐Len 67 74 68 3a 20 30 0d 0a 44 61 74 65 3a 20 46 72 gth: 0..Date: Fr 69 2c 20 30 32 20 4e 6f 76 20 32 30 30 37 20 32 i, 02 Nov 2007 2 32 3a 32 35 3a 31 38 20 47 4d 54 0d 0a 53 65 72 2:25:18 GMT..Ser 76 65 72 3a 20 6c 69 67 68 74 74 70 64 2f 31 2e ver: lighttpd/1. 34 2e 31 35 0d 0a 0d 0a 4.15...
    [Show full text]
  • Next Generation Web Scanning Presentation
    Next generation web scanning New Zealand: A case study First presented at KIWICON III 2009 By Andrew Horton aka urbanadventurer NZ Web Recon Goal: To scan all of New Zealand's web-space to see what's there. Requirements: – Targets – Scanning – Analysis Sounds easy, right? urbanadventurer (Andrew Horton) www.morningstarsecurity.com Targets urbanadventurer (Andrew Horton) www.morningstarsecurity.com Targets What does 'NZ web-space' mean? It could mean: •Geographically within NZ regardless of the TLD •The .nz TLD hosted anywhere •All of the above For this scan it means, IPs geographically within NZ urbanadventurer (Andrew Horton) www.morningstarsecurity.com Finding Targets We need creative methods to find targets urbanadventurer (Andrew Horton) www.morningstarsecurity.com DNS Zone Transfer urbanadventurer (Andrew Horton) www.morningstarsecurity.com Find IP addresses on IRC and by resolving lots of NZ websites 58.*.*.* 60.*.*.* 65.*.*.* 91.*.*.* 110.*.*.* 111.*.*.* 113.*.*.* 114.*.*.* 115.*.*.* 116.*.*.* 117.*.*.* 118.*.*.* 119.*.*.* 120.*.*.* 121.*.*.* 122.*.*.* 123.*.*.* 124.*.*.* 125.*.*.* 130.*.*.* 131.*.*.* 132.*.*.* 138.*.*.* 139.*.*.* 143.*.*.* 144.*.*.* 146.*.*.* 150.*.*.* 153.*.*.* 156.*.*.* 161.*.*.* 162.*.*.* 163.*.*.* 165.*.*.* 166.*.*.* 167.*.*.* 192.*.*.* 198.*.*.* 202.*.*.* 203.*.*.* 210.*.*.* 218.*.*.* 219.*.*.* 222.*.*.* 729,580,500 IPs. More than we want to try. urbanadventurer (Andrew Horton) www.morningstarsecurity.com IP address blocks in the IANA IPv4 Address Space Registry Prefix Designation Date Whois Status [1] -----
    [Show full text]
  • Simplifying Server Configuration Management Björn Tackmann
    Universit¨atKarlsruhe (TH) Institut f¨ur Betriebs- und Dialogsysteme Lehrstuhl Systemarchitektur Simplifying Server Configuration Management Bj¨ornTackmann Studienarbeit Verantwortlicher Betreuer: Prof. Dr. Frank Bellosa Betreuender Mitarbeiter: Joshua LeVasseur 11. Mai 2005 Hiermit erkl¨areich, die vorliegende Arbeit selbst¨andig verfasst und keine anderen als die angegebenen Literaturhilfsmittel verwendet zu haben. I hereby declare that this thesis is a work of my own, and that only cited sources have been used. Karlsruhe, den 11. Mai 2005 Bj¨ornTackmann Abstract Network services have gained great importance during the last years. Follow- ing the current trend, the number of computers and applications that collabo- rate to provide these services will grow steadily in the future. The dependencies between the collaborating systems along with heterogeneous management inter- faces will continue to increase the complexity of the administration task. This thesis presents a new approach to server configuration management. The inte- gration of the applications into diverse local environments is simplified, and the availability of services is improved by freeing the applications from error-prone tasks. Contents 1 Introduction 1 2 Related Work 3 2.1 Management of Configuration Data . 3 2.2 Dynamic Reconfiguration . 3 3 Proposed Solution 5 3.1 The Traditional Approach . 6 3.2 The Configuration Linking Approach . 7 3.2.1 Separating the Parser from the Application . 8 3.2.2 Configuration Data Bases . 9 3.2.3 Generating the Object Files . 10 3.3 Dynamic Reconfiguration . 10 3.3.1 A Classification of Configuration Parameters . 10 3.3.2 Local Parameters . 11 3.3.3 Global Parameters . 11 4 Evaluation 15 4.1 The thttpd WebServer.......................
    [Show full text]
  • Webserver WEBSER  Shell-Zugriff Via Webbrowser Debian 6.0 S
    COMMUNITY-EDITION Frei kopieren und beliebig weiter verteilen ! 04.2011 04.2011 APACHE-ALTERNATIVEN: WEBSITES AUFSETZEN UND PFLEGEN VER WEBSERVER WEBSER Shell-Zugriff via Webbrowser Debian 6.0 S. 6 Live- und Install-DVDs So verwalten Sie mit PHP Shell und Shell in a Box für 32- und 64-Bit-PCs den Webserver über die Kommandozeile S. 33, DVD Analyse-Tools für die Website Server-Logs grafisch aufbereiten und Benutzerzugriffe detailliert auswerten mit Webalizer und Piwik S. 38, 42, DVD Fünf Apache-Alternativen für alle Fälle S. 20, 28, DVD Profi-Server Nginx, hochsicherer Hiawatha, Allrounder Lighttpd, Minimalist Thttpd, schneller Einstieg mit Monkey HTTP Daemon MoonOS 4 S. 12 Schicke Mac-Optik für Ubuntu „Maverick“ Laptop-Schnäppchen Aspire 5253 Acers neuer 15,6-Zöller auf AMD-Fusion-Basis mit satter Grafik-Leistung und langer Laufzeit S. 80 Texterkennung in Platzfresser von Profi-Qualität S. 48, DVD der Platte putzen S. 70 Unity 2010.2 S. 8 Cuneiform: multilinguale OCR Dateileichen und Altlasten Maßgeschneiderte mit intuitiver Oberfläche aufspüren mit JDiskReport Distro auf Knopfdruck MythTV-Export Geballtes Wissen auf Knopfdruck S. 66 stets zur Hand S. 82, DVD Aufnahmen unkompliziert Goldendict vereint On- und wandeln, streamen, brennen Offline-Lexika in einer GUI ATI FIREPRO 3D • GOLDENDICT LOUT LUCIDOR MYTHTV OCR ATI 4 196067 008502 04 www.linux-user.de EDITORIAL Klare Ansage Sehr geehrte Leserinnen und Leser, im Vorfeld von Ubuntu 11.04 Wohlgemerkt: Die MIT-Lizenz des statt Lizenzgebühren zu verlan- sorgte Canonical immer wieder für Banshee-Projekts hätte jegliche gen. Diesem Geschäftsmodell fol- Schlagzeilen – zuletzt im Zusam- Änderungen auch ganz ohne Nach- gend, werde man grundsätzlich wo menhang mit der Ablösung des frage erlaubt, formaljuristisch war immer möglich aus der Software bisherigen Mediaplayers Rhythm- Canonicals Ansinnen völlig in der freien Upstream-Projekte Ge- box durch Banshee: Der nämlich Ordnung.
    [Show full text]
  • Comparison of Web Server Software from Wikipedia, the Free Encyclopedia
    Create account Log in Article Talk Read Edit ViewM ohrisetory Search Comparison of web server software From Wikipedia, the free encyclopedia Main page This article is a comparison of web server software. Contents Featured content Contents [hide] Current events 1 Overview Random article 2 Features Donate to Wikipedia 3 Operating system support Wikimedia Shop 4 See also Interaction 5 References Help 6 External links About Wikipedia Community portal Recent changes Overview [edit] Contact page Tools Server Developed by Software license Last stable version Latest release date What links here AOLserver NaviSoft Mozilla 4.5.2 2012-09-19 Related changes Apache HTTP Server Apache Software Foundation Apache 2.4.10 2014-07-21 Upload file Special pages Apache Tomcat Apache Software Foundation Apache 7.0.53 2014-03-30 Permanent link Boa Paul Phillips GPL 0.94.13 2002-07-30 Page information Caudium The Caudium Group GPL 1.4.18 2012-02-24 Wikidata item Cite this page Cherokee HTTP Server Álvaro López Ortega GPL 1.2.103 2013-04-21 Hiawatha HTTP Server Hugo Leisink GPLv2 9.6 2014-06-01 Print/export Create a book HFS Rejetto GPL 2.2f 2009-02-17 Download as PDF IBM HTTP Server IBM Non-free proprietary 8.5.5 2013-06-14 Printable version Internet Information Services Microsoft Non-free proprietary 8.5 2013-09-09 Languages Jetty Eclipse Foundation Apache 9.1.4 2014-04-01 Čeština Jexus Bing Liu Non-free proprietary 5.5.2 2014-04-27 Galego Nederlands lighttpd Jan Kneschke (Incremental) BSD variant 1.4.35 2014-03-12 Português LiteSpeed Web Server LiteSpeed Technologies Non-free proprietary 4.2.3 2013-05-22 Русский Mongoose Cesanta Software GPLv2 / commercial 5.5 2014-10-28 中文 Edit links Monkey HTTP Server Monkey Software LGPLv2 1.5.1 2014-06-10 NaviServer Various Mozilla 1.1 4.99.6 2014-06-29 NCSA HTTPd Robert McCool Non-free proprietary 1.5.2a 1996 Nginx NGINX, Inc.
    [Show full text]
  • Frankencode: Creating Diverse Programs Using Code Clones
    Frankencode: Creating Diverse Programs Using Code Clones Hayley Borck, Mark Boddy, Ian J De Silva, Steven Harp, Ken Hoyme, Steven Johnston, August Schwerdfeger, and Mary Southern Adventium Labs, Minneapolis, MN 55401 Email: fi[email protected] Abstract enable not just new attacks, but new kinds of attacks. Apparently-minor vulnerabilities can be chained to- In this paper, we present an approach to detecting gether in successful attacks, even on software that is novel cyber attacks though a form of program diversifi- extensively tested and generally viewed as secure.1 cation, similar to the use of n-version programming for In this paper, we describe our research on the Func- fault tolerant systems. Building on extensive previous tionally Equivalent Variants using Information Syn- and ongoing work by others on the use of code clones chronization (FEVIS) system. Part of the Cyber Fault- in a wide variety of areas, our Functionally Equivalent tolerant Attack Recovery (CFAR) program, funded by Variants using Information Synchronization (FEVIS) the U.S. Government’s Defense Advanced Research system automatically generates program variants to be Projects Agency (DARPA), FEVIS builds on previ- run in parallel, seeking to detect attacks through diver- ous and ongoing work on “code clones,” substituting gence in behavior. Unlike approaches to diversification redundant code fragments as a means to generate that only change program memory layout and behavior, program variants automatically. These variants are in- FEVIS can detect attacks exploiting vulnerabilities in tended for use in a multi-variant execution environ- execution timing, string processing, and other logic ment, to be used for attack detection and resistance in errors.
    [Show full text]
  • Ipv6 in Freebsd.Pdf
    The FreeBSD Project http://www.freebsd.org/ 1/28 IPv6 in FreeBSD Joseph Koshy [email protected] i ? P Structure of this talk What is FreeBSD? 2/28 • The FreeBSD development model • The KAME project • IPv6 support in FreeBSD • Configuring IPv6 in FreeBSD • Available IPv6 capable application software. • Tracking IPv6 development under FreeBSD • Conformance and performance • A look at IPv6 in operation; demos • Conclusion • i ? P What is FreeBSD? http://www.freebsd.org/ 3/28 A high-performance, volunteer developed, open source, protected mode operating • system. University of California, Berkeley heritage (BSD4.4-Lite). BSD License. • Released for Intel (x86) PCs, laptops and Alpha workstations. • Most recent stable release: FreeBSD v4.2 • Linux, SVR4 (Solaris), SCO application compatibility. • A large number of ported applications (over 4000). • used in very high load scenarios (YAHOO,HOTMAIL, . ); excellent as a worksta- • tion OS. Possesses an excellent IPv6 stack. i ? • P The BSD License very open to commercial use 4/28 • unlike the GPL, there is no requirement that you have to release your modified • sources to the public only requires you to acknowledge authorship of the code • no warranties on the code • many companies are using the FreeBSD code base in their products • e.g. the Interjet from Whistle Inc. (an internet appliance), many router products . i ? P The FreeBSD Organization 5/28 USER COMMUNITY COMMITTERS CORE FreeBSD.ORG FreeBSD is developed and managed by its users. • 3-level organization: • – Over 75% of changes to the source tree originate from the FreeBSD user com- munity. – COMMITTERS are individuals who have the rights to change the source tree.
    [Show full text]
  • Security Assessment INTERNAL NETWORK VULNERABILITIES SUMMARY REPORT
    Security Assessment INTERNAL NETWORK VULNERABILITIES SUMMARY REPORT CONFIDENTIALITY NOTE: The information contained in this report is for the exclusive use of the client specified above and may contain Prepared for: Your Customer / confidential, privileged, and non-disclosable information. If you are Prospect not the client or addressee, you are strictly prohibited from reading, photocopying, distributing, or otherwise using this report or its Prepared by: Your Company Name contents in any way. 23-Feb-2021 Scan Date: 12-Feb-2021 Your Company Name Prepared for: MSP WEBSITE URL Your Customer / Prospect MSP PHONE Scan Date: MSP EMAIL 12-Feb-2021 Internal Network Vulnerabilities Summary The Management Plan ranks individual issues based upon their potential risk to the network while providing guidance on which issues to address by priority. Fixing issues with lower Risk Scores will not lower the global Risk Score, but will reduce the global Issue Score. To mitigate global risk and improve the health of the network, address issues with higher Risk Scores first. Appliances Used: 1. NDA1-5488JF 2. NDA1-7584JY 3. NDA1-9644PG High Risk CVSS RECOMMENDATION 10 Trojan horses Summary An unknown service runs on this port. It is sometimes opened by Trojan horses. Unless you know for sure what is behind it, you'd better check your system. Solution If a trojan horse is running, run a good antivirus scanner. Affected Nodes 10.200.1.16(myco-bdr)1 10 IPMI Cipher Zero Authentication Bypass Vulnerability Summary Intelligent Platform Management Interface is prone to an authentication- bypass vulnerability. Solution Ask the Vendor for an update.
    [Show full text]
  • Kqueue: a Generic and Scalable Event Notification Facility
    Kqueue: A generic and scalable event notification facility Jonathan Lemon [email protected] FreeBSD Project Abstract delivered to the application, when a file in the filesystem changes in some fashion, or when a process exits. None Applications running on a UNIX platform need to be no- of these are handled efficiently at the moment; signal de- tified when some activity occurs on a socket or other de- livery is limited and expensive, and the other events listed scriptor, and this is traditionally done with the select() or require an inefficient polling model. In addition, neither poll() system calls. However, it has been shown that the poll() nor select() can be used to collect these events, performance of these calls does not scale well with an in- leading to increased code complexity due to use of mul- creasing number of descriptors. These interfaces are also tiple notification interfaces. limited in the respect that they are unable to handle other This paper presents a new mechanism that allows the potentially interesting activities that an application might application to register its interest in a specific event, and be interested in, these might include signals, file system then efficiently collect the notification of the event at a changes, and AIO completions. This paper presents a later time. The set of events that this mechanism covers generic event delivery mechanism, which allows an ap- is shown to include not only those described above, but plication to select from a wide range of event sources, may also be extended to unforeseen event sources with and be notified of activity on these sources in a scalable no modification to the API.
    [Show full text]
  • Reference Guide
    Systemwalker Service Quality Coordinator Reference Guide Windows/Solaris/Linux J2X1-7662-01ENZ0(01) September 2012 Preface Purpose of this manual This manual explains the different commands and messages used by Systemwalker Service Quality Coordinator. Target audience This manual is intended for users who will use the Systemwalker Service Quality Coordinator Console window. Readers of this manual should also have a general understanding of basic operating system and GUI operations as well as a working knowledge of communications protocols such as TCP/IP and SMTP. Organization of Systemwalker Service Quality Coordinator manuals The Systemwalker Service Quality Coordinator manuals are organized as follows: - Systemwalker Service Quality Coordinator Technical Guide Provides an overview of the functions of Systemwalker Service Quality Coordinator. - Systemwalker Service Quality Coordinator Installation Guide Explains how to install and set up Systemwalker Service Quality Coordinator. - Systemwalker Service Quality Coordinator User's Guide Explains how to use the functions of Systemwalker Service Quality Coordinator. - Systemwalker Service Quality Coordinator User's Guide (Console Edition) Explains how to use those functions related to console windows. - Systemwalker Service Quality Coordinator User's Guide (Dashboard Edition) Explains how to use dashboard function. - Systemwalker Service Quality Coordinator Reference Guide Explains commands, data formats, messages and so on. - Systemwalker Service Quality Coordinator Troubleshooting Guide
    [Show full text]