SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Process Control Daemon For Embedded Linux Platforms Hai Shalom July 2010 (v.11)
Licensing ,[object Object],[object Object],[object Object],[object Object],[object Object]
Licensing ,[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object]
What is PCD? ,[object Object],[object Object],[object Object]
Why do we need PCD? What is missing in our system?
In a system without PCD: ,[object Object],[object Object],[object Object],[object Object],[object Object]
In a system without PCD: ,[object Object],[object Object],[object Object],[object Object]
In a system without PCD: ,[object Object],[object Object],[object Object],[object Object]
How can PCD contribute? What are the advantages of products with PCD?
Enhanced system startup ,[object Object],[object Object],Process 1 Process 2 Process 3 Rule 1 Rule 2 Rule 3
Enhanced system startup ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Enhanced system startup ,[object Object],[object Object],[object Object],Rule Completed Resource Created Start Immediately PCD Logic External Events Start Rule Rule
Enhanced system startup ,[object Object],[object Object],[object Object],[object Object],[object Object],Rule Completed Resource Created Exit Status PCD Logic External Events Rule Events Start Next Rule Rule
Dependency graph generation ,[object Object],[object Object],[object Object]
Dependency graph generation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Reduced boot up time ,[object Object],[object Object],[object Object],[object Object],[object Object]
Enhanced stability and robustness ,[object Object],[object Object],[object Object],[object Object],[object Object],Crash Restart Reboot Recover Rule
Enhanced stability and robustness ,[object Object],[object Object]
Enhanced field debugging capabilities ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Rule Crash Detailed  Exception Information
Enhanced field debugging capabilities ,[object Object],Rule Crash Log in  NVRAM
PCD Exception handler in action (ARM) pcd: Starting process /usr/sbin/segv (Rule TEST_SIGSEGV). pcd: Rule TEST_SIGSEGV: Success (Process /usr/sbin/segv (204)). ************************************************************************** **************************** Exception Caught **************************** ************************************************************************** Signal information: Time: Thu Jan  1 00:00:12 1970 Process name: /usr/sbin/segv PID: 204 Fault Address: 0x00008590 Signal: Segmentation fault Signal Code: Invalid permissions for mapped object Last error: Success (0) Last error (by signal): 0 ARM registers: trap_no=0x0000000e error_code=0x0000081f oldmask=0x00000000 r0=0x00008590 r1=0x0ecf4ba4 r2=0x00000000 r3=0x00000052 r4=0x00010690 r5=0x00000000 r6=0x0000846c
PCD Exception handler in action (ARM) r7=0x00008418 r8=0x00000000 r9=0x00000000 r10=0x00000000 fp=0x00000000 ip=0x00000000 sp=0x0ecf4cf0 lr=0x0000856c pc=0x00008548 cpsr=0x40000010 fault_address=0x00008590 Maps file: 00008000-00009000 r-xp 00000000 1f:07 59  /usr/sbin/segv 00010000-00011000 rw-p 00000000 1f:07 59  /usr/sbin/segv 04000000-04005000 r-xp 00000000 1f:06 231  /lib/ld-uClibc-0.9.29.so 04005000-04007000 rw-p 04005000 00:00 0 0400c000-0400d000 r--p 00004000 1f:06 231  /lib/ld-uClibc-0.9.29.so 0400d000-0400e000 rw-p 00005000 1f:06 231  /lib/ld-uClibc-0.9.29.so 0400e000-04023000 r-xp 00000000 1f:06 175  /lib/libticc.so 04023000-0402a000 ---p 04023000 00:00 0 0402a000-0402c000 rw-p 00014000 1f:06 175  /lib/libticc.so 0402c000-04067000 r-xp 00000000 1f:06 200  /lib/libuClibc-0.9.29.so 04067000-0406e000 ---p 04067000 00:00 0 0406e000-0406f000 r--p 0003a000 1f:06 200  /lib/libuClibc-0.9.29.so 0406f000-04070000 rw-p 0003b000 1f:06 200  /lib/libuClibc-0.9.29.so 0ece0000-0ecf5000 rwxp 0ece0000 00:00 0  [stack] **************************************************************************
Standard API for PCD services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
PCD High level technical info PCD high level modules, script syntax checking, header generation, graph generation.
PCD Software modules ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
PCD functional blocks * Refer to PCD Design document for more details. PARSER MAIN RULES DB Textual configuration file with rules Activate Rules Parse Rules File Add Rule Rule Info Activate / Stop TIMER FAILURE ACTION PROCESS COND CHECK Activate failure action Activate Rule Tick Check Condition OK / NOK Enqueue Process Enqueue Rule Iterate OK/Fail OK/Fail Process Spawn / Signal / Monitor Stopped / Signaled / Exited PCD API IPC Check Messages Enqueue / Dequeue Rule Application EXCEPT Crashed Activate failure action
PCD Configuration file ,[object Object],[object Object],[object Object],[object Object]
PCD Configuration file Rule Rule Rule Process Process Process Associated Associated Associated Rules Database Depends Depends Process Control Module Started, Stopped, Monitored Started, Stopped, Monitored Started, Stopped, Monitored PCD Script Rule Rule Rule … Rule Parser Module Read Add Rule
PCD Rule block - Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuration file syntax checking ,[object Object],[object Object],[object Object]
PCD header generation ,[object Object],[object Object]
PCD header generation example /**************************************************************************/ /*  FILE:  system_pcd.h /*  PURPOSE: PCD definitions file (auto generated). /**************************************************************************/ #ifndef _SYSTEM_PCD_H_ #define _SYSTEM_PCD_H_ #include "pcdapi.h" /*! ef PCD_GROUP_NAME_SYSTEM *  rief Define group ID string for SYSTEM */ #define PCD_GROUP_NAME_SYSTEM  "SYSTEM" #define PCD_RULE_SYSTEM_APPRUN  "APPRUN" #define PCD_RULE_SYSTEM_GBETH  “GBETH" #define PCD_RULE_SYSTEM_INITONCE  "INITONCE" #define PCD_RULE_SYSTEM_LED  "LED" #define PCD_RULE_SYSTEM_LASTRULE  "LASTRULE" /*! ef SYSTEM_DECLARE_PCD_RULEID() *  rief Define a ruleId easily when calling PCD API */ #define DECLARE_PCD_SYSTEM_RULEID( ruleId, RULE_NAME ) PCD_DECLARE_RULEID( ruleId, PCD_GROUP_NAME_SYSTEM, RULE_NAME ) #endif
Dependency graph generation ,[object Object],[object Object],[object Object],[object Object],[object Object]
PCD Exception handler ,[object Object],[object Object],[object Object],[object Object],[object Object]
PCD Exception handler Crash Rule PCD Logic PCD API Signal Prepare and send exception info Detailed  Exception Information Log in  NVRAM
PCD memory requirements RAM/Flash footprint
Memory requirements ,[object Object],[object Object],[object Object],[object Object]
PCD Resources ,[object Object],[object Object],[object Object]
Thank you! Written by Hai Shalom:  mailto:hai@rt-embedded.com

