EMBEDDED OS Jest Zastosowanie Systemu Operacyjnego

Total Page:16

File Type:pdf, Size:1020Kb

EMBEDDED OS Jest Zastosowanie Systemu Operacyjnego Przegląd systemów operacyjnych WYBÓRdla systemów KONSTRUKTORA wbudowanych Przegląd systemów operacyjnych dla systemów wbudowanych Użytkownicy rozpieszczani kolorowymi wyświetlaczami oraz wych wyposażonych w jednostkę za- interfejsami dotykowymi telefonów komórkowych stawiają przed rządzania pamięcią MMU oraz dużą, ze- NUMERU TEMAT konstruktorami urządzeń elektronicznych coraz większe wymagania. wnętrzną pamięć operacyjną, zazwyczaj Niegdyś popularne monochromatyczne wyświetlacze znakowe większą niż 4 MB. • Minisystemy operacyjne, przeznaczone odchodzą do lamusa nawet w urządzeniach amatorskich. dla mikrokontrolerów jednoukładowych, Równocześnie czasy prostych interfejsów komunikacyjnych, takich pracujące w pojedynczej przestrzeni ad- jak np. RS232, którego oprogramowanie można było zmieścić resowej i wymagające niewielkiej pamię- w kilkudziesięciu liniach kodu, również odeszły w zapomnienie. ci operacyjnej rzędu pojedynczych kB. Współczesne interfejsy takie jak USB, Ethernet, CAN, Wi-Fi, Systemy z pierwszej grupy, są najczęściej Bluetooth, wymagają skomplikowanych rozwiązań programowych, rozwiązaniami zaawansowanymi, zapewnia- zarówno do obsługi samych rejestrów sprzętowych kontrolera jącymi sterowniki dla wielu układów peryfe- ryjnych, wbudowaną obsługę zaawansowa- interfejsu, jak i dodatkowych warstw abstrakcji. Wszystko to nych protokołów sieciowych, wyświetlaczy powoduje, że przygotowanie we własnym zakresie odpowiedniego graficznych, klawiatur itp. Wspierają one oprogramowania od podstaw dla nieco bardziej zaawansowanych również separację oraz wirtualizację zaso- projektów, za pomocą samego kompilatora, jest zadaniem żmudnym, bów pomiędzy poszczególnymi aplikacjami, podatnym na błędy, a co za tym idzie kosztownym. Rozwiązaniem dzięki czemu nawet w przypadku awarii EMBEDDED OS jest zastosowanie systemu operacyjnego. jednej z aplikacji, pozostała część systemu oraz aplikacja nadal pracują prawidłowo. Typowym przedstawicielem systemu wyma- Tworzenie całego oprogramowania od wydajną jednostkę centralną oraz zasoby gającego mikroprocesora z MMU jest Linux, podstaw ma czasem sens (choć nie zawsze) pamięci. Umożliwiają przy tym uruchamia- którego architekturę programową przedsta- jedynie w dużych firmach dla produkcji nie systemów operacyjnych bez zauważalnej wiono poglądowo na rysunku 1. wielkoseryjnej, gdzie pracochłonny koszt utraty wydajności. Często wykorzystanie Linux składa się z monolitycznego jądra przygotowania wyspecjalizowanego opro- systemów operacyjnych nie wymaga pono- odpowiedzialnego za wirtualizację zasobów, gramowania umożliwia zastosowanie prost- szenia dodatkowych kosztów, ponieważ wie- szeregowanie zadań, komunikację między- szych, a zatem tańszych podzespołów. Dla- le z nich jest dostępnych na wolnych licencji procesową, obsługę protokołów sieciowych. tego w urządzeniach elektronicznych coraz umożliwiającej pobranie i modyfikowanie Jądro zapewnia także jednolity interfejs chętniej stosowane są systemy operacyjne, źródła, przy czym gro z nich to projekty doj- dostępu do urządzeń dodając dodatkową które doskonale upraszczają proces przygo- rzałe, mające certyfikaty lub umożliwiające warstwę abstrakcji uniezależniającą aplika- towania oprogramowania pozwalając sku- wykupienie wsparcia komercyjnego. Istnieją cję od sprzętu, na którym pracuje. Bezpo- pić się na funkcjonalności, dodając kolejną również komercyjne systemy o zamkniętym średni dostęp do sprzętu ma jedynie jądro warstwę abstrakcji pomiędzy programem kodzie źródłowym, których użycie wymaga systemu operacyjnego. Wszystkie aplikacje a sprzętem. Podobnie jak kilkanaście lat poniesienia dodatkowych kosztów zakupu korzystające ze sprzętu muszą odwoływać temu w oprogramowaniu wbudowanym ode- samej licencji. W zależności od sposobu li- się do niego za pośrednictwem jądra. Jądro szliśmy od pisania kodu aplikacji w assem- cencjonowania, może to być opłata jednora- pracuje w trybie uprzywilejowanym, mając blerze (z wyjątkiem nielicznych wstawek) na zowa lub też opłata od każdej sztuki działa- dostęp do całej przestrzeni adresowej oraz rzecz języka C, który nazywany jest „przeno- jącego urządzenia. urządzeń peryferyjnych. Aplikacje działają śnym assemblerem”, tak dzisiaj obserwuje- w przestrzeni użytkownika i mają ograni- my proces odchodzenia od bezpośredniego Architektura czony dostęp do zasobów systemowych pra- programowania rejestrów mikrokontrolera Pod pojęciem systemu operacyjnego cując w wydzielonych, niezależnych prze- na rzecz systemów operacyjnych oraz biblio- dla urządzeń wbudowanych kryje się cała strzeniach adresowych. Dostęp do wywołań tek dodatkowych. Nie bez znaczenia jednym gama systemów, od tych najprostszych, które systemowych jądra odbywa się za pomocą z dodatkowych powodów coraz większej po- możemy uruchomić na mikrokontrolerach biblioteki libc, która zapewnia dodatkową pularności takich rozwiązań jest rewolucja, 8-bitowych, po rozbudowane, znane z kom- funkcjonalność oraz tworzy warstwę abs- która dokonała się w przeciągu ostatnich kil- puterów PC. Ze względu na rodzaj obsługi- trakcji pomiędzy interfejsem jądra a aplika- ku, lat polegająca na odchodzeniu od mikro- wanych układów systemy możemy podzielić cją użytkownika. kontrolerów 8-bitowych w stronę rozwiązań na dwie kategorie: Pomimo niezaprzeczalnych, zalet peł- 32-bitowych (głównie ARM). Współczesne • Systemy operacyjne przeznaczone dla noprawne systemy operacyjne narzucają mikrokontrolery mają wielokrotnie bardziej mikroprocesorów minimum 32-bito- stosunkowo duże wymagania odnośnie do ELEKTRONIKA PRAKTYCZNA 7/2013 57 WYBÓR KONSTRUKTORA wzajem oraz do wszystkich zasobów sprzęto- wych. Kod systemu oraz aplikacje linkowane są statycznie do pojedynczego obrazu, który jest następnie wgrywany do pamięci Flash urządzenia. Główną częścią systemu opera- cyjnego jest jądro, które jest bardzo proste i składa się z modułu szeregowania zadań (schedulera) oraz modułu komunikacji mię- dzyprocesowej (IPC). Moduł szeregowania zadań jest odpowiedzialny za przydzielanie czasu procesora poszczególnym aplikacjom, natomiast moduł IPC jest odpowiedzialny za komunikację pomiędzy procesami oraz ją- drem. Aplikacje mają dostęp do wszystkich zasobów, zatem nie jest konieczne odwoły- TEMAT NUMERU TEMAT wanie się do sprzętu za pośrednictwem ją- dra. W tej architekturze można odwoływać się bezpośrednio do sprzętu za pomocą wpisów do rejestrów sprzętu, tak jak w przy- padku klasycznych aplikacji pozbawionych systemu. Bardzo często minisystemy mają do- datkowe moduły udostępniające warstwę abstrakcji sprzętu HAL czy integrujące np. stos TCP lub USB, niestanowiące w ścisłym sensie jądra systemu, ale dostarczane razem z nim. Dodatkowa warstwa nie jest wymaga- na, ale pozwala na uniezależnienie aplikacji od specyfiki danego rozwiązania sprzętowe- go. Często również minisystemy wyposażane Rysunek 1. Poglądowa architektura systemu Linux embedded są w dodatkowe stosy protokołów np. TCP/ IP, USB, Bluetooth itp., zapewniając odpo- EMBEDDED OS samej jednostki centralnej oraz wymagają nia. Przede wszystkim nie jest wymagana wiednie API. Zazwyczaj istnieje możliwość dodatkowych zasobów, takich jak stosunko- jednostka centralna wyposażona w MMU, wyłączenia poszczególnych modułów na wo duża pamięć operacyjna czy dodatkowa a apetyt na pamięć jest znacznie mniejszy. etapie kompilowania i pozostawienie mini- pamięć stała, w której będą przechowywane Do jego uruchomienia wystarczy nawet 8-bi- malnego zestawu składającego się jedynie pliki oraz aplikacje. Niestety, współczesne towy mikrokontroler wyposażony w pamięci z jądra. Rozpatrując minisystem z punktu mikrokontrolery jednoukładowe nie mają RAM i Flash o wielkości kilkunastu KB. widzenia pełnoprawnego systemu możemy zasobów umożliwiających uruchomienie Podstawową architekturę takiego mi- powiedzieć, że jego jądro stanowi analogię pełnoprawnego systemu. W takich wypad- nisystemu pokazano na rysunku 2. Brak do biblioteki obsługi wątków np. Linuksowe- kach znajdują zastosowanie „minisystemy wymagań odnośnie do MMU, powoduje, że go pthread, a poszczególne aplikacje należy operacyjne” o znacznie uproszczonej budo- wszystkie aplikacje oraz sam system działają rozpatrywać bardziej w kategoriach wątków, wie, oparte o koncepcję mikrojądra. Systemy we wspólnej przestrzeni adresowej. Aplika- niż procesów z uwagi na pracę we wspólnej te mają zdecydowanie mniejsze wymaga- cje oraz jądro mają pełny dostęp do siebie na- przestrzeni adresowej. Wybór platformy sprzętowej. Mikrokontroler jednoukładowy czy mikroprocesor z MMU? Do niedawna wybór pomiędzy mikro- kontrolerem, a mikroprocesorem z MMU dla średniozaawansowanych projektów był oczywisty. Podstawowym wyborem był mikrokontroler jednoukładowy z uwagi na korzystną cenę lub o wiele prostszy projekt płytki drukowanej. Jedynie w wypadku naj- bardziej zaawansowanych projektów mogli- śmy sobie pozwolić na użycie mikroproceso- ra oraz pełnego systemu operacyjnego. Dziś porównując cenę oraz możliwości współcze- snych układów wybór już nie jest taki oczy- wisty. Układ umożliwiający uruchomienie kompletnego systemu operacyjnego możemy nabyć w cenie detalicznej około 20 złotych. Uzupełniając go o pamięć DRAM oraz nie- Rysunek 2. Uproszczona architektura minisystemu operacyjnego wielką pamięć Flash, łącznie za około 10 58 ELEKTRONIKA PRAKTYCZNA 7/2013 Przegląd systemów operacyjnych dla systemów wbudowanych użyć bardziej zaawansowa będzie i rozsądniej wygodniej dów należy rozważyć czy nie nym. Z tych właśnie powo ujawnić się w zupełnie in w jednym fragmencie może mięci, gdzie błąd popełniony mechanizmów ochrony pa gdy nie mamy do dyspozycji dowanym
Recommended publications
  • Bb8c0bd8f46479fe1bc7360a57c
    Sensors 2015, 15, 22776-22797; doi:10.3390/s150922776 OPEN ACCESS sensors ISSN 1424-8220 www.mdpi.com/journal/sensors Article A Wireless Optogenetic Headstage with Multichannel Electrophysiological Recording Capability Gabriel Gagnon-Turcotte 1, Alireza Avakh Kisomi 1, Reza Ameli 1, Charles-Olivier Dufresne Camaro 1, Yoan LeChasseur 2, Jean-Luc Néron 2, Paul Brule Bareil 2, Paul Fortier 1, Cyril Bories 3, Yves de Koninck 3,4,5 and Benoit Gosselin 1,* 1 Department of Electrical and Computer Engineering, Université Laval, Quebec, QC G1V 0A6, Canada; E-Mails: [email protected] (G.G.-T.); [email protected] (A.A.K.); [email protected] (R.A.); [email protected] (C.-O.D.C.); [email protected] (P.F.) 2 Doric Lenses Inc., Quebec, QC G1P 4N7, Canada; E-Mails: [email protected] (Y.L.); [email protected] (J.-L.N.); [email protected] (P.B.B.) 3 Institut Universitaire en Santé Mentale de Québec, Quebec, QC G1J 2G3, Canada; E-Mails: [email protected] (C.B.); [email protected] (Y.K.) 4 Centre d’Optique, Photonique et Laser (COPL), Université Laval, Quebec, QC G1V 0A6, Canada 5 Department of Psychiatry & Neuroscience, Université Laval, Quebec, QC G1V 0A6, Canada * Author to whom correspondence should be addressed; E-Mail: [email protected]; Tel.: +1-418-656-2131; Fax: +1-418-656-3159. Academic Editor: Alexander Star Received: 15 July 2015 / Accepted: 29 August 2015 / Published: 9 September 2015 Abstract: We present a small and lightweight fully wireless optogenetic headstage capable of optical neural stimulation and electrophysiological recording.
    [Show full text]
  • Real-Time Scheduling
    Real-Time Scheduling Formal Model [Some parts of this lecture are based on a real-time systems course of Colin Perkins http://csperkins.org/teaching/rtes/index.html] 1 Real-Time Scheduling – Formal Model I Introduce an abstract model of real-time systems I abstracts away unessential details I sets up consistent terminology I Three components of the model I A workload model that describes applications supported by the system i.e. jobs, tasks, ... I A resource model that describes the system resources available to applications i.e. processors, passive resources, ... I Algorithms that define how the application uses the resources at all times i.e. scheduling and resource access protocols 2 Basic Notions I A job is a unit of work that is scheduled and executed by a system compute a control law, transform sensor data, etc. I A task is a set of related jobs which jointly provide some system function check temperature periodically, keep a steady flow of water I A job executes on a processor CPU, transmission link in a network, database server, etc. I A job may use some (shared) passive resources file, database lock, shared variable etc. 3 Life Cycle of a Job COMPL. scheduling completed release READY RUN preemption signal free wait for a busy resource resource WAITING 4 Jobs – Parameters We consider finite, or countably infinte number of jobs J1; J2;::: Each job has several parameters. There are four types of job parameters: I temporal I release time, execution time, deadlines I functional I Laxity type: hard and soft real-time I preemptability, (criticality) I interconnection I precedence constraints I resource I usage of processors and passive resources 5 Job Parameters – Execution Time Execution time ei of a job Ji – the amount of time required to complete the execution of Ji when it executes alone and has all necessary resources I Value of ei depends upon complexity of the job and speed of the processor on which it executes; may change for various reasons: I Conditional branches I Caches, pipelines, etc.
    [Show full text]
  • Paralel Gerçek Zamanli Kiyaslama Uygulama Takimi
    T.C. SAKARYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ PARALEL GERÇEK ZAMANLI KIYASLAMA UYGULAMA TAKIMI YÜKSEK LİSANS TEZİ Sevil SERTTAŞ Enstitü Anabilim Dalı : BİLGİSAYAR VE BİLİŞİM MÜHENDİSLİĞİ Tez Danışmanı : Dr. Öğr. Üyesi Veysel Harun ŞAHİN Nisan 2019 TEŞEKKÜR Yüksek lisans eğitimim boyunca değerli bilgi ve deneyimlerinden yararlandığım, araştırmanın planlanmasından yazılmasına kadar tüm aşamalarında yardımlarını esirgemeyen değerli danışman hocam Dr. Öğr. Üyesi Veysel Harun ŞAHİN’e teşekkürlerimi sunarım. i İÇİNDEKİLER TEŞEKKÜR ........................................................................................................... i İÇİNDEKİLER ...................................................................................................... ii SİMGELER VE KISALTMALAR LİSTESİ ....................................................... iv ŞEKİLLER LİSTESİ ............................................................................................. v TABLOLAR LİSTESİ ........................................................................................... vi ÖZET ..................................................................................................................... vii SUMMARY ........................................................................................................... viii BÖLÜM 1. GİRİŞ …………………………………………………………….................................... 1 BÖLÜM 2. WCET .................................................................................................................... 3 BÖLÜM 3. KIYASLAMA UYGULAMALARI
    [Show full text]
  • An Optogenetic Headstage for Optical Stimulation and Neural Recording in Life Science Applications
    An Optogenetic Headstage for Optical Stimulation and Neural Recording in Life Science Applications Mémoire Reza Ameli Maîtrise en génie électrique Maître ès sciences (M.Sc.) Québec, Canada © Reza Ameli, 2015 Résumé L'optogénétique est une nouvelle méthode de contrôle de l’activité neuronale dans laquelle la lumière est employée pour activer ou arrêter certains neurones. Dans le cadre de ce travail, un dispositif permettant l’acquisition de signaux neuronaux et conduisant à une stimulation optogénétique de façon multicanale et temps-réel a été conçu. Cet outil est muni de deux canaux de stimulation optogénétique et de deux canaux de lecture des signaux neuronaux. La source de lumière est une DEL qui peut consommer jusqu’à 150 milliampères. Les signaux neuronaux acquis sont transmis à un ordinateur par une radio. Les dimensions sont d’environ 20×20×15 mm3 et le poids est de moins de 7 grammes, rendant l’appareil utile pour les expériences sur les petits animaux libres. Selon nos connaissances actuelles, le résultat de ce projet constitue le premier appareil de recherche optogénétique sans-fil, compact offrant la capture de signaux cérébraux et la stimulation optique simultanée. III Abstract Optogenetics is a new method for controlling the neural activity where light is used to activate or silence, with high spatial and temporal resolution, genetically light-sensitized neurons. In optogenetics, a light source such as a LED, targets light-sensitized neurons. In this work, a light-weight wireless animal optogenetic headstage has been designed that allows multi-channel simultaneous real-time optical stimulation and neural recording. This system has two optogenetic stimulation channels and two electrophysiological reading channels.
    [Show full text]
  • Real-Time Systems I Typical Architecture of Embedded Real-Time System
    Real-Time Programming & RTOS Concurrent and real-time programming tools 1 Concurrent Programming Concurrency in real-time systems I typical architecture of embedded real-time system: I several input units I computation I output units I data logging/storing I i.e., handling several concurrent activities I concurrency occurs naturally in real-time systems Support for concurrency in programming languages (Java, Ada, ...) advantages: readability, OS independence, checking of interactions by compiler, embedded computer may not have an OS Support by libraries and the operating system (C/C++ with POSIX) advantages: multi-language composition, language’s model of concurrency may be difficult to implement on top of OS, OS API stadards imply portability 2 Processes and Threads Process I running instance of a program, I executes its own virtual machine to avoid interference from other processes, I contains information about program resources and execution state, e.g.: I environment, working directory, ... I program instructions, I registers, heap, stack, I file descriptors, I signal actions, inter-process communication tools (pipes, message boxes, etc.) Thread I exists within a process, uses process resources , I can be scheduled by OS and run as an independent entity, I keeps its own: execution stack, local data, etc. I share global data and resources with other threads of the same process 3 Processes and threads in UNIX 4 Process (Thread) States 5 Communication and Synchronization Communication I passing of information from one process (thread) to another I typical methods: shared variables, message passing Synchronization I satisfaction of constraints on the interleaving of actions of processes e.g.
    [Show full text]
  • Tcc Engenharia Eletrica
    UNIVERSIDADE DO SUL DE SANTA CATARINA MAX BACK SISTEMA EMBARCADO COM RTOS: UMA ABORDAGEM PRÁTICA E VOLTADA A PORTABILIDADE Palhoça 2018 MAX BACK SISTEMA EMBARCADO COM RTOS: UMA ABORDAGEM PRÁTICA E VOLTADA A PORTABILIDADE Trabalho de Conclusão de Curso apresentado ao Curso de Graduação em Engenharia Elétrica com ênfase em Telemática da Universidade do Sul de Santa Catarina como requisito parcial à obtenção do título de Engenheiro Eletricista. Orientador: Prof. Djan de Almeida do Rosário, Esp. Eng. Palhoça 2018 Dedico este trabalho а Deus, por ser o verdadeiro princípio e fim de todas as coisas (das que valem a pena). AGRADECIMENTOS Agradeço a minha esposa Gizele e meus filhos, Eric e Thomas, meus pais e a toda minha família que, com muito carinho е apoio, não mediram esforços para que eu chegasse até esta etapa de minha vida. Agradeço aos professores do curso por terem transmitido seu conhecimento a mim e meus colegas com tanto empenho e dedicação. Não existe triunfo sem perda, não há vitória sem sofrimento, não há liberdade sem sacrifício. (O Senhor dos Anéis – J.R.R. Tolkien, 1954) RESUMO A crescente demanda pelo desenvolvimento de solução conectadas entre sistemas já existentes, assim como a ampliação do uso destes sistemas embarcados mostram a importância de soluções robustas, de tempo real, com ciclos de desenvolvimento cada vez mais curtos e necessidade de reaproveitamento de código. Este trabalho apresenta a seleção do sistema operacional de tempo real FreeRTOS e o experimento de sua utilização como base para o desenvolvimento de um controlador wearable (vestível) em duas plataformas de hardware diferentes, implementando a solução inicialmente em uma delas e depois portando para a outra plataforma, desenvolvendo principalmente a programação específica do novo hardware e procurando manter a parte da aplicação inalterada e independente de plataforma.
    [Show full text]
  • Natively Executing Microcontroller Software on Commodity Hardware
    From Library Portability to Para-rehosting: Natively Executing Microcontroller Software on Commodity Hardware yzxkWenqiang Li∗, zLe Guan, {Jingqiang Lin, zJiameng Shi, kFengjun Li yState Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences zDepartment of Computer Science, the University of Georgia, USA xSchool of Cyber Security, University of Chinese Academy of Sciences {School of Cyber Security, University of Science and Technology of China kDepartment of Electrical Engineering and Computer Science, the University of Kansas, USA [email protected], fleguan, [email protected], [email protected], fl[email protected] Abstract—Finding bugs in microcontroller (MCU) firmware there will be more than 35 billion MCU shipments [6]. These is challenging, even for device manufacturers who own the small, resource-constraint devices are enabling ubiquitous con- source code. The MCU runs different instruction sets than x86 nections and have changed virtually every aspect of our lives. and exposes a very different development environment. This However, all of these benefits and conveniences come with invalidates many existing sophisticated software testing tools on broader and acute security concerns. IoT devices are connected x86. To maintain a unified developing and testing environment, into the Internet, which directly exposes them to attackers. a straightforward way is to re-compile the source code into the native executable for a commodity machine (called rehosting). Since these devices process and contain confidential data such However, ad-hoc re-hosting is a daunting and tedious task and as people’s health data, home surveillance video, company subject to many issues (library-dependence, kernel-dependence secrets, etc., once compromised, devastating consequences can and hardware-dependence).
    [Show full text]
  • From Library Portability to Para-Rehosting: Natively Executing Microcontroller Software on Commodity Hardware
    From Library Portability to Para-rehosting: Natively Executing Microcontroller Software on Commodity Hardware yzxkWenqiang Li∗, zLe Guan, {Jingqiang Lin, zJiameng Shi, kFengjun Li yState Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences zDepartment of Computer Science, the University of Georgia, USA xSchool of Cyber Security, University of Chinese Academy of Sciences {School of Cyber Security, University of Science and Technology of China kDepartment of Electrical Engineering and Computer Science, the University of Kansas, USA [email protected], fleguan, [email protected], [email protected], fl[email protected] Abstract—Finding bugs in microcontroller (MCU) firmware there will be more than 35 billion MCU shipments [6]. These is challenging, even for device manufacturers who own the small, resource-constraint devices are enabling ubiquitous con- source code. The MCU runs different instruction sets than x86 nections and have changed virtually every aspect of our lives. and exposes a very different development environment. This However, all of these benefits and conveniences come with invalidates many existing sophisticated software testing tools on broader and acute security concerns. IoT devices are connected x86. To maintain a unified developing and testing environment, into the Internet, which directly exposes them to attackers. a straightforward way is to re-compile the source code into the native executable for a commodity machine (called rehosting). Since these devices process and contain confidential data such However, ad-hoc re-hosting is a daunting and tedious task and as people’s health data, home surveillance video, company subject to many issues (library-dependence, kernel-dependence secrets, etc., once compromised, devastating consequences can and hardware-dependence).
    [Show full text]
  • Real-Time Systems I Typical Architecture of Embedded Real-Time System
    Real-Time Programming & RTOS Concurrent and real-time programming tools 1 Concurrent Programming Concurrency in real-time systems I typical architecture of embedded real-time system: I several input units I computation I output units I data logging/storing I i.e., handling several concurrent activities I concurrency occurs naturally in real-time systems Support for concurrency in programming languages (Java, Ada, ...) advantages: readability, OS independence, checking of interactions by compiler, embedded computer may not have an OS Support by libraries and the operating system (C/C++ with POSIX) advantages: multi-language composition, language’s model of concurrency may be difficult to implement on top of OS, OS API stadards imply portability 2 Processes and Threads Process I running instance of a program, I executes its own virtual machine to avoid interference from other processes, I contains information about program resources and execution state, e.g.: I environment, working directory, ... I program instructions, I registers, heap, stack, I file descriptors, I signal actions, inter-process communication tools (pipes, message boxes, etc.) Thread I exists within a process, uses process resources , I can be scheduled by OS and run as an independent entity, I keeps its own: execution stack, local data, etc. I share global data and resources with other threads of the same process 3 Processes and threads in UNIX 4 Threads: Resource Sharing I changes made by one thread to shared system resources will be seen by all other threads I two pointers
    [Show full text]
  • Semi-Fixed-Priority Scheduling
    Semi-Fixed-Priority Scheduling A Dissertation Presented by Hiroyuki Chishiro Submitted to the School of Science for Open and Environmental Systems in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy at Keio University March 2012 c 2012 Hiroyuki Chishiro All rights reserved i Acknowledgments First of all, I would like to express my sincere gratitude to my advisor Prof. Nobuyuki Yamasaki. He has supported my research since I was a bachelor student. I am thankful to Prof. Hiroki Matsutani for his detailed reading. I am proud of obtaining the first Ph.D. in Yamasaki and Matsutani Laboratory. I would like to give my sincere gratitude to Prof. Fumio Teraoka, Prof. Kenji Kono and Prof. Takahiro Yakoh for serving on the dissertation committee. Though they are busy, they have dedicated their time and effort beyond their duty. I sincerely appreciate the technical support from Dr. Kenji Funaoka and Akira Takeda. Without their support, this dissertation could not have been completed. My special thanks go to Dr. Hidenori Kobayashi for completing this dissertation. I am deeply grateful to Dai Yamanaka who invited me to the IRL track and field club. Thanks to his invitation, I have enjoyed my runner’s life. I would like to thank Toshio Utsunomiya for his friendship and encouragement since I was a high school student. Finally, I would like to express my heartfelt thanks to my parents for encouraging my life. ii Abstract Semi-Fixed-Priority Scheduling Hiroyuki Chishiro Real-time systems have been encountering overloaded conditions in dynamic environments. In order to perform real-time scheduling in such overloaded conditions, an imprecise com- putation model, which improves the quality of result with timing constraints, has been pro- posed.
    [Show full text]
  • Comparativa, Instalación Y Testeo De Un Sistema Operativo De Bajo
    Comparativa, instalación y testeo de un Sistema Operativo de bajo consumo y su aplicación en el Internet de las Cosas Autor: Alberto Flores Quintanilla Tutor: Miguel Ángel Mateo Pla Trabajo Fin de Grado presentado en la Escuela Técnica Superior de Ingenieros de Telecomunicación de la Universitat Politècnica de València, para la obtención del Título de Graduado en Ingeniería de Tecnologías y Servicios de Telecomunicación Curso 2017-18 Valencia, 11 de septiembre de 2018 Escuela Técnica Superior de Ingeniería de Telecomunicación Universitat Politècnica de València Edificio 4D. Camino de Vera, s/n, 46022 Valencia Tel. +34 96 387 71 90, ext. 77190 www.etsit.upv.es Resumen El objetivo de este Trabajo de Fin de Grado (TFG) es realizar un estudio comparativo de diferentes Sistemas Operativos de bajo consumo y su aplicación en el Internet de las Cosas. Para ello, realizamos una búsqueda en internet de las principales soluciones software, las comparamos, seleccionamos una de ellas y analizamos su funcionamiento en un hardware compatible y asequible que permite llevar a cabo una serie de pruebas de rendimiento para determinar su utilidad dentro del ámbito del Internet de las Cosas. Adicionalmente se realiza una aplicación simple que permite darle utilidad práctica a este estudio. Por último, se expone su utilidad comercial como producto de consumo mediante posibles ampliaciones de este proyecto. Palabras clave: IoT, Internet de las Cosas, Electrónica, Sistema Operativo, Open Source, Bajo consumo, Sensor, Mbed, STMicroelectronics. Resum El propòsit d'aquest Treball de Fi de Grau és la realització d'un estudi comparatiu de diferents Sistemes Operatius de baix consum i la seua aplicació en l'Internet de les Coses.
    [Show full text]
  • Systemy Wbudowane Ms Windows, Asd Chorzów 06.11
    Czym wyró żniaj ą si ę systemy wbudowane z rodziny Microsoft Windows (embedded) Embedded System Definition System wbudowany (embedded system) to urz ądzenie składaj ące si ę z warstwy sprz ętowej (hardware) oraz programowej (software) które wykonuje ści śle zdefiniowan ą liczb ę zada ń. Za pierwszy system wbudowany uznaje si ę Apollo Guidance Computer (AGC) zabudowany w roku 1965. + SOFTWARE (program zapisany na pamieci typu HARDWARE Core Rope Memory) (Apollo Guidance Computer) 2 25.11.2019 System wbudowany Pierwszym systemem wbudowanym który trafił do produkcji seryjnej (około 1000 szt.) był mi ędzykontynentalny pocisk balistyczny Minuteman I. + = Serowanie oparte o kontroler D-17 (logika Nap ęd wraz z ładunkiem DRL) termoj ądrowym mocy 1,2 megatony 3 25.11.2019 Embedded Hardware (RISC CPU) WISE-1520 4 25.11.2019 Embedded Hardware (RISC CPU) + + + = 5 25.11.2019 Komputery z CPU x86 do zabudowy SOM/COM (SOM-7567) Format 3.5” (MIO-5373) Format 2.5” Mini-ITX (MIO-2360) (AIMB-275) NOWO ŚĆ BOX PC (ARK-2250R) PC-104+ (PCM-3365) 6 25.11.2019 Komputery z CPU x86 do zabudowy UNO-2271G-E021AE - CPU E3825 MIO-2263E-S3A1E - wlutowane 4 GB RAM - CPU E3825 - dysk 32 GB eMMC lub mSATA - slot na pami ęć RAM do 8 GB - HDMI, 2 x GbLAN, 1 x USB 3.0 - dysk SATA lub mSATA - Wymiary (D x S x W): 124 x 70 x 30 mm - VGA, GbLAN, 2 x COM, 1 x USB 3.0 oraz 3 x USB 2.0 - Cena 1677 zł netto. - Wymiary (D x S x W): 100 x 72 x 34 mm - Cena 1239 zł netto.
    [Show full text]