MINIX4RT: a Real-Time Operating System Based on MINIX

Total Page:16

File Type:pdf, Size:1020Kb

MINIX4RT: a Real-Time Operating System Based on MINIX MINIX4RT: A Real-Time Operating System Based on MINIX Pablo Andrés Pessolani ABSTRACT Tanenbaum’s MINIX Operating System was extended with a Real-Time microkernel and services to conform MINIX4RT, a Real-Time Operating System for academic uses that includes more flexible Interprocess Communications facilities supporting basic priority inheritance protocol, a fixed priority scheduler, timer and event driven interrupt management, statistics and Real-Time metrics gathering keeping backward compatibility with standard MINIX versions. Keywords : Operating Systems, Minix, Interrupt Handling, Real-Time. Presented to the Universidad Nacional de La Plata of the Requirements for the Degree of Master on Computer Networks . February 2006 Thesis Director: Ph.D. Silvio Gonnet Thesis Co-Director: Eng. Armando De Giusti This thesis is dedicated to my lovely daughters Flor and Vicky, to the "love of my life" Ana, and to my "iron willpower" parents Merce and Pety. Acknowledgments I would like to express my sicere gratitude to Dr. Silvio Gonnet for his suggestions, dedication and vast patience as thesis director. I would like to thanks Nicolás Cesar and Felipe Ieder for their contributions with the system latency and timeliness tests and German Maglione for supplying the IBM Thinkpad 370 notebook used in the implementation and tests of MINIX4RT. I acknowledge help received from Telecom Argentina S.A. for sponsoring my UNLP Master career, the Department of Information Systems of UTN-FRSF for sponsoring the presentation of articles about MINIX4RT in the Argentine Symposium of Technology 2004/5 and the Postgraduate Office of UNLP for its attention and patience. This acknowledgment would be incomplete if I forgot to mention my whole family for their love, support, and encouragement throughout this course of study. PREFACE MINIX4RT is the result of fifteen years dedicated to study, to research and to teach about Operating Systems. It is a new open-source Real-Time Operating System intended as teaching tool, but it can be usable as a serious system on resource-limited computers. MINIX4RT is a Real-Time branch of the popular MINIX used in grade level Operating Systems courses. This work discuss the modifications that have been made to MINIX that give it the ability to support the stringent timing requirements of Real-Time applications, while still giving Non Real-Time ones access to the full range of MINIX services without any changes. MINIX4RT does not stops with this thesis. It is the authors intention to conform a team of developers around the world of people interesting in cooperate with the growth and enhancement of MINIX4RT. CONTENTS 1. INTRODUCTION...........................................................................................................12 1.1. CONTRIBUTIONS .............................................................................................................13 1.2. MOTIVATION ..................................................................................................................14 1.3. OTHER RTOS U SED IN EDUCATION ..............................................................................15 1.4. MINIX T IME SHARING FEATURES .................................................................................16 1.5. RT-MINIX F EATURES ...................................................................................................17 1.6. MINIX4RT F EATURES ..................................................................................................18 1.7. ORGANIZATION ..............................................................................................................22 1.8. TERMINOLOGY AND NOTATION .....................................................................................22 2. ARCHITECTURE AND INTERRUPT HANDLING.................................................24 2.1. MINIX S YSTEM ARCHITECTURE AND INTERRUPT PROCESSING ...................................24 2.2. MINIX4RT S YSTEM ARCHITECTURE ............................................................................26 2.3. INTERRUPT HANDLING ...................................................................................................28 2.3.1. Interrupt Handling Virtualization...........................................................................29 2.3.2. Hardware Interrupts Emulation .............................................................................30 2.3.3. User and Kernel Stacks ..........................................................................................31 2.3.4. Interrupt Handler Types .........................................................................................32 2.3.5. Interrupt Service Routines ......................................................................................33 2.3.6. Interrupt Descriptor Data Structure.......................................................................33 2.3.7. Interrupt Handler Dispatching...............................................................................35 2.3.8. Interrupt Handler's Priority ...................................................................................38 2.3.9. Real-Time Input/Output Tasks................................................................................40 2.3.10. Software Interrupts...............................................................................................40 2.3.11. Returning from System Calls and Interrupts Service Routines.............................41 2.3.12. Flushing Deferred Interrupts................................................................................42 2.3.13. Executing Interrupt Handlers...............................................................................44 2.3.14. Interrupt Descriptor Timestamp Field..................................................................46 2.3.15. Kernel Functions for Interrupt Handling and Synchronization ...........................46 2.3.16. Estimating Interrupt Handler Processing Time....................................................48 2.3.17. Nested Interrupts ..................................................................................................50 2.3.18. Real-Time Interrupt Processing ...........................................................................51 2.3.19. Standard MINIX Non Real-Time interrupts..........................................................52 2.3.20. Real-Time Timer-Driven Interrupts......................................................................52 2.3.21. Real-Time Event-Driven Interrupts ......................................................................54 2.4. PREVENTING INTERRUPT PRIORITY INVERSION .............................................................54 2.5. RT-PROCESS DISPATCH LATENCY .................................................................................55 3. RT-PROCESS MANAGEMENT AND SCHEDULING.............................................57 3.1. MINIX4RT E XECUTION MODES ...................................................................................58 3.2. REAL -TIME PROCESS CREATION ...................................................................................58 3.3. RT-PROCESS STATES AND TRANSITIONS .......................................................................60 3.4. PROCESS DESCRIPTOR REAL -TIME FIELDS ....................................................................62 3.5. THE RT-PROCESS SCHEDULER ......................................................................................64 3.6. PROCESS PRIORITY .........................................................................................................65 3.6.1. NRT-Process Priorities...........................................................................................66 3.6.2. RT-Process Priorities .............................................................................................66 3.7. RT-READY QUEUES MANAGEMENT ..............................................................................67 3.8. RT-PROCESS TERMINATION ...........................................................................................70 3.8.1. RT-process Termination Using the exit() System Call............................................70 3.8.2. RT-process Termination Using the signal() System Call........................................71 3.8.3. Releasing RT-process Resourses and Housecleaning ............................................71 4. TIME MANAGEMENT.................................................................................................72 4.1. TIMING MECHANISMS ....................................................................................................72 4.2. MINIX4RT T IMER INTERRUPTS ....................................................................................73 4.3. MINIX V IRTUAL TIMER INTERRUPTS ...........................................................................75 4.4. TIMER RESOLUTION .......................................................................................................76 4.5. 8253/4 P ROGRAMMABLE INTERVAL TIMER PROGRAMMING .........................................78 4.6. ESTIMATING THE TIMER INTERRUPT LATENCY .............................................................80 4.7. REAL -TIME AND NON REAL -TIME TIMER HANDLERS ...................................................81 4.8. VIRTUAL TIMERS ...........................................................................................................81 4.8.1. Virtual Timers Handling Functions........................................................................82
Recommended publications
  • Migration Specialties International, Inc. Freeaxp™
    Migration Specialties International, Inc. 217 West 2nd Street, Florence, CO 81226-1403 +1 719-784-9196 E-mail: [email protected] migrationSpecialties.com Continuity in Computing FreeAXP™ SPD V2.n – 11-FEB-2016 Digital Emulator Collection Software Product Description FreeAXP is a virtual AlphaServer 400 designed to be hosted on a Windows x86 and x64 systems. This highly portable product offers the following key features: • OpenVMS, Digital UNIX, and Tru64 UNIX support • Simple configuration • Commercial and hobbyist licensing • VM host support • Optional support contracts Best of all, the product is free! FreeAXP is designed to virtualize legacy Alpha hardware. The product is binary compatible with real Alpha hardware, allowing the resident operating system and software to be ported to FreeAXP without modification or the need for source code. For all intents and purposes, FreeAXP offers a simple way to upgrade existing Alpha systems to new hardware. FreeAXP supports 32 – 128MB of virtual memory, up to seven storage devices, including a physical CD/DVD-ROM, two 100Mb NICs, one virtual serial console, and one virtual serial port. FreeAXP provides an introduction to Migration Specialties legacy Alpha virtualization products. It is designed for hobbyist and non-critical system use. Clients requiring additional performance and capabilities should look at Migration Specialties Avanti commercial Alpha replacement solutions. FreeAXP is provided free of charge without warranty or official support. FreeAXP Home Page: http://migrationspecialties.com/FreeAXP.html Migration Specialties believes the information in this publication is accurate as of its publication date; such information is subject to change without notice. Migration Specialties is not responsible for any inadvertent errors.
    [Show full text]
  • Blackberry QNX Multimedia Suite
    PRODUCT BRIEF QNX Multimedia Suite The QNX Multimedia Suite is a comprehensive collection of media technology that has evolved over the years to keep pace with the latest media requirements of current-day embedded systems. Proven in tens of millions of automotive infotainment head units, the suite enables media-rich, high-quality playback, encoding and streaming of audio and video content. The multimedia suite comprises a modular, highly-scalable architecture that enables building high value, customized solutions that range from simple media players to networked systems in the car. The suite is optimized to leverage system-on-chip (SoC) video acceleration, in addition to supporting OpenMAX AL, an industry open standard API for application-level access to a device’s audio, video and imaging capabilities. Overview Consumer’s demand for multimedia has fueled an anywhere- o QNX SDK for Smartphone Connectivity (with support for Apple anytime paradigm, making multimedia ubiquitous in embedded CarPlay and Android Auto) systems. More and more embedded applications have require- o Qt distributions for QNX SDP 7 ments for audio, video and communication processing capabilities. For example, an infotainment system’s media player enables o QNX CAR Platform for Infotainment playback of content, stored either on-board or accessed from an • Support for a variety of external media stores external drive, mobile device or streamed over IP via a browser. Increasingly, these systems also have streaming requirements for Features at a Glance distributing content across a network, for instance from a head Multimedia Playback unit to the digital instrument cluster or rear seat entertainment units. Multimedia is also becoming pervasive in other markets, • Software-based audio CODECs such as medical, industrial, and whitegoods where user interfaces • Hardware accelerated video CODECs are increasingly providing users with a rich media experience.
    [Show full text]
  • Blackberry Playbook OS 2.0 Performs. Best in Class Communications
    BlackBerry PlayBook OS 2.0 Performs. Best in class communications. Powerful productivity. Performance powerhouse. What’s new and exciting about PlayBook™ OS 2.0 A proven performance powerhouse PlayBook OS 2.0 builds on proven performance through powerful hardware and intuitive, easy to use gestures. BlackBerry® PlayBook™ packs a blazing fast dual core processor, two HD 1080p video cameras, and 1 GB of RAM for a high performance experience that is up to the task – whatever it may be. The best of BlackBerry® comes built-in The BlackBerry PlayBook now gives you the BlackBerry communications experience you love, built for a tablet. PlayBook OS 2.0 introduces built-in email that lets you create, edit and format messages, and built-in contacts app and social calendar that connect to your social networks to give you a complete profile ™ of your contacts, including recent status updates. So, seize the BlackBerry App World moment and share it with the power of BlackBerry. The BlackBerry PlayBook has all your favorite apps and thousands more. Games like Angry Birds and Cut The Rope, BlackBerry® Bridge™ Technology social networking sites like Facebook, and even your favorite books from Kobo - the apps you want are here for you to New BlackBerry® Bridge™ features let your BlackBerry® smartphone discover in the BlackBerry AppWorld™ storefront. act as a keyboard and mouse for your BlackBerry PlayBook, giving you wireless remote control of your tablet. Perfect for pausing a movie when your BlackBerry PlayBook is connected to your TV with An outstanding web experience an HDMI connection. Plus, if you’re editing a document or browsing BlackBerry PlayBook puts the power of the real Internet at your a webpage on your BlackBerry smartphone and want to see it on a fingertips with a blazing fast Webkit engine supporting HTML5 larger display, BlackBerry Bridge lets you switch screens to view on and Adobe® Flash® 11.1.
    [Show full text]
  • QNX Neutrino® Realtime Operating System
    PRODUCT BRIEF QNX Neutrino® Realtime Operating System QNX Neutrino® is a full-featured and robust operating system designed to enable the next-generation of products for automotive, medical and industrial embedded systems. Microkernel design and modular architecture enable customers to create highly optimized and reliable systems with low total cost of ownership. With QNX Neutrino®, embedded systems designers can create compelling, safe and secure devices built on a highly reliable operating system software foundation that helps guard against system malfunctions, malware and cyber security breaches. For over 35 years, thousands of companies have deployed and The QNX Neutrino microkernel memory-protected architecture trusted QNX realtime technology to ensure the best combination provides a foundation to build safety-critical systems. QNX of performance, security and reliability in the world’s most Neutrino® is 100% API compatible with QNX pre-certified mission-critical systems. software products that address compliance with safety certifica- tions in automotive (ISO 26262), industrial safety (IEC 61508) and Built-in mission critical reliability medical devices (IEC 62304). Time-tested and field-proven, the QNX Neutrino® is built on a true microkernel architecture. Under this system, every driver, Maximize software investments application, protocol stack, and filesystem runs outside the kernel QNX Neutrino® provides a common software platform that can be in the safety of memory-protected user space. Virtually any deployed for safety certified and non-certified projects across a component can fail and be automatically restarted without broad range of hardware platforms. Organizations can reduce aecting other components or the kernel. No other commercial duplication, costs and risks associated with the deployment of RTOS provides such a high level of fault containment and recovery.
    [Show full text]
  • Microkernels in a Bit More Depth • Early Operating Systems Had Very Little Structure • a Strictly Layered Approach Was Promoted by Dijkstra
    Motivation Microkernels In a Bit More Depth Early operating systems had very little structure A strictly layered approach was promoted by Dijkstra THE Operating System [Dij68] COMP9242 2007/S2 Week 4 Later OS (more or less) followed that approach (e.g., Unix). UNSW Such systems are known as monolithic kernels COMP9242 07S2 W04 1 Microkernels COMP9242 07S2 W04 2 Microkernels Issues of Monolithic Kernels Evolution of the Linux Kernel E Advantages: Kernel has access to everything: all optimisations possible all techniques/mechanisms/concepts implementable Kernel can be extended by adding more code, e.g. for: new services support for new harwdare Problems: Widening range of services and applications OS bigger, more complex, slower, more error prone. Need to support same OS on different hardware. Like to support various OS environments. Distribution impossible to provide all services from same (local) kernel. COMP9242 07S2 W04 3 Microkernels COMP9242 07S2 W04 4 Microkernels Approaches to Tackling Complexity Evolution of the Linux Kernel Part 2 A Classical software-engineering approach: modularity Software-engineering study of Linux kernel [SJW+02]: (relatively) small, mostly self-contained components well-defined interfaces between them Looked at size and interdependencies of kernel "modules" enforcement of interfaces "common coupling": interdependency via global variables containment of faults to few modules Analysed development over time (linearised version number) Doesn't work with monolithic kernels: Result 1:
    [Show full text]
  • Building Performance Measurement Tools for the MINIX 3 Operating System
    Building Performance Measurement Tools for the MINIX 3 Operating System Rogier Meurs August 2006 Contents 1 INTRODUCTION 1 1.1 Measuring Performance 1 1.2 MINIX 3 2 2 STATISTICAL PROFILING 3 2.1 Introduction 3 2.2 In Search of a Timer 3 2.2.1 i8259 Timers 3 2.2.2 CMOS Real-Time Clock 3 2.3 High-level Description 4 2.4 Work Done in User-Space 5 2.4.1 The SPROFILE System Call 5 2.5 Work Done in Kernel-Space 5 2.5.1 The SPROF Kernel Call 5 2.5.2 Profiling using the CMOS Timer Interrupt 6 2.6 Work Done at the Application Level 7 2.6.1 Control Tool: profile 7 2.6.2 Analyzing Tool: sprofalyze.pl 7 2.7 What Can and What Cannot be Profiled 8 2.8 Profiling Results 8 2.8.1 High Scoring IPC Functions 8 2.8.2 Interrupt Delay 9 2.8.3 Profiling Runs on Simulator and Other CPU Models 12 2.9 Side-effect of Using the CMOS Clock 12 3 CALL PROFILING 13 3.1 Introduction 13 3.1.1 Compiler-supported Call Profiling 13 3.1.2 Call Paths, Call and Cycle Attribution 13 3.2 High-level Description 14 3.3 Work Done in User-Space 15 3.3.1 The CPROFILE System Call 15 3.4 Work Done in Kernel-Space 16 3.4.1 The PROFBUF and CPROF Kernel Calls 16 3.5 Work Done in Libraries 17 3.5.1 Profiling Using Library Functions 17 3.5.2 The Procentry Library Function 17 3.5.3 The Procexit Library Function 20 3.5.4 The Call Path String 22 3.5.5 Testing Overhead Elimination 23 3.6 Profiling Kernel-Space/User-Space Processes 24 3.6.1 Differences in Announcing and Table Sizes 24 3.6.2 Kernel-Space Issue: Reentrancy 26 3.6.3 Kernel-Space Issue: The Call Path 26 3.7 Work Done at the Application
    [Show full text]
  • Automotive Foundational Software Solutions for the Modern Vehicle Overview
    www.qnx.com AUTOMOTIVE FOUNDATIONAL SOFTWARE SOLUTIONS FOR THE MODERN VEHICLE OVERVIEW Dear colleagues in the automotive industry, We are in the midst of a pivotal moment in the evolution of the car. Connected and autonomous cars will have a place in history alongside the birth of industrialized production of automobiles, hybrid and electric vehicles, and the globalization of the market. The industry has stretched the boundaries of technology to create ideas and innovations previously only imaginable in sci-fi movies. However, building such cars is not without its challenges. AUTOMOTIVE SOFTWARE IS COMPLEX A modern vehicle has over 100 million lines of code and autonomous vehicles will contain the most complex software ever deployed by automakers. In addition to the size of software, the software supply chain made up of multiple tiers of software suppliers is unlikely to have common established coding and security standards. This adds a layer of uncertainty in the development of a vehicle. With increased reliance on software to control critical driving functions, software needs to adhere to two primary tenets, Safety and Security. SAFETY Modern vehicles require safety certification to ISO 26262 for systems such as ADAS and digital instrument clusters. Some of these critical systems require software that is pre-certified up to ISO 26262 ASIL D, the highest safety integrity level. SECURITY BlackBerry believes that there can be no safety without security. Hackers accessing a car through a non-critical ECU system can tamper or take over a safety-critical system, such as the steering, brakes or engine systems. As the software in a car grows so does the attack surface, which makes it more vulnerable to cyberattacks.
    [Show full text]
  • Oracle Application Server Installation Guide for Hp Tru64 UNIX
    Oracle® Application Server Installation Guide 10g Release 2 (10.1.2) for hp Tru64 UNIX B25859-01 February 2007 Oracle Application Server Installation Guide 10g Release 2 (10.1.2) for hp Tru64 UNIX B25859-01 Copyright © 2007, Oracle. All rights reserved. Primary Author: Megan Ginter, Divya Shankar Contributors: Maria Cheng, Rupesh Das, Kriti Dutta, Ranjan Dutta, Xinyang Gao, Hiroaki Hiratsuka, Sunil Jain, Yongqing Jiang, Prashanth Joshi, Michael Moon, Sambit Nanda, Edsel delos Reyes, Janelle Simmons, Abhay Singh, Shashidhara Varamballi The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited. The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose. If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S.
    [Show full text]
  • Extensible Distributed Operating System for Reliable Control Systems
    194 Extensible Distributed Operating System for Reliable Control Systems Katsumi Maruyama, Kazuya Kodama, Soichiro Hidaka, Hiromichi Hashizume National Institute of Informatics, 2-1-2 Hitotsubashi, Chiyoda-ku, Tokyo, Japan Email:{maruyama,kazuya,hidaka,has}@nii.ac.jp Abstract small monitor-like OSs are used. However, these monitor- like OSs lack program protection mechanisms, and program Since most control systems software is hardware-related, development is difficult. real-time-oriented and complex, adaptable OSs which help Therefore, an extensible/adaptable OS for control sys- program productivity and maintainability improvement are tems is required . We are developing a new OS character- in strong demand. ized by: We are developing an adaptable and extensible OS based on micro-kernel and multi-server scheme: each server runs • Use of an efficient and flexible micro-kernel (L4-ka). • Multi-server based modular OS. (Each OS service is in a protected mode interacting only via messages, and implemented as individual user-level process.) could be added/extended/deleted easily. Since this OS is • Robustness. Only the micro-kernel runs in kernel highly modularized, inter-process messaging overhead is a mode and in kernel space. Other modules run in a pro- concern. Our implementation proved good efficiency and tected user space and mode. maintainability. • Hardware driver programs in user-level process. • Flexible distributed processing by global message passing. 1. Introduction This OS structure proved to enhance OS modularity and ease of programming. However, inter-process messaging Most systems, from large scale public telephone switch- overhead should be considered . We measured the overhead, ing systems to home electronics, are controlled by software, and the overhead was proved to be small enough.
    [Show full text]
  • Research Purpose Operating Systems – a Wide Survey
    GESJ: Computer Science and Telecommunications 2010|No.3(26) ISSN 1512-1232 RESEARCH PURPOSE OPERATING SYSTEMS – A WIDE SURVEY Pinaki Chakraborty School of Computer and Systems Sciences, Jawaharlal Nehru University, New Delhi – 110067, India. E-mail: [email protected] Abstract Operating systems constitute a class of vital software. A plethora of operating systems, of different types and developed by different manufacturers over the years, are available now. This paper concentrates on research purpose operating systems because many of them have high technological significance and they have been vividly documented in the research literature. Thirty-four academic and research purpose operating systems have been briefly reviewed in this paper. It was observed that the microkernel based architecture is being used widely to design research purpose operating systems. It was also noticed that object oriented operating systems are emerging as a promising option. Hence, the paper concludes by suggesting a study of the scope of microkernel based object oriented operating systems. Keywords: Operating system, research purpose operating system, object oriented operating system, microkernel 1. Introduction An operating system is a software that manages all the resources of a computer, both hardware and software, and provides an environment in which a user can execute programs in a convenient and efficient manner [1]. However, the principles and concepts used in the operating systems were not standardized in a day. In fact, operating systems have been evolving through the years [2]. There were no operating systems in the early computers. In those systems, every program required full hardware specification to execute correctly and perform each trivial task, and its own drivers for peripheral devices like card readers and line printers.
    [Show full text]
  • Filesystems HOWTO Filesystems HOWTO Table of Contents Filesystems HOWTO
    Filesystems HOWTO Filesystems HOWTO Table of Contents Filesystems HOWTO..........................................................................................................................................1 Martin Hinner < [email protected]>, http://martin.hinner.info............................................................1 1. Introduction..........................................................................................................................................1 2. Volumes...............................................................................................................................................1 3. DOS FAT 12/16/32, VFAT.................................................................................................................2 4. High Performance FileSystem (HPFS)................................................................................................2 5. New Technology FileSystem (NTFS).................................................................................................2 6. Extended filesystems (Ext, Ext2, Ext3)...............................................................................................2 7. Macintosh Hierarchical Filesystem − HFS..........................................................................................3 8. ISO 9660 − CD−ROM filesystem.......................................................................................................3 9. Other filesystems.................................................................................................................................3
    [Show full text]
  • Introduction to Bioinformatics Introduction to Bioinformatics
    Introduction to Bioinformatics Introduction to Bioinformatics Prof. Dr. Nizamettin AYDIN [email protected] Introduction to Perl http://www3.yildiz.edu.tr/~naydin 1 2 Learning objectives Setting The Technological Scene • After this lecture you should be able to • One of the objectives of this course is.. – to enable students to acquire an understanding of, and understand : ability in, a programming language (Perl, Python) as the – sequence, iteration and selection; main enabler in the development of computer programs in the area of Bioinformatics. – basic building blocks of programming; – three C’s: constants, comments and conditions; • Modern computers are organised around two main – use of variable containers; components: – use of some Perl operators and its pattern-matching technology; – Hardware – Perl input/output – Software – … 3 4 Introduction to the Computing Introduction to the Computing • Computer: electronic genius? • In theory, computer can compute anything – NO! Electronic idiot! • that’s possible to compute – Does exactly what we tell it to, nothing more. – given enough memory and time • All computers, given enough time and memory, • In practice, solving problems involves are capable of computing exactly the same things. computing under constraints. Supercomputer – time Workstation • weather forecast, next frame of animation, ... PDA – cost • cell phone, automotive engine controller, ... = = – power • cell phone, handheld video game, ... 5 6 Copyright 2000 N. AYDIN. All rights reserved. 1 Layers of Technology Layers of Technology • Operating system... – Interacts directly with the hardware – Responsible for ensuring efficient use of hardware resources • Tools... – Softwares that take adavantage of what the operating system has to offer. – Programming languages, databases, editors, interface builders... • Applications... – Most useful category of software – Web browsers, email clients, web servers, word processors, etc..
    [Show full text]