Weitere ähnliche Inhalte

Was ist angesagt?

Uvm dcon2013
Uvm dcon2013Uvm dcon2013
Uvm dcon2013
sean chen
 

Was ist angesagt? (20)

USB protocol
USB protocolUSB protocol
USB protocol
 
Risc and cisc eugene clewlow
Risc and cisc   eugene clewlowRisc and cisc   eugene clewlow
Risc and cisc eugene clewlow
 
Introduction to ARM Architecture
Introduction to ARM ArchitectureIntroduction to ARM Architecture
Introduction to ARM Architecture
 
presentation on SCB,DEBUG,RESET of Arm Cortex processor
presentation on SCB,DEBUG,RESET of Arm Cortex processorpresentation on SCB,DEBUG,RESET of Arm Cortex processor
presentation on SCB,DEBUG,RESET of Arm Cortex processor
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal Bootloader
 
Rodzaje materiałów i urządzeń do budowy sieci komputerowej
Rodzaje materiałów i urządzeń do budowy sieci komputerowejRodzaje materiałów i urządzeń do budowy sieci komputerowej
Rodzaje materiałów i urządzeń do budowy sieci komputerowej
 
Basics of boot-loader
Basics of boot-loaderBasics of boot-loader
Basics of boot-loader
 
What is security testing and why it is so important?
What is security testing and why it is so important?What is security testing and why it is so important?
What is security testing and why it is so important?
 
