QNX Neutrino RTOS Getting Started with QNX Neutrino: a Guide for Realtime Programmers

Total Page:16

File Type:pdf, Size:1020Kb

QNX Neutrino RTOS Getting Started with QNX Neutrino: a Guide for Realtime Programmers QNX Neutrino RTOS Getting Started with QNX Neutrino: A Guide for Realtime Programmers By Rob Krten; updated by QNX Software Systems © 2008, QNX Software Systems GmbH & Co. KG. © 1999–2008, QNX Software Systems GmbH & Co. KG. All rights reserved. Published under license by: QNX Software Systems International Corporation 175 Terence Matthews Crescent Kanata, Ontario K2M 1W8 Canada Voice: +1 613 591-0931 Fax: +1 613 591-3579 Email: [email protected] Web: http://www.qnx.com/ Electronic edition published 2008. QNX, Neutrino, Photon, Photon microGUI, Momentics, and Aviage are trademarks, registered in certain jurisdictions, of QNX Software Systems GmbH & Co. KG. and are used under license by QNX Software Systems International Corporation. All other trademarks belong to their respective owners. Contents About This Guide xi What you’ll find in this guide xiii Typographical conventions xiii Note to Windows users xiv Technical support xv Foreword to the First Edition by Peter van der Veen 1 Preface to the First Edition by Rob Krten 5 A little history 8 Who this book is for 8 What’s in this book? 8 Processes and Threads 9 Message Passing 9 Clocks, Timers, and Getting a Kick Every So Often 9 Interrupts 9 Resource Managers 9 QNX 4 to QNX Neutrino 9 Calling 911 10 Glossary 10 Index 10 Other references 10 About Rob Krten 10 Acknowledgments 10 1 Processes and Threads 13 Process and thread fundamentals 15 A process as a house 15 The occupants as threads 15 Back to processes and threads 15 Mutual exclusion 16 Priorities 17 Semaphores 17 A semaphore as a mutex 18 The kernel’s role 19 October 20, 2008 Contents iii © 2008, QNX Software Systems GmbH & Co. KG. Single CPU 19 Multiple CPU (SMP) 19 The kernel as arbiter 19 Kernel states 24 Threads and processes 26 Why processes? 26 Starting a process 27 Starting a thread 36 More on synchronization 57 Readers/writer locks 57 Sleepon locks 59 Condition variables 63 Additional Neutrino services 68 Pools of threads 69 Scheduling and the real world 76 Rescheduling — hardware interrupts 77 Rescheduling — kernel calls 77 Rescheduling — exceptions 77 Summary 78 2 Message Passing 79 Messaging fundamentals 81 A small microkernel and message passing 81 Message passing and client/server 82 Network-distributed message passing 85 What it means for you 85 The philosophy of Neutrino 86 Multiple threads 86 Server/subserver 87 Some examples 89 Using message passing 90 Architecture & structure 91 The client 91 The server 93 The send-hierarchy 97 Receive IDs, channels, and other parameters 97 Multipart messages 108 Pulses 113 Receiving a pulse message 114 The MsgDeliverEvent() function 117 Channel flags 118 iv Contents October 20, 2008 © 2008, QNX Software Systems GmbH & Co. KG. Message passing over a network 124 Networked message passing differences 126 Some notes on NDs 128 Priority inheritance 130 So what’s the trick? 132 Summary 133 3 Clocks, Timers, and Getting a Kick Every So Often 135 Clocks and timers 137 Operating periodically 137 Clock interrupt sources 139 Base timing resolution 140 Timing jitter 140 Types of timers 141 Notification schemes 142 Using timers 146 Creating a timer 146 Signal, pulse, or thread? 147 What kind of timer? 147 A server with periodic pulses 149 Timers delivering signals 157 Timers creating threads 157 Getting and setting the realtime clock and more 157 Advanced topics 159 Other clock sources 159 Kernel timeouts 163 Summary 165 4 Interrupts 167 Neutrino and interrupts 169 Interrupt service routine 170 Level-sensitivity versus edge-sensitivity 172 Writing interrupt handlers 175 Attaching an interrupt handler 175 Now that you’ve attached an interrupt 176 Detaching an interrupt handler 177 The flags parameter 178 The interrupt service routine 178 ISR functions 186 Summary 188 October 20, 2008 Contents v © 2008, QNX Software Systems GmbH & Co. KG. 5 Resource Managers 189 What is a resource manager? 191 Examples of resource managers 191 Characteristics of resource managers 192 The client’s view 192 Finding the server 193 Finding the process manager 194 Handling directories 195 Union’d filesystems 196 Client summary 198 The resource manager’s view 199 Registering a pathname 199 Handling messages 200 The resource manager library 200 The library really does what we just talked about 202 Behind the scenes at the library 203 Writing a resource manager 204 Data structures 205 Resource manager structure 210 POSIX layer data structures 219 Handler routines 226 General notes 226 Connect functions notes 228 Alphabetical listing of connect and I/O functions 230 io_chmod() 230 io_chown() 231 io_close_dup() 231 io_close_ocb() 232 io_devctl() 232 io_dup() 234 io_fdinfo() 235 io_link() 235 io_lock() 236 io_lock_ocb() 237 io_lseek() 237 io_mknod() 238 io_mmap() 239 io_mount() 240 io_msg() 240 io_notify() 241 io_open() 242 vi Contents October 20, 2008 © 2008, QNX Software Systems GmbH & Co. KG. io_openfd() 243 io_pathconf() 243 io_read() 244 io_readlink() 245 io_rename() 246 io_shutdown() 247 io_space() 247 io_stat() 248 io_sync() 248 io_unblock() [CONNECT] 249 io_unblock() [I/O] 249 io_unlink() 250 io_unlock_ocb() 251 io_utime() 251 io_write() 252 Examples 252 The basic skeleton of a resource manager 253 A simple io_read() example 255 A simple io_write() example 259 A simple io_devctl() example 263 An io_devctl() example that deals with data 266 Advanced topics 269 Extending the OCB 269 Extending the attributes structure 271 Blocking within the resource manager 272 Returning directory entries 273 Summary 283 A QNX 4 to Neutrino 285 QNX 4 and Neutrino 287 Similarities 287 Improvements 287 Porting philosophy 291 Message passing considerations 291 Interrupt service routines 301 Summary 302 B Calling 911 303 Seeking professional help 305 So you’ve got a problem. 305 Training 309 October 20, 2008 Contents vii © 2008, QNX Software Systems GmbH & Co. KG. C Sample Programs 311 atoz.c 313 time1.c 317 tp1.c 321 tt1.c 323 Glossary 325 Index 335 viii Contents October 20, 2008 List of Figures A process as a container of threads. 16 Three threads in two different processes. 21 Two threads on the READY queue, one blocked, one running. 22 Scheduling roadmap. 23 Memory protection. 27 Serialized, single CPU. 49 Multithreaded, single CPU. 50 Four threads, four CPUs. 51 Eight threads, four CPUs. 52 System 1: Multiple operations, multiple processes. 54 System 2: Multiple operations, shared memory between processes. 55 System 3: Multiple operations, multiple threads. 55 One-to-one mutex and condvar associations. 68 Many-to-one mutex and condvar associations. 68 Thread flow when using thread pools. 71 Neutrino’s modular architecture. 81 State transitions of server. 82 State transitions of clients. 83 Clients accessing threads in a server. 87 Server/subserver model. 88 One master, multiple workers. 90 Relationship between a server channel and a client connection. 94 Relationship of client and server message-passing functions. 94 Message data flow. 95 Transferring less data than expected. 96 The fs-qnx4 message example, showing contiguous data view. 106 Transferring several chunks with MsgWrite(). 107 How the kernel sees a multipart message. 110 Converting contiguous data to separate buffers. 111 Confusion in a multithreaded server. 122 Message passing over a network. Notice that Qnet is divided into two sections. 125 Three threads at different priorities. 131 Blocked threads. 131 October 20, 2008 List of Figures ix © 2008, QNX Software Systems GmbH & Co. KG. Boosting the server’s priority. 132 PC clock interrupt sources. 139 Clock jitter. 141 Level-sensitive interrupt assertion. 172 Edge-sensitive interrupt assertion. 173 Sharing interrupts — one at a time. 174 Sharing interrupts — several at once. 174 Control flow with InterruptAttach(). 183 Control flow with InterruptAttachEvent(). 183 Control flow with InterruptAttachEvent() and unnecessary rescheduling. 184 Control flow with InterruptAttach() with no thread rescheduling. 184 Neutrino’s namespace. 193 First stage of name resolution. 193 The _IO_CONNECT message. 194 Neutrino’s namespace. 195 Neutrino’s namespace. 196 Overlaid filesystems. 196 Architecture of a resource manager — the big picture. 205 A combine message. 217 The readblock() function’s combine message. 218 Data structures — the big picture. 219 x List of Figures October 20, 2008 About This Guide October 20, 2008 About This Guide xi © 2008, QNX Software Systems GmbH & Co. KG. Typographical conventions What you’ll find in this guide Getting Started with QNX Neutrino is intended to introduce realtime programmers to the QNX Neutrino RTOS and help them develop applications and resource managers for it. This book was originally written by Rob Krten in 1999 for QNX Neutrino 2. In 2005, QNX Software Systems bought the rights to the book; this edition has been updated by the staff at QNX Software Systems to reflect QNX Neutrino 6.4. The following table may help you find information quickly: To find out about: Go to: Peter van der Veen’s forward Foreword to the First Edition Rob Krten’s preface Preface to the First Edition Using processes and threads Processes and Threads Sending, receiving, and replying to messages Message Passing Working with times and timers Clocks, Timers, and Getting a Kick Every So Often Interrupts Interrupts Writing resource managers Resource Managers Migrating from QNX 4 to Neutrino QNX 4 to Neutrino Getting help Calling 911 Full source code for the examples Sample Programs Terms used in QNX docs Glossary Typographical conventions Throughout this manual, we use certain typographical conventions to distinguish technical
Recommended publications
  • 2015 Annual Report
    2015 Annual Report Prince of Peace Lutheran Church, ELCA 2561 Victoria Street North Roseville, MN 55113 651-484-4144 www.princeofpeaceroseville.org final 1/21/15 FROM THE ANNUAL REPORT OF THE CONGREGATION DIALOGUE AND PRAYER As we gather today, bless us O Lord. We are a church that belongs to Jesus Christ. We believe we are a part of God’s unfolding promise. As we gather, we connect with believers everywhere and are drawn more deeply into God’s saving story. As we engage in discussion and discernment today, bless us O Lord. We are a church whose unity is in Jesus Christ. We gather to discover, discern and boldly participate in what God is up to in our congregation, our community and the world. As we live out our faith through decisions today, bless us O Lord. We are a church that proclaims the good news of Jesus Christ and believes that through the gospel we are justified by God’s grace through faith. We believe we are transformed through the death of Jesus Christ on the cross and thus are always being made new. As we are one body with many members, bless us O Lord. As there are many parts to the body in Christ, help us to see how we are individually members one of another so that we are freed to serve and love our neighbor with a living, daring confidence in God’s grace. Amen. SCRIPTURE READING For as in one body we have many members, and not all the members Romans 12: 4-5 have the same function, so we, who are many, are one body in Christ, and individually we are members one of another.
    [Show full text]
  • Hax Hax Are Experience
    QUESTA RIVISTA E I SUOI CONTENUTI SONO RILASCIATI SOTTO CREATIVE COMMONS ATTRIBUTION-SHARE ALIKE 2.5 UNPORTED HTTP://CREATIVECOMMONS.ORG/LICENSES/BY-SA/2.5/ HTTP://CREATIVECOMMONS.ORG/LICENSES/BY-SA/2.5/LEGALCODE I DIRITTI PROTETTI DA COPYRIGHT SONO DEI LEGITTIMI PROPRIETARI HAX HAX ARE EXPERIENCE FOGLIO DI COLLEGAMENTO DELL’ASSOCIAZIONE HACKLAB COSENZA CURATORE GRAFICO - IMPAGINATORE CAPOREDATTORE FRANCESCO MUSCIMARRO “CICCIORAPTOR” ENZO AGGAZIO “JETPAC” REDAZIONE CORRETTORI DI BOZZE UMIT UYGUR ERICA LITRENTA VINCENZO BRUNO “ALIVIN 70” ANDREA FALCONE GIANNI VILLELLA “VILGIO” ARTICOLISTI EDITORIALISTA DANIELE DI VITO GIUSEPPE GUERRASIO “LOBOTOMIA” MARIO LAGADARI ROCCO FOLINO “LORD ZEN” MARCO ASCRIZZI “ONO-SENDAI” IGNAZIO FILICE “SNIGGER” FRANCESCA BEATRICE CICE NUCCIO CANTELMI GIUSEPPE LEONE “M4573R85” MARCELLO ZANIBONI CARLO TANCREDI CARLO RUTA SIMONE BRUSCHI ANDREA PANETTA NECOSI MARCELLO ZANIBONI ENRICO BISENZI CLAUDIO PARINI ALESSANDRO SCIACQUA STEPHYA LUCA MENINI ALEXJAN CARRATUTO ENRICO PERSICHELLA GIUSEPPE MASILI CARLO GUBITOSA SELENE VERRI PUBBLICAZIONE APERIODICA RIVISTA IMPAGINATA CON OPEN OFFICE.ORG PUBBLICITA’ ASSENTE L’IMMAGINE DI SFONDO DELLA COPERTINA E’ STATA REALIZZATA DA FRANCESCA BEATRICE CICE LA BASE DI TUX G2 PRESENTI IN COPERTINA È’ STATA PROGETTATA DA OVERLORD59 DA CRYSTALXP.NET QUESTO NUMERO DI HAX E’ DEDICATO ALLA PICCOLA LUNA BRUNO, CHE HA PRONUNCIATO IL SUO PRIMO “HELLO WORLD” IL 14 SETTEMBRE 2008 2 IL punto sulla situazione L'inverno sta arrivando, ma noi di HAX non vi abbandoniamo ed insieme a noi si unisce la co- munità Italiana di Linux, del Software Libero e dell'Open Source. Questo è un numero speciale di HAX, dedicato al LinuxDay, che come ogni anno dal 2001 ad oggi cerca di promuovere e diffondere Linux tramite un messaggio comune da parte delle varie realtà dislocate sul territorio Italiano.
    [Show full text]
  • These Innovators Sail Against the Prevailing Winds, Discovering Whole New Worlds in Biotech and Software
    FORTUNEMARCH 17, 2003 EXCERPT Heroes of manufacturing These innovators sail against the prevailing winds, discovering whole new worlds in biotech and software. by Gene Bylinsky Dan Dodge and Gordon Bell: When software really, really has to work Is software hopeless? Ask anyone whose computer has just con- to smart manufacturing and process-control engineers, who have fessed to an illegal operation or whose screen has locked up. De- installed more than one million QNX systems around the spite decades of effort, a wisecrack from the software industry’s world—and beyond. Cisco uses QNX to power some of its net- early days still stings: “If builders constructed buildings the way work equipment; Siemens uses it to run its medical systems. QNX programmers write software, the first woodpecker to come along enables the high-speed French TGV passenger trains to round would cause the collapse of civilization.” curves without tilting too far; it runs U.S. Postal Service mail- There’s one notable exception. As far as anyone can tell, soft- sorting machines, directs GE-built locomotives, and will soon ware created by a Canadian company called QNX Software Sys- control all of New York City’s traffic lights. The Federal Avia- tems simply doesn’t crash. QNX’s software has run nonstop with- tion Administration (FAA) has purchased 250 copies of QNX out mishaps at some customer sites since it was installed more for air-traffic control. And the system operates the Canadian- than a decade ago. As a delighted user has put it, “The only way built robotic arm on both the space shuttle and the interna- to make this software malfunction is to fire a bullet into the com- tional space station.
    [Show full text]
  • Real-‐Time Systems
    Fakultät für Informak der Technischen Universität München Real-Time Systems Part 5: Real-0me operang systems Echtzeitsysteme WS 14/15 1 Lehrstuhl Informak VI – Robo0cs and Embedded Systems Fakultät für Informak der Technischen Universität München Content • Introduc0on – Operang system (basic defini0on) – Special Requirements for real-0me operang systems – Evaluaon criteria for real-0me operang systems • Specific operang systems in detail: – Domain specific OSs: • OSEK • TinyOS – Classic real-0me OSs • QNX • VxWorks • PikeOS – Linux- / Windows- real-0me variants Echtzeitsysteme WS 14/15 2 Lehrstuhl Informak VI – Robo0cs and Embedded Systems Fakultät für Informak der Technischen Universität München Literature Jane W. S. Liu, Real-Time Systems, 2000 Dieter Zöbel, Wolfgang Albrecht: Echtzeitsysteme: Grundlagen und Techniken, 1995 Andrew S. Tanenbaum: Modern Operating Systems, 2015 Arnd Heursch et al.: Time-critical tasks in Linux 2.6, 2004 Echtzeitsysteme WS 14/15 3 Lehrstuhl Informak VI – Robo0cs and Embedded Systems Fakultät für Informak der Technischen Universität München Real-Time Opera3ng Systems Introduc0on Echtzeitsysteme WS 14/15 4 Lehrstuhl Informak VI – Robo0cs and Embedded Systems Fakultät für Informak der Technischen Universität München Operang System (Basic Definion) The opera)ng system “controls all the computer’s resources and provides the base upon which the applica)on programs can be wri:en”. (A. Tanenbaum) • Extended Machine – Simpler and easier to use than the underlying hardware – Hides technical details • Resource Manager – Provide orderly and controlled allocaon of processors, memory etc. – Protec0on through separaon of user mode and kernel mode • Concepts: Processes, files, system calls Echtzeitsysteme WS 14/15 5 Lehrstuhl Informak VI – Robo0cs and Embedded Systems Fakultät für Informak der Technischen Universität München User- vs.
    [Show full text]
  • The Conference Interpreter Project HOJA DE RESPUESTAS
    The Conference Interpreter Project Lengua B(III) Inglés 2011/12 HOJA DE RESPUESTAS Lunes 12 diciembre de 2011 13:00 – 15:00 FI/2-09P Martes 13 diciembre de 2011 13:00 – 15:00 FI/2-09P Miércoles 14 de diciembre de 2011 13:00 – 15:00 FI/2-09P Jueves 15 de diciembre de 2011 15:00 – 17:00 FI/3-13P (!!!) Viernes 15 de diciembre de 2011 13:00 – 15:00 FI/2-09P NOMBRE Y APELLIDOS: ______________________________________________________ DNI/PASAPORTE: ____________________________________________________________ GRUPO 1 MODALIDAD 1 Apple_1 1. Hoy presentamos el iPad2, el iPad de ________________ generación. Bien, ¿Qué es el iPad2? ¿Qué hemos aprendido? ¿Qué podemos mejorar. Bueno, es un diseño completamente nuevo. a) primera b) segunda c) tercera d) cuarta 2. No es una modiFicación. No tiene más mejoras generales. Tiene un diseño completamente nuevo. Y en primer lugar: es tremendamente más ________________. a) lento b) rápido c) duro d) Fácil 3. Tenemos un nuevo chip, el ________________, e les ha ocurrido a nuestros mejores ingenieros, y es Fantástico. a) A5 b) A6 c) A7 d) A8 4. Lleva procesadores de ________________ núcleo. Dos procesadores internos. Lo que nos permite obtener el doble de velocidad en rendimiento de la CPU. a) triple b) doble c) planas d) tridimensionales 5. Pero en lo que realmente nos hemos esmerado es en la potencia ________________. GráFicos hasta nueve veces más rápidos. a) de usuario b) inicial c) principal d) gráFica 6. Los ________________ aquí son una maravilla. Mismo bajo consumo que el A4. No queremos perder ni una pizca de la mítica duración de la batería.
    [Show full text]
  • Blackberry Limited (Exact Name of Registrant As Specified in Its Charter)
    UNITED STATES SECURITIES AND EXCHANGE COMMISSION Washington, D.C. 20549 __________________________________________________________ FORM 40-F REGISTRATION STATEMENT PURSUANT TO SECTION 12 OF THE SECURITIES EXCHANGE ACT OF 1934 or ANNUAL REPORT PURSUANT TO SECTION 13(a) OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934 For the fiscal year ended March 1, 2014 Commission File Number 0-29898 __________________________________________________________ BlackBerry Limited (Exact name of Registrant as specified in its charter) Ontario 3,661 Not Applicable (Province or other Jurisdiction (Primary Standard Industrial (I.R.S. Employer of Incorporation or Organization) Classification Code Number) Identification No) 2200 University Ave East Waterloo, Ontario, Canada, N2K 0A7 (519) 888-7465 (Address and telephone number of Registrant’s principal executive offices) BlackBerry Corporation 5000 Riverside Drive, Suite 100E, Irving, Texas, USA 75039 (972) 650-6126 (Name, address and telephone number of agent for service in the United States) __________________________________________________________ Securities registered or to be registered pursuant to Section 12(b) of the Act: Common Shares, without par value Securities registered or to be registered pursuant to Section 12(g) of the Act: None Securities for which there is a reporting obligation pursuant to Section 15(d) of the Act: None For annual reports, indicate by check mark the information filed with this Form: Annual information form Audited annual financial statements Indicate the number of outstanding shares of each of the Registrant’s classes of capital or common stock as of the close of the period covered by this annual report. The Registrant had 526,551,953 Common Shares outstanding as at March 1, 2014.
    [Show full text]
  • IN the UNITED.Tif
    Exhibit A Exhibit A Rule 2002 Service List Description of Party Notice Party Address1 Address2 Address3 City State Zip Office of the United States Trustee Office of the United States Trustee Frank J. Perch III 844 King Street Suite 2207 Wilmington DE 19801 Federal Energy Regulatory Commission Federal Energy Regulatory Commission Attn: Cynthia A. Marlette 888 First Street NE Washington DC 20246 Montana Public Service Commission Montana Public Service Commission Rob Rowe, Chairman 1701 Prospect Avenue Helena MT 59620-2601 South Dakota Public Service Commission South Dakota Public Utilities Commission Pam Bonrud, Executive Director Capitol Building, 1st Floor 500 East Capitol Avenue Pierre SD 57501-5070 Nebraska Public Service Commission Nebraska Public Service Commission Anne C. Boyle, Chairwoman 1200 N. Street, Suite 300 Lincoln NE 68508 Securities and Exchange Commission Securities and Exchange Commission Attn: David Lynn, Chief Counsel 450 Fifth Street Washington DC 20549 Timothy R. Pohl, Esq. Attorney for DIP Lenders Skadden Arps Samuel Ory, Esq. 333 West Wacker Drive Chicago IL 60606 Jesse Austin, Esq. Attorney for Debtor Paul, Hastings, Janofsky & Walker, LLP Karol Denniston, Esq. 600 Peachtree Road NE Atlanta GA 30308 Scott D. Cousins, Esq. Victoria W. Counihan, Esq. Local Counsel Greenberg Traurig LLP William E. Chipman, Jr., Esq. The Brandywine Building 1000 West Street Suite 1540 Wilmington DE 19801 Cayman Islands Branch/Syndicated Primary Lender and Agent for Finance Group Pre-petition Lenders Credit Suisse First Boston Secured Term Loan Credit Facility Attn: Rob Loh 11 Madison Avenue 21st Floor New York NY 10010 DIP Lender Bank One, NA DIP Lender Attn: Andrew D.
    [Show full text]
  • Sistemas Operativos Moviles: Funcionalidades, Efectividad Y Aplicaciones Utiles En Colombia. Sanly Aponte Gomez Carlos Davila Ra
    SISTEMAS OPERATIVOS MOVILES: FUNCIONALIDADES, EFECTIVIDAD Y APLICACIONES UTILES EN COLOMBIA. SANLY APONTE GOMEZ CARLOS DAVILA RAMIREZ UNIVERSIDAD EAN FACULTAD DE INGENIERIA DE SISTEMAS TEKHLAR BOGOTA 2011 SISTEMAS OPERATIVOS MOVILES: FUNCIONALIDADES, EFECTIVIDAD Y APLICACIONES UTILES EN COLOMBIA. SANLY APONTE GOMEZ CARLOS DAVILA RAMIREZ Proyecto de Grado Tekhlar II como requisito para optar al título de Ingeniero en Sistemas Asesor ING. JAVIER DUARTE UNIVERSIDAD EAN FACULTAD DE INGENIERIA DE SISTEMAS TEKHLAR BOGOTA 2011 DEDICATORIA SANLY APONTE GOMEZ MIS ESFUERZOS SE LOS DEDICO: A DIOS. Por ser mí guía, fortaleza y protección en cada momento de mi vida, pasando cada día los obstáculos presentados en mis estudios hasta alcanzar mis metas profesionales. A MIS PADRES. Carmen Lucy Gómez Penna y Jaime Aponte Rivillas. Con todo mi amor, les agradezco por confiar en mí, por darme la vida y guiarme por el camino correcto. Es por eso que pude lograr la culminación de mis estudios profesionales, porque sin ustedes no los hubiera finalizado. A MIS HERMANOS. Luis Enrique Aponte y José Alfredo Aponte. Gracias por apoyarme y darme valor en los momentos más difíciles de mis estudios ya que soy un punto de referencia para ustedes. A MI TIA. Yolima Aponte Por ofrecerme todo su apoyo incondicional guiándome en mi vida personal y estudio profesional. A MI COMPAÑERO DE PROYECTO. Carlos Dávila Ramírez. Por su apoyo y acompañamiento en el desarrollo de este Proyecto de Grado que hoy entregamos finalmente. AGRADECIMIENTOS. Agradezco a la UNIVERSIDAD EAN por su buena educación a nivel personal y profesional, dándome buenas prácticas de aprendizaje y oportunidades de desarrollarme como Ingeniera de Sistemas.
    [Show full text]
  • Governing Machine Learning That Matters
    Doctoral thesis Governing Machine Learning that Matters Michael Veale 2019 A dissertation submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy in Science, Technology, Engineering and Public Policy Department of Science, Technology, Engineering and Public Policy (STEaPP) University College London 84,570 words 2019 Declaration of Authorship I, Michael Veale, confirm that the work presented in this thesis is my own. Wherein- formation has been derived from other sources, I confirm that this has been indicated in the thesis. Signed: Declaration of Integrated Publications This section acknowledges the integration of work of the Author into the different sec- tions of this thesis. All work integrated into the thesis was undertaken during the period in which the Author was registered with the University as working towards the doctorate. The work is acknowledged here as, since publication, other researchers have responded to and engaged with these works in this fast-moving field, and this thesis represents both a statement of the original arguments and findings in those works, as well as a partial response to the research field as it stands at the time of sub- mission. Chapter 1, Hello, World!, includes some content from the following articles: 1. Vasilios Mavroudis and Michael Veale, ‘Eavesdropping Whilst You’re Shopping: Balancing Personalisation and Privacy in Connected Retail Spaces’ in Proceedings of the 2018 PETRAS/IoTUK/IET Living in the IoT Conference (IET 2018) DOI: 10/gffng2; 2. Lilian Edwards and Michael Veale, ‘Slave to the Algorithm? Why a ‘Right to an Explanation’ is Probably Not The Remedy You Are Looking For’ (2017) 16 Duke L.
    [Show full text]
  • Echtzeitbetriebssysteme
    Fakultät für Informatik der Technischen Universität München Echtzeitbetriebssysteme TinyOS Echtzeitsysteme WS 08/09 349 Lehrstuhl Informatik VI – Robotics and Embedded Systems Fakultät für Informatik der Technischen Universität München Einsatzgebiet: AdHoc-Sensornetzwerke • Begriff Smart-Dust: Viele kleine Sensoren überwachen die Umgebung Routing Tree Link • Ziele: robuste und Connectivity flächendeckende Überwachung • Probleme: – eingeschränkte Lebensdauer (Batterie) – eingeschränkter Speicherplatz Base Station – geringe Kommunikationsbandbreite – geringe Rechenleistung Quelle: http://tinyos.millennium.berkeley.edu Echtzeitsysteme WS 08/09 350 Lehrstuhl Informatik VI – Robotics and Embedded Systems Fakultät für Informatik der Technischen Universität München Hardware • CPU: 4MHz, 8Bit, 512 Byte Ram • Flash-Speicher: 128 kByte • Funkmodul: 2,4 GHz, 250 kbps • Diverse Sensormodule: z.B. Digital/Analog, Licht, Feuchtigkeit, Druck Analog "Raw" Processed Sensor Sensor Sensor Signal Data Data Processor Sensor A/D (DSP, FPGA, Radio μP) Computational Communication Sensor part Part & Collaboration Part Echtzeitsysteme WS 08/09 351 Lehrstuhl Informatik VI – Robotics and Embedded Systems Fakultät für Informatik der Technischen Universität München Stromverbrauch Power (mW) Echtzeitsysteme WS 08/09 352 Lehrstuhl Informatik VI – Robotics and Embedded Systems Fakultät für Informatik der Technischen Universität München TinyOS • TinyOS ist kein wirkliches Betriebssystem im traditionellen Sinn, eher ein anwendungs- spezifisches Betriebssystem – keine Trennung
    [Show full text]
  • Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung 5
    Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung 5. Auflage Grundkurs Betriebssysteme Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung 5., aktualisierte Auflage Prof. Dr. Peter Mandl Fakultät für Informatik und Mathematik Hochschule München München, Deutschland ISBN 978-3-658-30546-8 ISBN 978-3-658-30547-5 (eBook) https://doi.org/10.1007/978-3-658-30547-5 Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. Springer Vieweg © Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2008, 2010, 2013, 2014, 2020 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklich vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das gilt insbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verar- beitung in elektronischen Systemen. Die Wiedergabe von allgemein beschreibenden Bezeichnungen, Marken, Unternehmensnamen etc. in diesem Werk bedeutet nicht, dass diese frei durch jedermann benutzt werden dürfen. Die Berechtigung zur Benutzung unterliegt, auch ohne gesonderten Hinweis hierzu, den Regeln des Markenrechts. Die Rechte des jeweiligen Zeicheninhabers sind zu beachten. Der Verlag, die Autoren
    [Show full text]
  • QNX Real Time Operating System
    QNX Real Time Operating System QNX is a hard real time system designed from the ground up for real time purposes. QNX runs on systems ranging from iPAQs through to powerful multi-processor servers. QNX is produced by QNX Software Systems Ltd and has been adopted as the operating system of choice on the QUAV project. Some of the highlights of the QNX operating system are: · Hard real time system · Memory protection · Full POSIX support · Support for a wide range of networking protocols · Support for a wide range of file systems · Wide range of tools (from editors through to web servers) available for QNX QNX is currently used on the QUT UAV projects at the undergraduate and postgraduate level. Current projects include control systems, mission planning systems, artificial intelligence, vision systems and collision avoidance. Due to the versatility of QNX the scope is limited only by what we wish to pursue. QNX is also being employed on advanced navigation and attitude determination systems being developed for satellite applications. QNX was selected for the space applications due to its high performance and reliability. QNX is a realtime, microkernel, preemptive, prioritized, message passing, network distributed, multitasking, multiuser, fault tolerant operating system. QNX was originally created by Dan Dodge and Gordon Bell in 1980 and ran on prototype, wire-wrapped 8088 and 6809 machines. The QNX community benefits tremendously from the fact that Dan and Gord still play an active role in the development and coding of the QNX operating system. The OS was originally called Qunix, "Quick UNIX", until they received a polite letter from AT&T's lawyers asking that they change the name.
    [Show full text]