Multithreading the Sunos Kernel

Total Page:16

File Type:pdf, Size:1020Kb

Multithreading the Sunos Kernel BeyondMultiprocessing: Multithreadingthe SUnOSKernel t. 4. Fyt4olg S, R. Kleimaq S. Børton,R. Faulkner,A. Shivalingiah, M. Smith,D. Stein,J. Voll, M. Weeks,D. Williams- SunSoft,[nc. ABSTRACT Preparingthe SUnOSiSVR4kernel for today'schallenges: symmetric multiprocessing, multi-th¡eadedapplications, real-time, and multimedia,led to the incorporationof several innovativetechniques. In particular,the kernelwas re-structuredaround threads. Threads are usedfor most asynchronousprocessing, including interrupts. The resultingkernel is fully preemptibleand capableof real-timeresponse. The combinationprovides a robustbase for highly concurrent,responsive operation. Introduction having only a small data structure and a stack. Switchingbetween When we started to investigateenhancements kernelthreads does not requirea changeof virtual memory to the SunOSkernel to supportmultiprocessors, we addressspace information, so it is relatively realized that we wanted to go further than merely inexpensive.Kernel threadsare fully preemptible addinglocks to the kernel and keepingthe userpro- and may be scheduledby any of the scheduling cessmodel unchanged.It was importantfor the ker- classesin the system,including the real-time(fixed priority) nel to be capableof a high degreeof concurrencyon class. Sinceall other exe- cution entities tightly coupled symmetricmultiprocessors, but it are built using kernel th¡eads,they representa fully preemptible, was also a goal to supportmore thanone threadof real-time"nucleus" within the kernel. controlwithin a userprocess. These threads must be capableof executingsystem calls and handlingpage Kernel th¡eads use synchronizationprimitives faults independently. On multiprocessorsystems, that supportprotocols for preventingpriority inver- theseth¡eads of control must be capableof running sion, so a thread'spriority is determinedby which concurently on different processors.[Powell 1991] activitiesit is impedingby holdinglocks as well as describedthe user-visiblethread architecture. by the serviceit is performing[Khanna 1992]. We also wanted the kernel to be capableof SUnOSuses kernel tlueads to provideasynchro- bounded dispatch latency for real-time threads nous kernel activity, such as asynchronouswrites to [Khanna1992]. Real-time response requires absolute disk, servicingSTREAMS queues, and callouts. This control over scheduling, requiring preemption at removesvarious diversions in the idle loop and trap almostany point in the kernel,and eliminationof code and replaces them with independently unboundedpriority inversionswherever possible. scheduledthreads. Not only does this increase potential (these The kernel itself is a very complex multi- concurrency activities can be han- dledby otherCPUs), it gives th¡eadedprogram. Th¡eads can be used by user but also eachasynchro- nous activity a priority applicationsas a structuring techniqueto manage so that it can be appropri- atelyscheduled. multiple asynchronousactivities; the kernel benefrts from a th¡eadfacility thatis essentiallythe same. Even interruptsare handledby kernel threads. The kernel synchronizeswith The resultingSunOS 5.0 kernel, the central interrupt handlersvia normal thread operatingsystem component of Solaris 2.0, is fully synch¡onizationprimitives. If an interrupt preemptible,has real-timescheduling, symmetrically threadencounters a locked synchronization variable,it supports multiprocessors,and supports userJevel blocks and allows the critical section to clear. multithreading.Several of the locking strategies used in this kernel were describedin [Kleiman A major featureof the new kernelis its support 1992), In this paper we'll describesome of the of multiple kernel-supportedth¡eads of control, implementation features that make this kernel called lightleight processes(t-wts), in any userpro- unique. cess,sharing the addressspace of the processand other resources,such as open files. The kernel sup- Overview of the Kernel Architecture ports the executionof user LWPs by associatinga A kernel threadis the fundamentalentitv that is kernel threadwith eachLWp, as shown in Figure 1. scheduledand dispatchedonto one of the ôpUs of While all LWPshave a kernel thread,not all kernel the system. A kernel thread is very lightweight, th¡eadshave an LWP. '92 Summer USENIX- June8-June 12,lgg2 - SanAntonio, TX 11 BeyondMultiprocessing: Multithreading the SUnOSKernel J. R. Eykholt,... = VM addressspace [ Thread C=t*t Q="tu tl LWP data _L_YP_{ala_ r---------l thread Hardware Figure 1: Multi+hreadarchitecture examoles A user-levellibrary uses LWps to implement nl*p user-levelthreads lstein 1992]. These threadsare scheduledat user-leveland switchedbv the librarv E to any of the LrJi,rPsbelonging to the piocess. User L--_____J threads can also be bound to a particular LWp. Figure 2: MT Data Structuresfor a Process Separatinguser-level threads from the LWp allows the user thread library to quickly switch between The kernel threadstructure contains the kernel userthreads without entering the kernel. In addition, registers,scheduling class, dispatch queue links, and it allows a userprocess to havethousands of threads, pointersto the stack and the associatedLwp, pro- without overwhelmingkernel resources. cess,and CPUstructures. The threadstructure is not Data Structures swapped,so it also containssome data associated with the LWP that is neededeven when the LWp In the traditionalkemel, the user and proc structure is swapped out. Thread structures are structurescontained all kernel data for the process. linked on a list of threadsfor the process,and also Processordata was held in global variablesand data on a list of all existingthreads in the system. structures. The per-process data was divided betweennon-swappable data in the proc structure, Per-processordata is kept in the cpu structure, pointers andswappable data in the user structure.The ker- which has to the cunently executingthread, nel stack of the process,which is also swappable, the idle threadfor that CPU,and cunent dispatching was allocatedwith the user structurein the user and interrupt handlinginformation. There is a sub- area,usually one or two pageslong. structureof the cpu structurethat can be architec- ture dependent,but the main body is intendedto be The restructuredkemel must separatethis data applicableto mostmultiprocessing architectures. into data associatedwith each Lwp and its kernel thread,the data associatedwith each process.and To speedaccess to the thread,LWp, process, the data associatedwith each pto"".sot. Figure 2 and CPUstructures, the SPARCimplementation uses global showsthe relationshipof theseðata structuresln the a register,Vog7, to point to the currentthread restructuredkemel. structure. A C-preprocessormacro, curthread, allows accessto fields in the currentthread struc¡ure The per-processdata is contained in the proc with a singleinstruction. The currentLWp, process, structure. It containsa list of kernel threadsassoci- and CPU structuresare quickly accessiblethrough ated with the process, a pointer to the process pointers in the thread structure. In the future we addressspace, user credentials, and the list of signal may dedicateadditional global registersfor other handlers.The proc structurealso containsthe ves- frequentlyaccessed structures. tigial user structure,which is now much smaller thana page,and is no longerpractical to swap. Kernel Thread Scheduling SunOS5.0 provides The LWP structurecontains the per-LWp data severalscheduling classes. such as the process-control-block(pcU¡ for A schedulingclass determines the relativepriority of storing processeswithin user-levelprocessor registers, system call arguments, the class,and convertsthat priority to a global priority. With signal handling masks, resourceusage information, the addition of mul- tithreading,the scheduling and profiling pointers. It also containspointers to classesand dispatcher operate on threads the associatedkemel threadand Drocessstructures. instead of processes. The schedulingclasses The kernel stack of the threadis ãilocatedwith the cunently supportedare system, timesharing, LWPstructure inside a swappablearea. andreal-time (fixed-priority). '92 t2 Summer USENIX - June 8-June 12, L992- San Antonio, TX J. R Eykholt,... BeyondMultiprocessing: Multithreading the SunOSKernel The dispatcherchooses the thread with the semaghores,and multiple readers, single writer greatestglobal priority to run on the CpU. If more (readen/writer)locks. The interfacesare shown in than one thread has the same priority, they are Figure4r. dispatchedin round-robinorder. /* Mutual excluglon tocke */ The kernel hasbeen made preemptible to better vold mutex_enter(kmutex_t *Ip) t support the real-time class and interrupt threads. void nutex_exit(kmutex_t *lp); Preemptionis disabledonly in a small number of *Ip, boundedsections of code. This meansthat a runn- void nutex_init(k¡nutex_t cha! *name, knrutex_type_t type, void *arg); able thread runs as soon as is practical after its vold . mutex_destroy ( k¡rutex_t * Ip ) i priority becomeshigh enough. For example,when int mutex_tryênter(kmutex_t *lp); thread A releasesa lock on which higher priority threadB is sleeping,the running threadA immedi- /* conditfon varfablea */ . vold cv_waltlkcondvar_t *cp, kmutex_t ately puts itself back on the run queue and allows int cv_wait_aig(kcondvar_t *cp, "lp); the CPU to run thread B. On a multiprocessor,if kmutex_t *lp) i threadA hasbetter priority than threadB, but thread int cv_timedwaít(kcondvar_t icvp, B has better priority than the current th¡ead on
Recommended publications
  • Solaris Advanced User's Guide
    Solaris Advanced User’s Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 806–7612–10 May 2002 Copyright 2002 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, docs.sun.com, AnswerBook, AnswerBook2, SunOS, and Solaris are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. The OPEN LOOK and Sun™ Graphical User Interface was developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering efforts of Xerox in researching and developing the concept of visual or graphical user interfaces for the computer industry. Sun holds a non-exclusive license from Xerox to the Xerox Graphical User Interface, which license also covers Sun’s licensees who implement OPEN LOOK GUIs and otherwise comply with Sun’s written license agreements.
    [Show full text]
  • Introduction to UNIX What Is UNIX? Why UNIX? Brief History of UNIX Early UNIX History UNIX Variants
    What is UNIX? A modern computer operating system Introduction to UNIX Operating system: “a program that acts as an intermediary between a user of the computer and the computer hardware” CS 2204 Software that manages your computer’s resources (files, programs, disks, network, …) Class meeting 1 e.g. Windows, MacOS Modern: features for stability, flexibility, multiple users and programs, configurability, etc. *Notes by Doug Bowman and other members of the CS faculty at Virginia Tech. Copyright 2001-2003. (C) Doug Bowman, Virginia Tech, 2001- 2 Why UNIX? Brief history of UNIX Used in many scientific and industrial settings Ken Thompson & Dennis Richie Huge number of free and well-written originally developed the earliest software programs versions of UNIX at Bell Labs for Open-source OS internal use in 1970s Internet servers and services run on UNIX Borrowed best ideas from other Oss Largely hardware-independent Meant for programmers and computer Based on standards experts Meant to run on “mini computers” (C) Doug Bowman, Virginia Tech, 2001- 3 (C) Doug Bowman, Virginia Tech, 2001- 4 Early UNIX History UNIX variants Thompson also rewrote the operating system Two main threads of development: in high level language of his own design Berkeley software distribution (BSD) which he called B. Unix System Laboratories System V Sun: SunOS, Solaris The B language lacked many features and Ritchie decided to design a successor to B GNU: Linux (many flavors) which he called C. SGI: Irix They then rewrote UNIX in the C FreeBSD programming language to aid in portability. Hewlett-Packard: HP-UX Apple: OS X (Darwin) … (C) Doug Bowman, Virginia Tech, 2001- 5 (C) Doug Bowman, Virginia Tech, 2001- 6 1 Layers in the UNIX System UNIX Structure User Interface The kernel is the core of the UNIX Library Interface Users system, controlling the system Standard Utility Programs hardware and performing various low- (shell, editors, compilers, etc.) System Interface calls User Mode level functions.
    [Show full text]
  • Managing Network File Systems in Oracle® Solaris 11.4
    Managing Network File Systems in ® Oracle Solaris 11.4 Part No: E61004 August 2021 Managing Network File Systems in Oracle Solaris 11.4 Part No: E61004 Copyright © 2002, 2021, Oracle and/or its affiliates. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract.
    [Show full text]
  • The Rise & Development of Illumos
    Fork Yeah! The Rise & Development of illumos Bryan Cantrill VP, Engineering [email protected] @bcantrill WTF is illumos? • An open source descendant of OpenSolaris • ...which itself was a branch of Solaris Nevada • ...which was the name of the release after Solaris 10 • ...and was open but is now closed • ...and is itself a descendant of Solaris 2.x • ...but it can all be called “SunOS 5.x” • ...but not “SunOS 4.x” — thatʼs different • Letʼs start at (or rather, near) the beginning... SunOS: A peopleʼs history • In the early 1990s, after a painful transition to Solaris, much of the SunOS 4.x engineering talent had left • Problems compounded by the adoption of an immature SCM, the Network Software Environment (NSE) • The engineers revolted: Larry McVoy developed a much simpler variant of NSE called NSElite (ancestor to git) • Using NSElite (and later, TeamWare), Roger Faulkner, Tim Marsland, Joe Kowalski and Jeff Bonwick led a sufficiently parallelized development effort to produce Solaris 2.3, “the first version that worked” • ...but with Solaris 2.4, management took over day-to- day operations of the release, and quality slipped again Solaris 2.5: Do or die • Solaris 2.5 absolutely had to get it right — Sun had new hardware, the UltraSPARC-I, that depended on it • To assure quality, the engineers “took over,” with Bonwick installed as the gatekeeper • Bonwick granted authority to “rip it out if itʼs broken" — an early BDFL model, and a template for later generations of engineering leadership • Solaris 2.5 shipped on schedule and at quality
    [Show full text]
  • Openafs: BSD Clients 2009
    OpenAFS: BSD Clients 2009 Matt Benjamin <[email protected]> OpenAFS: BSD Clients 2009 Who am I? ● OpenAFS developer interested in various new-code development topics ● for the last while, “portmaster” for BSD clients except DARWIN/MacOS X ● involves evolving the ports, interfacing withusers and port maintainers in the BSD communities OpenAFS: BSD Clients 2009 Former Maintainers ● Tom Maher, MIT ● Jim Rees, University of Michigan (former Gatekeeper and Elder) ● Garret Wollman, MIT OpenAFS: BSD Clients 2009 Other Active ● Ben Kaduk (FreeBSD) ● Tony Jago (FreeBSD) ● Jamie Fournier (NetBSD) OpenAFS: BSD Clients 2009 Historical Remarks ● AFS originated in a BSD 4.2 environment ● extend UFS with coherence across a group of machines ● Terminology in common with BSD, SunOS, etc, e.g., vnodes ● Followed SunOS and Ultrix to Solaris and Digital Unix in Transarc period ● 386BSD released at 4.3 level in the Transarc period, some client development never publically released (or independent of Transarc) OpenAFS: BSD Clients 2009 BSD Clients Today ● Descendents of 386BSD distribution and successors, not including DARWIN/MacOS X ● DARWIN separately maintained, though of course there are similarities OpenAFS: BSD Clients 2009 Today ● FreeBSD ● OpenBSD Soon ● NetBSD ● OpenBSD Not yet supported (as a client): ● Dragonfly BSD OpenAFS: BSD Clients 2009 BSD Port History I ● First 386BSD port probably that of John Kohl (MIT), for NetBSD ● First to appear in OpenAFS is FreeBSD, by Tom Maher ● Next to appear in OpenAFS is OpenBSD, by Jim Rees ● Significant evolution
    [Show full text]
  • UNIX History Page 1 Tuesday, December 10, 2002 7:02 PM
    UNIX History Page 1 Tuesday, December 10, 2002 7:02 PM CHAPTER 1 UNIX Evolution and Standardization This chapter introduces UNIX from a historical perspective, showing how the various UNIX versions have evolved over the years since the very first implementation in 1969 to the present day. The chapter also traces the history of the different attempts at standardization that have produced widely adopted standards such as POSIX and the Single UNIX Specification. The material presented here is not intended to document all of the UNIX variants, but rather describes the early UNIX implementations along with those companies and bodies that have had a major impact on the direction and evolution of UNIX. A Brief Walk through Time There are numerous events in the computer industry that have occurred since UNIX started life as a small project in Bell Labs in 1969. UNIX history has been largely influenced by Bell Labs’ Research Editions of UNIX, AT&T’s System V UNIX, Berkeley’s Software Distribution (BSD), and Sun Microsystems’ SunOS and Solaris operating systems. The following list shows the major events that have happened throughout the history of UNIX. Later sections describe some of these events in more detail. 1 UNIX History Page 2 Tuesday, December 10, 2002 7:02 PM 2 UNIX Filesystems—Evolution, Design, and Implementation 1969. Development on UNIX starts in AT&T’s Bell Labs. 1971. 1st Edition UNIX is released. 1973. 4th Edition UNIX is released. This is the first version of UNIX that had the kernel written in C. 1974. Ken Thompson and Dennis Ritchie publish their classic paper, “The UNIX Timesharing System” [RITC74].
    [Show full text]
  • Status and Projections of the NAS Program Frank R
    https://ntrs.nasa.gov/search.jsp?R=19870015491 2020-03-20T10:46:12+00:00Z View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by NASA Technical Reports Server NASA Technical Memorandum 88339 . , Status and Projections of the NAS Program Frank R. Bailey EECGECTIOIS CP f Avail: NTlS P87-24924 CSCL 09B 63 Unclad 0080153 July 1986 National Aeronautics and Space Administration ~~ ~ NASA Technical Memorandum 88339 Status and Projections of the NAS Program Frank R. Bailey, Ames Research Center, Moffett Field, California July 1986 NASA National Aeronautics and Space Adminlstratlon Ames Research Center Moffett Field. California 94035 STATUS AND PROJECTIONS OF THE NAS PROGRAM by Dr. F. Ron Bailey to be presented at the SYMPOSIUM ON FUTURE DIRECTIONS OF COMPUTATIONAL MECHANICS ASME Winter Annual Meeting December 7-12, 1986 Anaheim, California ABSTRACT NASA's Numerical Aerodynamic Simulation (NASI Program has completed devel- opment of the initial operating configuration of the NAS Processing System Net- work (NPSN). This is the first milestone in the continuing and pathfinding effort to provide state-of-the-art supercomputing for aeronautics research and development. The NPSN, available to a nation-wide community of remote users, provides a uniform UNIX 1 environment over a network of host computers ranging from the new Cray-2 supercomputer to advanced scientific workstations. This system, coupled with a vendor-independent base of common user interface and network software, presents a new paradigm for supercomputing environments. Presented here is the background leading to the NAS Program, its programmatic goals and strategies, technical goals and objectives, and the development activ- ities leading to the current NPSN configuration.
    [Show full text]
  • Transitioning from Oracle® Solaris 10 to Oracle® Solaris 11.4 2 ■ Installation and Upgrade: ■ Instead of Jumpstart, Use Automated Installer
    ® Transitioning From Oracle Solaris 10 ® to Oracle Solaris 11.4 August 2019 Part No: E89347 This document provides information to assist you to transition to Oracle Solaris 11 from Oracle Solaris 10. Key Differences between Oracle Solaris 10 and Oracle Solaris 11 Upgrading from Oracle Solaris 10 to Oracle Solaris 11 requires a fresh installation of Oracle Solaris 11. Tools to help you make the transition include the following: ■ Oracle Solaris 10 branded zones. Migrate Oracle Solaris 10 instances to Oracle Solaris 10 zones on Oracle Solaris 11 systems. ■ ZFS shadow migration. Migrate UFS data from an existing file system, either local or NFS, to a new local ZFS file system. Do not mix UFS directories and ZFS file systems in the same file system hierarchy. You can also remotely mount UFS file systems from an Oracle Solaris 10 system onto an Oracle Solaris 11 system, or use the ufsrestore command on an Oracle Solaris 10 system to restore UFS data (ufsdump) into an Oracle Solaris 11 ZFS file system. ■ ZFS pool import. Export and disconnect storage devices that contain ZFS storage pools on your Oracle Solaris 10 systems and then import them into your Oracle Solaris 11 systems. ■ NFS file sharing. Share files from an Oracle Solaris 10 system to an Oracle Solaris 11 system. Do not mix NFS legacy shared ZFS file systems and ZFS NFS shared file systems. Use only ZFS NFS shared file systems. For the main Oracle Solaris documentation, see Oracle Solaris Documentation. For additional documentation and examples, select a technology on the Oracle Solaris 11 Technology Spotlights page.
    [Show full text]
  • Jack F. Vogel Hillsboro, OR 97124 ‖ (503) 330­3395 [email protected] ‖ Linkedin: Jack F
    Jack F. Vogel Hillsboro, OR 97124 ‖ (503) 330­3395 [email protected] ‖ LinkedIn: Jack F. Vogel ​ Senior Software Engineer New/Emerging Technology ‖ Software Development Lifecycle (SDLC) ‖ Cross­Functional Team Leadership Seasoned Software Engineer with more than 20 years of demonstrated experience across diverse hardware and software development environments in the semiconductor and IT services industries. Expert in core kernel systems and network stack and drivers. Broad­based FreeBSD and Linux expertise. Adept at spearheading large­scale programs, streamlining processes, and developing innovative solutions for Fortune 500 employers and client companies based on next­generation technologies. Track record of accomplishments across progressively responsible leadership roles; designing, developing, testing, troubleshooting, debugging, and implementing various critical decision­making applications. Collaborating with C­suite executives and key stakeholders to ensure optimized ROI, and efficiently resolve enterprise­wide system issues. CORE COMPETENCIES Strategic Planning & Execution ‖ Process Reengineering Initiatives ‖ Systems Design/Development‖ Quality Assurance Product Development ‖ Software Debugging Techniques ‖ Project Management ‖ Cross­Functional team Leadership Client Needs Fulfillment ‖ Software Development Life Cycle ‖ Software Automation ‖ Emerging Technologies Technical Summary: C, C++, JAVA, Assembler, Networking, TCP/IP, Drivers, Virtualization, SRIOV, Kernel, Device Drivers, ​ UNIX, Linux, FreeBSD, BSD, Solaris, SunOS, AIX,
    [Show full text]
  • Einführung in Z/OS Und OS/390
    Einführung in z/OS und OS/390 Dr. rer. nat. Paul Herrmannn Prof. Dr.-Ing. Wilhelm G. Spruth WS 2006/2007 Teil 3 z/OS Betriebssystem es 0101 ww6 wgs 09-99 System z und S/390 Betriebssysteme z/OS IBM große Installationen (OS/390, MVS) z/VSE IBM mittelgroße Installationen z/VM IBM Virtualisierung, Software Entwicklung TPF IBM spezialisierte Transaktionsverarbeitung UTS 4 Amdahl based on System V, Release 4 (SVR4) OSF/1 Hitachi Open System Foundation Unix z/Linux Public Domain Alle System z bzw. S/390 Betriebssysteme sind Server Betriebssysteme, optimiert für den Multi-User Betrieb es 0521z ww6 wgs 09-99 Transaction Processing Facility TPF 13. Oktober 2006. Die Firma Worldspan, ein weltweiter Anbieter von Reise-Reservierungs- systemen, hat sich für den Einsatz von sechs IBM System z9 Enterprise Class (EC) Mainframe-Servern entschieden. Worldspan will damit sein Angebot an elektronischen Datendiensten erweitern, um circa 700 Anbietern von Reiseangeboten und Millionen von Reisenden weltweit eine gemeinsame Plattform anbieten zu können. Worldspan setzt die neuen IBM System z9 EC Server ein, um sowohl Reisebüros als auch Anbietern von Online-basierten Reisediensten die Möglichkeit zur Nutzung des weltweiten Global Distribution System (GDS) zu geben, über das zum Beispiel die Bestellung und Buchung von Reiseprodukten von Flugzeugtickets, Hotels, Mietwagen und andere Reisedienstleistungen durchgeführt wird. Durch die Nutzung der Software „IBM Transaction Processing Facility“ (TPF) ist Worldspan in der Lage, 17.000 Kundenanfragen pro Sekunde auf
    [Show full text]
  • Joseph S. Mertz Jr. EDUCATION
    Jan 2020 Joseph S. Mertz Jr. H. John Heinz III College & Dietrich College of Humanities and Social Sciences Carnegie Mellon University Pittsburgh, PA 15213-3890 Phone: (412) 268-2540 Email: [email protected] EDUCATION: 1995 Carnegie Mellon University Ph.D. in Engineering and Public Policy 1983 University of Southern California M.S. in Computer Science 1982 Pennsylvania State University B.S. in Computer Science ACADEMIC APPOINTMENTS: Carnegie Mellon University 2018 – present: Director - Information Systems Program 2015 – present: Teaching Professor Joint 50/50 appointment: H. John Heinz III College Dietrich College of Humanities & Social Sciences Information Systems Program 2010 – 2015: Associate Teaching Professor Joint 50/50 appointment: H. John Heinz III College Dietrich College of Humanities & Social Sciences Information Systems Program 2005 – 2010: Associate Teaching Professor Joint 50/50 appointment: H. John Heinz III College School of Computer Science Spring 2009: Associate Teaching Professor Carnegie Mellon Qatar Computer Science Spring 2008: Associate Teaching Professor Carnegie Mellon Qatar Computer Science 2002 – 2005: Associate Teaching Professor Joint 50/50 appointment: Mertz-CV H. John Heinz III School of Public Policy & Management School of Computer Science 1996 – 2002: Co-Director Center for University Outreach 1994 – 1996: Post Doctoral Fellow Center for Innovation in Learning 1988 – 1995: Graduate Research Assistant Department of Engineering & Public Policy University of Puerto Rico 1986 – 1987: Visiting Professor Department of Electrical & Computer Engineering Illinois Benedictine College 1984: Adjunct Instructor Computer Science AWARDS: Mark Gelfand Service Award for Educational Outreach – 2012 Annual University honor for sustained, effective community service with academic coursework to enhance learning, and teach social responsibility. Nominated for the Martcia Wade Teaching Award – 2012 H.
    [Show full text]
  • How Attackers Break Programs, and How to Write Programs More Securely
    How Attackers Break Programs, and How To Write Programs More Securely Matt Bishop Department of Computer Science University of California at Davis Davis, CA 95616-8562 United States of America email: [email protected] www: http://seclab.cs.ucdavis.edu/~bishop phone: +1 (530) 752-8060 © 2002 by Matt Bishop This page deliberately left blank. That is, this page would have been blank except that we had to put the notice "this page deliberately left blank" on it. Otherwise, you might have seen the blank page and worried that someone left a page out of your booklets. So, we put a note on the blank page to assure you that no-one forgot to put something on this page; indeed, we intended for it to be blank. But we could not live up to our intentions, for the reason stated above, so we couldn't put a blank page in here. We had to put a page with some writing on it. So we couldn't put the notice "this page deliberately left blank" because it's not true and, if we couldn't tell when a page is blank, you'd doubt the veracity of everything we did. So we wrote this paragraph to ... oh, heck, forget it. Table of Contents sections slides Overview..................................... 1— 13 Attacking Programs ........................... 14—123 Overview .......................14 — 20 Users and Privilege ...............21 — 29 Environment ....................30 — 48 Buffer Overflow ..................49 — 70 Numeric Overflow ................71 — 76 Validation and Verification .........77 — 92 Race Conditions..................93—112 Denial of Service ............... 113—121 Environment .................. 122—123 Writing Better Programs ......................124—379 Overview ....................
    [Show full text]