Uvm dcon2013
Uvm dcon2013Uvm dcon2013
Uvm dcon2013
 
Buffer Overflow Attacks
Buffer Overflow AttacksBuffer Overflow Attacks
Buffer Overflow Attacks
 
4G key performance indicators for planning and optimization
4G key performance indicators for planning and optimization4G key performance indicators for planning and optimization
4G key performance indicators for planning and optimization
 
Linux PCI device driver
Linux PCI device driverLinux PCI device driver
Linux PCI device driver
 
Slideshare - PCIe
Slideshare - PCIeSlideshare - PCIe
Slideshare - PCIe
 
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hoodEmbedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
 
Unit I Testing
Unit I TestingUnit I Testing
Unit I Testing
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
Automation & Programmability.pptx
Automation & Programmability.pptxAutomation & Programmability.pptx
Automation & Programmability.pptx
 
The ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM ArchitectureThe ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM Architecture
 
PCI express
PCI expressPCI express
PCI express
 
Linux Kernel Module - For NLKB
Linux Kernel Module - For NLKBLinux Kernel Module - For NLKB
Linux Kernel Module - For NLKB
 

Andere mochten auch

Crash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_TizenCrash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_Tizen
Lex Yu
 
Process control daemon
Process control daemonProcess control daemon
Process control daemon
haish
 
Александр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in AndroidАлександр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in Android
UA Mobile
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linux
Kyle Hailey
 

Andere mochten auch (20)

PCD - Process control daemon
PCD - Process control daemonPCD - Process control daemon
PCD - Process control daemon
 
Crash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_TizenCrash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_Tizen
 
Devel::NYTProf v5 at YAPC::NA 201406
Devel::NYTProf v5 at YAPC::NA 201406Devel::NYTProf v5 at YAPC::NA 201406
Devel::NYTProf v5 at YAPC::NA 201406
 
Android Memory , Where is all My RAM
Android Memory , Where is all My RAM Android Memory , Where is all My RAM
Android Memory , Where is all My RAM
 
Perl Memory Use 201209
Perl Memory Use 201209Perl Memory Use 201209
Perl Memory Use 201209
 
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
 
Poster_Jan
Poster_JanPoster_Jan
Poster_Jan
 
Process control daemon
Process control daemonProcess control daemon
Process control daemon
 
Workshop - Linux Memory Analysis with Volatility
Workshop - Linux Memory Analysis with VolatilityWorkshop - Linux Memory Analysis with Volatility
Workshop - Linux Memory Analysis with Volatility
 
Александр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in AndroidАлександр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in Android
 
Perl Memory Use - LPW2013
Perl Memory Use - LPW2013Perl Memory Use - LPW2013
Perl Memory Use - LPW2013
 
Khóa học phay 2D Mastercam
Khóa học phay 2D MastercamKhóa học phay 2D Mastercam
Khóa học phay 2D Mastercam
 
Memory in Android
Memory in AndroidMemory in Android
Memory in Android
 
Linux memory-management-kamal
Linux memory-management-kamalLinux memory-management-kamal
Linux memory-management-kamal
 
Linux memory consumption
Linux memory consumptionLinux memory consumption
Linux memory consumption
 
Memory management in linux
Memory management in linuxMemory management in linux
Memory management in linux
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linux
 
Tuning Android for low RAM
Tuning Android for low RAMTuning Android for low RAM
Tuning Android for low RAM
 
Đào tạo gia công khuôn, phay 3D Mastercam)
Đào tạo gia công khuôn, phay 3D Mastercam)Đào tạo gia công khuôn, phay 3D Mastercam)
Đào tạo gia công khuôn, phay 3D Mastercam)
 
Как Linux работает с памятью — Вячеслав Бирюков
Как Linux работает с памятью — Вячеслав БирюковКак Linux работает с памятью — Вячеслав Бирюков
Как Linux работает с памятью — Вячеслав Бирюков
 

Ähnlich wie PCD - Process control daemon - Presentation

Lab Deliverable for Lab nYour NameDateTitle Creating, Using, Remo.docx
Lab Deliverable for Lab nYour NameDateTitle Creating, Using, Remo.docxLab Deliverable for Lab nYour NameDateTitle Creating, Using, Remo.docx
Lab Deliverable for Lab nYour NameDateTitle Creating, Using, Remo.docx
DIPESH30
 
