The Siren Song of Multitasking
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Hang Analysis: Fighting Responsiveness Bugs
Hang Analysis: Fighting Responsiveness Bugs Xi Wang† Zhenyu Guo‡ Xuezheng Liu‡ Zhilei Xu† Haoxiang Lin‡ Xiaoge Wang† Zheng Zhang‡ †Tsinghua University ‡Microsoft Research Asia Abstract return to life. However, during the long wait, the user can neither Soft hang is an action that was expected to respond instantly but in- cancel the operation nor close the application. The user may have stead drives an application into a coma. While the application usu- to kill the application or even reboot the computer. ally responds eventually, users cannot issue other requests while The problem of “not responding” is widespread. In our expe- waiting. Such hang problems are widespread in productivity tools rience, hang has occurred in everyday productivity tools, such as such as desktop applications; similar issues arise in server programs office suites, web browsers and source control clients. The actions as well. Hang problems arise because the software contains block- that trigger the hang issues are often the ones that users expect to re- ing or time-consuming operations in graphical user interface (GUI) turn instantly, such as opening a file or connecting to a printer. As and other time-critical call paths that should not. shown in Figure 1(a), TortoiseSVN repository browser becomes unresponsive when a user clicks to expand a directory node of a This paper proposes HANGWIZ to find hang bugs in source code, which are difficult to eliminate before release by testing, remote source repository. The causes of “not responding” bugs may be complicated. An as they often depend on a user’s environment. HANGWIZ finds hang bugs by finding hang points: an invocation that is expected erroneous program that becomes unresponsive may contain dead- to complete quickly, such as a GUI action, but calls a blocking locks (Engler and Ashcraft 2003; Williams et al. -
What Is an Operating System III 2.1 Compnents II an Operating System
Page 1 of 6 What is an Operating System III 2.1 Compnents II An operating system (OS) is software that manages computer hardware and software resources and provides common services for computer programs. The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function. Memory management Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs. This ensures that a program does not interfere with memory already in use by another program. Since programs time share, each program must have independent access to memory. Cooperative memory management, used by many early operating systems, assumes that all programs make voluntary use of the kernel's memory manager, and do not exceed their allocated memory. This system of memory management is almost never seen any more, since programs often contain bugs which can cause them to exceed their allocated memory. If a program fails, it may cause memory used by one or more other programs to be affected or overwritten. Malicious programs or viruses may purposefully alter another program's memory, or may affect the operation of the operating system itself. With cooperative memory management, it takes only one misbehaved program to crash the system. Memory protection enables the kernel to limit a process' access to the computer's memory. Various methods of memory protection exist, including memory segmentation and paging. All methods require some level of hardware support (such as the 80286 MMU), which doesn't exist in all computers. -
Mac OS X: an Introduction for Support Providers
Mac OS X: An Introduction for Support Providers Course Information Purpose of Course Mac OS X is the next-generation Macintosh operating system, utilizing a highly robust UNIX core with a brand new simplified user experience. It is the first successful attempt to provide a fully-functional graphical user experience in such an implementation without requiring the user to know or understand UNIX. This course is designed to provide a theoretical foundation for support providers seeking to provide user support for Mac OS X. It assumes the student has performed this role for Mac OS 9, and seeks to ground the student in Mac OS X using Mac OS 9 terms and concepts. Author: Robert Dorsett, manager, AppleCare Product Training & Readiness. Module Length: 2 hours Audience: Phone support, Apple Solutions Experts, Service Providers. Prerequisites: Experience supporting Mac OS 9 Course map: Operating Systems 101 Mac OS 9 and Cooperative Multitasking Mac OS X: Pre-emptive Multitasking and Protected Memory. Mac OS X: Symmetric Multiprocessing Components of Mac OS X The Layered Approach Darwin Core Services Graphics Services Application Environments Aqua Useful Mac OS X Jargon Bundles Frameworks Umbrella Frameworks Mac OS X Installation Initialization Options Installation Options Version 1.0 Copyright © 2001 by Apple Computer, Inc. All Rights Reserved. 1 Startup Keys Mac OS X Setup Assistant Mac OS 9 and Classic Standard Directory Names Quick Answers: Where do my __________ go? More Directory Names A Word on Paths Security UNIX and security Multiple user implementation Root Old Stuff in New Terms INITs in Mac OS X Fonts FKEYs Printing from Mac OS X Disk First Aid and Drive Setup Startup Items Mac OS 9 Control Panels and Functionality mapped to Mac OS X New Stuff to Check Out Review Questions Review Answers Further Reading Change history: 3/19/01: Removed comment about UFS volumes not being selectable by Startup Disk. -
Multiprocessing Contents
Multiprocessing Contents 1 Multiprocessing 1 1.1 Pre-history .............................................. 1 1.2 Key topics ............................................... 1 1.2.1 Processor symmetry ...................................... 1 1.2.2 Instruction and data streams ................................. 1 1.2.3 Processor coupling ...................................... 2 1.2.4 Multiprocessor Communication Architecture ......................... 2 1.3 Flynn’s taxonomy ........................................... 2 1.3.1 SISD multiprocessing ..................................... 2 1.3.2 SIMD multiprocessing .................................... 2 1.3.3 MISD multiprocessing .................................... 3 1.3.4 MIMD multiprocessing .................................... 3 1.4 See also ................................................ 3 1.5 References ............................................... 3 2 Computer multitasking 5 2.1 Multiprogramming .......................................... 5 2.2 Cooperative multitasking ....................................... 6 2.3 Preemptive multitasking ....................................... 6 2.4 Real time ............................................... 7 2.5 Multithreading ............................................ 7 2.6 Memory protection .......................................... 7 2.7 Memory swapping .......................................... 7 2.8 Programming ............................................. 7 2.9 See also ................................................ 8 2.10 References ............................................. -
Recovering from Operating System Crashes
Recovering from Operating System Crashes Francis David Daniel Chen Department of Computer Science Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign University of Illinois at Urbana-Champaign Urbana, USA Urbana, USA Email: [email protected] Email: [email protected] Abstract— When an operating system crashes and hangs, it timers and processor support techniques [12] are required to leaves the machine in an unusable state. All currently running detect such crashes. program state and data is lost. The usual solution is to reboot the It is accepted behavior that when an operating system machine and restart user programs. However, it is possible that after a crash, user program state and most operating system state crashes, all currently running user programs and data in is still in memory and hopefully, not corrupted. In this project, volatile memory is lost and unrecoverable because the proces- we use a watchdog timer to reset the processor on an operating sor halts and the system needs to be rebooted. This is inspite system crash. We have modified the Linux kernel and added of the fact that all of this information is available in volatile a recovery routine that is called instead of the normal boot up memory as long as there is no power failure. This paper function when the processor is reset by a watchdog. This resumes execution of user processes after killing the process that was explores the possibility of recovering the operating system executing when the watchdog fired. We have implemented this using the contents of memory in order to resume execution on the ARM architecture and we use a periodic watchdog kick of user programs without any data loss. -
A Lecture Note on Csc 322 Operating System I by Dr
A LECTURE NOTE ON CSC 322 OPERATING SYSTEM I BY DR. S. A. SODIYA 1 SECTION ONE 1.0 INTRODUCTION TO OPERATING SYSTEMS 1.1 DEFINITIONS OF OPERATING SYSTEMS An operating system (commonly abbreviated OS and O/S) is the infrastructure software component of a computer system; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer. An operating system is the set of programs that controls a computer. The operating system acts as a host for applications that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware. This relieves application programs from having to manage these details and makes it easier to write applications. Operating Systems can be viewed from two points of views: Resource manager and Extended machines. From Resource manager point of view, Operating Systems manage the different parts of the system efficiently and from extended machines point of view, Operating Systems provide a virtual machine to users that is more convenient to use. 1.2 HISTORICAL DEVELOPMENT OF OPERATING SYSTEMS Historically operating systems have been tightly related to the computer architecture, it is good idea to study the history of operating systems from the architecture of the computers on which they run. Operating systems have evolved through a number of distinct phases or generations which corresponds roughly to the decades. The 1940's - First Generation The earliest electronic digital computers had no operating systems. Machines of the time were so primitive that programs were often entered one bit at a time on rows of mechanical switches (plug boards). -
How to Use Microsoft Adplus to Capture Hang and Crash Logs for EFT Server
How to use Microsoft ADPlus to capture hang and crash logs for EFT Server THE INFORMATION IN THIS ARTICLE APPLIES TO: • EFT v6 and later DISCUSSION In order for support to properly determine root cause of a crash or hang of EFT Server, the client must be able to provide a crash dump or a hang dump. This article describes the following procedures: 1. How to use Microsoft ADPlus to capture hang and crash logs. 2. Collect a hang/crash dump. 3. Create and submit a case to support. IMPORTANT: Use of ADPlus to monitor crashes requires an active login on the system. Logging off will kill the ADPlus application. This can run while the server is locked, but user must NOT log off while using this. You will also need to disable any automatic restarting of the EFT service to ensure that the dump files can be collected properly. Confirm if you are experiencing a Hang or a Crash • A Hang is when the process (cftpstes.exe) is still running in task Manager but EFT does not respond to FTP/SSH/HTTP connections. It may also not respond to Administrator requests through COM or through the Administrator Interface. • A Crash is when the process (cftpstes.exe) is no longer running in Task Manager. Download ADPlus Download the 32-bit version of ADPlus from the URL below to capture the Crash or Hang dump. https://support.microsoft.com/en-us/help/286350/how-to-use-adplus-vbs-to-troubleshoot-hangs-and-crashes **Although there is a 64-bit version of ADPLUS, you MUST use the 32-bit version regardless of OS, as EFT is a 32-bit process** How to use Microsoft ADPlus to capture hang and crash logs for EFT Server Install ADPLUS Install ADPLUS, choosing the "custom" option, in the following folder: C:\dbtools Once ADP is installed, create the following folder: C:\ADPlusOutput For an Application Hang If you are investigating a hang, then the adplus.bat file should only be run when the system is hanging. -
Parastack: Efficient Hang Detection for MPI Programs at Large Scale
ParaStack: Eicient Hang Detection for MPI Programs at Large Scale Hongbo Li, Zizhong Chen, Rajiv Gupta University of California, Riverside CSE Department, 900 University Ave Riverside, CA 92521 fhli035,chen,[email protected] ABSTRACT It is widely accepted that some errors manifest more frequently While program hangs on large parallel systems can be detected via at large scale both in terms of the number of parallel processes and the widely used timeout mechanism, it is dicult for the users to problem size as testing is usually performed at small scale to manage set the timeout – too small a timeout leads to high false alarm rates cost and some errors are scale and input dependent [12, 29, 36, 39, and too large a timeout wastes a vast amount of valuable computing 40]. Due to communication, an error triggered in one process (faulty resources. To address the above problems with hang detection, this process) gradually spreads to others, nally leading to a global hang. paper presents ParaStack, an extremely lightweight tool to detect Although a hang may be caused by a single faulty process, this hangs in a timely manner with high accuracy, negligible overhead process is hard to locate as it is not easily distinguishable from with great scalability, and without requiring the user to select a other processes whose execution has stalled. us, the problem of timeout value. For a detected hang, it provides direction for fur- hang diagnosing, i.e. locating faulty processes, has received much ther analysis by telling users whether the hang is the result of an aention [11, 27, 28, 31]. -
Computer History a Look Back Contents
Computer History A look back Contents 1 Computer 1 1.1 Etymology ................................................. 1 1.2 History ................................................... 1 1.2.1 Pre-twentieth century ....................................... 1 1.2.2 First general-purpose computing device ............................. 3 1.2.3 Later analog computers ...................................... 3 1.2.4 Digital computer development .................................. 4 1.2.5 Mobile computers become dominant ............................... 7 1.3 Programs ................................................. 7 1.3.1 Stored program architecture ................................... 8 1.3.2 Machine code ........................................... 8 1.3.3 Programming language ...................................... 9 1.3.4 Fourth Generation Languages ................................... 9 1.3.5 Program design .......................................... 9 1.3.6 Bugs ................................................ 9 1.4 Components ................................................ 10 1.4.1 Control unit ............................................ 10 1.4.2 Central processing unit (CPU) .................................. 11 1.4.3 Arithmetic logic unit (ALU) ................................... 11 1.4.4 Memory .............................................. 11 1.4.5 Input/output (I/O) ......................................... 12 1.4.6 Multitasking ............................................ 12 1.4.7 Multiprocessing ......................................... -
COMPUTER ORGANIZATION Subject Code: 10CS46
COMPUTER ORGANIZATION 10CS46 COMPUTER ORGANIZATION Subject Code: 10CS46 PART – A UNIT-1 6 Hours Basic Structure of Computers: Computer Types, Functional Units, Basic Operational Concepts, Bus Structures, Performance – Processor Clock, Basic Performance Equation, Clock Rate, Performance Measurement, Historical Perspective Machine Instructions and Programs: Numbers, Arithmetic Operations and Characters, Memory Location and Addresses, Memory Operations, Instructions and Instruction Sequencing, UNIT - 2 7 Hours Machine Instructions and Programs contd.: Addressing Modes, Assembly Language, Basic Input and Output Operations, Stacks and Queues, Subroutines, Additional Instructions, Encoding of Machine Instructions UNIT - 3 6 Hours Input/Output Organization: Accessing I/O Devices, Interrupts – Interrupt Hardware, Enabling and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Direct Memory Access, Buses UNIT-4 7 Hours Input/Output Organization contd.: Interface Circuits, Standard I/O Interfaces – PCI Bus, SCSI Bus, USB www.vtucs.com Dept of CSE,SJBIT Page 1 COMPUTER ORGANIZATION 10CS46 PART – B UNIT - 5 7 Hours Memory System: Basic Concepts, Semiconductor RAM Memories, Read Only Memories, Speed, Size, and Cost, Cache Memories – Mapping Functions, Replacement Algorithms, Performance Considerations, Virtual Memories, Secondary Storage UNIT - 6 7 Hours Arithmetic: Addition and Subtraction of Signed Numbers, Design of Fast Adders, Multiplication of Positive Numbers, Signed Operand Multiplication, Fast Multiplication, Integer Division, Floating-point Numbers and Operations UNIT - 7 6 Hours Basic Processing Unit: Some Fundamental Concepts, Execution of a Complete Instruction, Multiple Bus Organization, Hard-wired Control, Microprogrammed Control UNIT - 8 6 Hours Multicores, Multiprocessors, and Clusters: Performance, The Power Wall, The Switch from Uniprocessors to Multiprocessors, Amdahl’s Law, Shared Memory Multiprocessors, Clusters and other Message Passing Multiprocessors, Hardware Multithreading, SISD, IMD, SIMD, SPMD, and Vector. -
Redalyc.Optimization of Operating Systems Towards Green Computing
International Journal of Combinatorial Optimization Problems and Informatics E-ISSN: 2007-1558 [email protected] International Journal of Combinatorial Optimization Problems and Informatics México Appasami, G; Suresh Joseph, K Optimization of Operating Systems towards Green Computing International Journal of Combinatorial Optimization Problems and Informatics, vol. 2, núm. 3, septiembre-diciembre, 2011, pp. 39-51 International Journal of Combinatorial Optimization Problems and Informatics Morelos, México Available in: http://www.redalyc.org/articulo.oa?id=265219635005 How to cite Complete issue Scientific Information System More information about this article Network of Scientific Journals from Latin America, the Caribbean, Spain and Portugal Journal's homepage in redalyc.org Non-profit academic project, developed under the open access initiative © International Journal of Combinatorial Optimization Problems and Informatics, Vol. 2, No. 3, Sep-Dec 2011, pp. 39-51, ISSN: 2007-1558. Optimization of Operating Systems towards Green Computing Appasami.G Assistant Professor, Department of CSE, Dr. Pauls Engineering College, Affiliated to Anna University – Chennai, Villupuram, Tamilnadu, India E-mail: [email protected] Suresh Joseph.K Assistant Professor, Department of computer science, Pondicherry University, Pondicherry, India E-mail: [email protected] Abstract. Green Computing is one of the emerging computing technology in the field of computer science engineering and technology to provide Green Information Technology (Green IT / GC). It is mainly used to protect environment, optimize energy consumption and keeps green environment. Green computing also refers to environmentally sustainable computing. In recent years, companies in the computer industry have come to realize that going green is in their best interest, both in terms of public relations and reduced costs. -
Concurrency in .NET: Modern Patterns of Concurrent and Parallel
Modern patterns of concurrent and parallel programming Riccardo Terrell Sample Chapter MANNING www.itbook.store/books/9781617292996 Chapter dependency graph Chapter 1 Chapter 2 • Why concurrency and definitions? • Solving problems by composing simple solutions • Pitfalls of concurrent programming • Simplifying programming with closures Chapter 3 Chapter 6 • Immutable data structures • Functional reactive programming • Lock-free concurrent code • Querying real-time event streams Chapter 4 Chapter 7 • Big data parallelism • Composing parallel operations • The Fork/Join pattern • Querying real-time event streams Chapter 5 Chapter 8 • Isolating and controlling side effects • Parallel asynchronous computations • Composing asynchronous executions Chapter 9 • Cooperating asynchronous computations • Extending asynchronous F# computational expressions Chapter 11 Chapter 10 • Agent (message-passing) model • Task combinators • Async combinators and conditional operators Chapter 13 Chapter 12 • Reducing memory consumption • Composing asynchronous TPL Dataflow blocks • Parallelizing dependent tasks • Concurrent Producer/Consumer pattern Chapter 14 • Scalable applications using CQRS pattern www.itbook.store/books/9781617292996 Concurrency in .NET Modern patterns of concurrent and parallel programming by Riccardo Terrell Chapter 1 Copyright 2018 Manning Publications www.itbook.store/books/9781617292996 brief contents Part 1 Benefits of functional programming applicable to concurrent programs ............................................ 1 1 ■ Functional