Operating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - EngineeringOperating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - Engineering
Yogesh Santhan
 

Ähnlich wie PCD - Process control daemon - Presentation (20)

Windows logging cheat sheet
Windows logging cheat sheetWindows logging cheat sheet
Windows logging cheat sheet
 
Operating system
Operating systemOperating system
Operating system
 
Automated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in ActionAutomated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in Action
 
Ch24 system administration
Ch24 system administration Ch24 system administration
Ch24 system administration
 
Ch24
Ch24Ch24
Ch24
 
Application Logging Good Bad Ugly ... Beautiful?
Application Logging Good Bad Ugly ... Beautiful?Application Logging Good Bad Ugly ... Beautiful?
Application Logging Good Bad Ugly ... Beautiful?
 
Cs8493 unit 2
Cs8493 unit 2Cs8493 unit 2
Cs8493 unit 2
 
systemd
systemdsystemd
systemd
 
Windows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeology
Windows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeologyWindows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeology
Windows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeology
 
Autosar Basics hand book_v1
Autosar Basics  hand book_v1Autosar Basics  hand book_v1
Autosar Basics hand book_v1
 
Lab Deliverable for Lab nYour NameDateTitle Creating, Using, Remo.docx
Lab Deliverable for Lab nYour NameDateTitle Creating, Using, Remo.docxLab Deliverable for Lab nYour NameDateTitle Creating, Using, Remo.docx
Lab Deliverable for Lab nYour NameDateTitle Creating, Using, Remo.docx
 
Successful Software Projects - What you need to consider
Successful Software Projects - What you need to considerSuccessful Software Projects - What you need to consider
Successful Software Projects - What you need to consider
 
20 Windows Tools Every SysAdmin Should Know
20 Windows Tools Every SysAdmin Should Know20 Windows Tools Every SysAdmin Should Know
20 Windows Tools Every SysAdmin Should Know
 
LM9 - OPERATIONS, SCHEDULING, Inter process xommuncation
LM9 - OPERATIONS, SCHEDULING, Inter process xommuncationLM9 - OPERATIONS, SCHEDULING, Inter process xommuncation
LM9 - OPERATIONS, SCHEDULING, Inter process xommuncation
 
Windows splunk logging cheat sheet Oct 2016 - MalwareArchaeology.com
Windows splunk logging cheat sheet Oct 2016 - MalwareArchaeology.comWindows splunk logging cheat sheet Oct 2016 - MalwareArchaeology.com
Windows splunk logging cheat sheet Oct 2016 - MalwareArchaeology.com
 
Chapter 3.pdf
Chapter 3.pdfChapter 3.pdf
Chapter 3.pdf
 
Operating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - EngineeringOperating Systems Unit Two - Fourth Semester - Engineering
Operating Systems Unit Two - Fourth Semester - Engineering
 
Platform Independent Functional Specifications
Platform Independent Functional SpecificationsPlatform Independent Functional Specifications
Platform Independent Functional Specifications
 
Ch03- PROCESSES.ppt
Ch03- PROCESSES.pptCh03- PROCESSES.ppt
Ch03- PROCESSES.ppt
 
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

PCD - Process control daemon - Presentation

  • 1. Process Control Daemon For Embedded Linux Platforms Hai Shalom July 2010 (v.11)
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Why do we need PCD? What is missing in our system?
  • 7.
  • 8.
  • 9.
  • 10. How can PCD contribute? What are the advantages of products with PCD?
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. PCD Exception handler in action (ARM) pcd: Starting process /usr/sbin/segv (Rule TEST_SIGSEGV). pcd: Rule TEST_SIGSEGV: Success (Process /usr/sbin/segv (204)). ************************************************************************** **************************** Exception Caught **************************** ************************************************************************** Signal information: Time: Thu Jan 1 00:00:12 1970 Process name: /usr/sbin/segv PID: 204 Fault Address: 0x00008590 Signal: Segmentation fault Signal Code: Invalid permissions for mapped object Last error: Success (0) Last error (by signal): 0 ARM registers: trap_no=0x0000000e error_code=0x0000081f oldmask=0x00000000 r0=0x00008590 r1=0x0ecf4ba4 r2=0x00000000 r3=0x00000052 r4=0x00010690 r5=0x00000000 r6=0x0000846c
  • 23. PCD Exception handler in action (ARM) r7=0x00008418 r8=0x00000000 r9=0x00000000 r10=0x00000000 fp=0x00000000 ip=0x00000000 sp=0x0ecf4cf0 lr=0x0000856c pc=0x00008548 cpsr=0x40000010 fault_address=0x00008590 Maps file: 00008000-00009000 r-xp 00000000 1f:07 59 /usr/sbin/segv 00010000-00011000 rw-p 00000000 1f:07 59 /usr/sbin/segv 04000000-04005000 r-xp 00000000 1f:06 231 /lib/ld-uClibc-0.9.29.so 04005000-04007000 rw-p 04005000 00:00 0 0400c000-0400d000 r--p 00004000 1f:06 231 /lib/ld-uClibc-0.9.29.so 0400d000-0400e000 rw-p 00005000 1f:06 231 /lib/ld-uClibc-0.9.29.so 0400e000-04023000 r-xp 00000000 1f:06 175 /lib/libticc.so 04023000-0402a000 ---p 04023000 00:00 0 0402a000-0402c000 rw-p 00014000 1f:06 175 /lib/libticc.so 0402c000-04067000 r-xp 00000000 1f:06 200 /lib/libuClibc-0.9.29.so 04067000-0406e000 ---p 04067000 00:00 0 0406e000-0406f000 r--p 0003a000 1f:06 200 /lib/libuClibc-0.9.29.so 0406f000-04070000 rw-p 0003b000 1f:06 200 /lib/libuClibc-0.9.29.so 0ece0000-0ecf5000 rwxp 0ece0000 00:00 0 [stack] **************************************************************************
  • 24.
  • 25. PCD High level technical info PCD high level modules, script syntax checking, header generation, graph generation.
  • 26.
  • 27. PCD functional blocks * Refer to PCD Design document for more details. PARSER MAIN RULES DB Textual configuration file with rules Activate Rules Parse Rules File Add Rule Rule Info Activate / Stop TIMER FAILURE ACTION PROCESS COND CHECK Activate failure action Activate Rule Tick Check Condition OK / NOK Enqueue Process Enqueue Rule Iterate OK/Fail OK/Fail Process Spawn / Signal / Monitor Stopped / Signaled / Exited PCD API IPC Check Messages Enqueue / Dequeue Rule Application EXCEPT Crashed Activate failure action
  • 28.
  • 29. PCD Configuration file Rule Rule Rule Process Process Process Associated Associated Associated Rules Database Depends Depends Process Control Module Started, Stopped, Monitored Started, Stopped, Monitored Started, Stopped, Monitored PCD Script Rule Rule Rule … Rule Parser Module Read Add Rule
  • 30.
  • 31.
  • 32.
  • 33. PCD header generation example /**************************************************************************/ /* FILE: system_pcd.h /* PURPOSE: PCD definitions file (auto generated). /**************************************************************************/ #ifndef _SYSTEM_PCD_H_ #define _SYSTEM_PCD_H_ #include "pcdapi.h" /*! ef PCD_GROUP_NAME_SYSTEM * rief Define group ID string for SYSTEM */ #define PCD_GROUP_NAME_SYSTEM "SYSTEM" #define PCD_RULE_SYSTEM_APPRUN "APPRUN" #define PCD_RULE_SYSTEM_GBETH “GBETH" #define PCD_RULE_SYSTEM_INITONCE "INITONCE" #define PCD_RULE_SYSTEM_LED "LED" #define PCD_RULE_SYSTEM_LASTRULE "LASTRULE" /*! ef SYSTEM_DECLARE_PCD_RULEID() * rief Define a ruleId easily when calling PCD API */ #define DECLARE_PCD_SYSTEM_RULEID( ruleId, RULE_NAME ) PCD_DECLARE_RULEID( ruleId, PCD_GROUP_NAME_SYSTEM, RULE_NAME ) #endif
  • 34.
  • 35.
  • 36. PCD Exception handler Crash Rule PCD Logic PCD API Signal Prepare and send exception info Detailed Exception Information Log in NVRAM
  • 37. PCD memory requirements RAM/Flash footprint
  • 38.
  • 39.
  • 40. Thank you! Written by Hai Shalom: mailto:hai@rt-embedded.com