SlideShare ist ein Scribd-Unternehmen logo
1 von 117
systemd
systemd ,[object Object]
systemd ,[object Object]
systemd ,[object Object]
How?
systemd ,[object Object]
System V init ,[object Object]
System V init ,[object Object]
It reads /etc/inittab to find the default run level (initdefault) [root@tachyon ~]# grep initdefault /etc/inittab id:5:initdefault:
System V init ,[object Object]
It reads /etc/inittab to find the default run level (initdefault)
It then reads the files starting with S in /etc/rc.d/rc${initdefault}.d [root@tachyon ~]# ls -1 /etc/rc.d/rc5.d/S* /etc/rc.d/rc5.d/S02lvm2-monitor /etc/rc.d/rc5.d/S08ip6tables /etc/rc.d/rc5.d/S08iptables /etc/rc.d/rc5.d/S11auditd /etc/rc.d/rc5.d/S11portreserve ...
System V init ,[object Object]
It reads /etc/inittab to find the default run level (initdefault)
It then reads the files starting with S in /etc/rc.d/rc${initdefault}.d
It executes each one in order, one at a time.
systemd ,[object Object]
Do it in parallel?
systemd ,[object Object]
Do it in parallel? ,[object Object]
upstart ,[object Object]
upstart ,[object Object]
upstart ,[object Object]
upstart then resolves these dependencies and starts up as many things as it can in parallel
upstart ,[object Object]
upstart ,[object Object]
upstart then resolves these dependencies and starts up as many things as it can in parallel ,[object Object]
upstart ,[object Object]
upstart then resolves these dependencies and starts up as many things as it can in parallel ,[object Object],[object Object]
upstart ,[object Object]
upstart then resolves these dependencies and starts up as many things as it can in parallel ,[object Object],[object Object]
upstart ,[object Object]
upstart then resolves these dependencies and starts up as many things as it can in parallel ,[object Object],[object Object]
Booting a system ,[object Object]
Booting a system ,[object Object]
Booting a system ,[object Object]
Booting a system ,[object Object]
Booting a system ,[object Object]
Booting a system ,[object Object]
Then we catch the request and start the daemon.
Booting a system ,[object Object]
Then we catch the request and start the daemon. ,[object Object]
Booting a system ,[object Object]
Then we catch the request and start the daemon. ,[object Object],[object Object]
Booting a system ,[object Object]
Then we catch the request and start the daemon. ,[object Object],[object Object]
xinetd ,[object Object]
xinetd ,[object Object]
When a connection is made, start the related daemon
xinetd ,[object Object]
When a connection is made, start the related daemon ,[object Object]
xinetd ,[object Object]
When a connection is made, start the related daemon ,[object Object]
Hand socket to daemon  – 'wait' option
Sockets in startup ,[object Object]
Sockets in startup ,[object Object]
Sockets in startup ,[object Object]
/var/run/dbus/system_bus_socket
Sockets in startup ,[object Object]
/var/run/dbus/system_bus_socket
/var/run/rpcbind.sock
Sockets in startup ,[object Object]
/var/run/dbus/system_bus_socket
/var/run/rpcbind.sock
/dev/log
systemd - sockets ,[object Object]
systemd - sockets ,[object Object]
Set them  all up in parallel
systemd - sockets ,[object Object]
Set them  all up in parallel
When the socket is opened, start up its related daemon
systemd - sockets ,[object Object]
Set them  all up in parallel
When the socket is opened, start up its related daemon and hand the socket to it
systemd - sockets ,[object Object]
Set them  all up in parallel
When the socket is opened, start up its related daemon and hand the socket to it ,[object Object]
systemd - sockets ,[object Object]
Set them  all up in parallel
When the socket is opened, start up its related daemon and hand the socket to it ,[object Object]
Only for that request
systemd - sockets ,[object Object]
Set them  all up in parallel
When the socket is opened, start up its related daemon and hand the socket to it
Same logic for D-Bus
systemd - sockets ,[object Object]
Set them  all up in parallel
When the socket is opened, start up its related daemon and hand the socket to it
Same logic for D-Bus
Same logic for filesystems
systemd - sockets ,[object Object]
Set them  all up in parallel
When the socket is opened, start up its related daemon and hand the socket to it
Same logic for D-Bus
Same logic for filesystems ,[object Object]
systemd – and others... ,[object Object]
systemd – and others... ,[object Object]
systemd – and others... ,[object Object]
xinetd!
systemd ,[object Object]
systemd ,[object Object]
systemd ,[object Object]
Start  fewer  processes
systemd – results so far ,[object Object]
systemd – results so far ,[object Object]
systemd – results so far ,[object Object]
Lennart's system: ,[object Object],[object Object],[object Object]
systemd – results so far ,[object Object]
Lennart's system: ,[object Object]
awk: 92 times ,[object Object],[object Object]
systemd – results so far ,[object Object]
Lennart's system: ,[object Object]
awk: 92 times
sed: 74 times ,[object Object],[object Object]
systemd – managing processes ,[object Object]
systemd – managing processes ,[object Object]
Then they go off and do what they like

Weitere ähnliche Inhalte

Was ist angesagt?

Summit demystifying systemd1
Summit demystifying systemd1Summit demystifying systemd1
Summit demystifying systemd1
Susant Sahani
 
Systemd evolution revolution_regression
Systemd evolution revolution_regressionSystemd evolution revolution_regression
Systemd evolution revolution_regression
Susant Sahani
 
Linux Process & CF scheduling
Linux Process & CF schedulingLinux Process & CF scheduling
Linux Process & CF scheduling
SangJung Woo
 

Was ist angesagt? (20)

Pdf c1t tlawaxb
Pdf c1t tlawaxbPdf c1t tlawaxb
Pdf c1t tlawaxb
 
Systemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveSystemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to love
 
Systemd cheatsheet
Systemd cheatsheetSystemd cheatsheet
Systemd cheatsheet
 
Systemd poettering
Systemd poetteringSystemd poettering
Systemd poettering
 
Containers with systemd-nspawn
Containers with systemd-nspawnContainers with systemd-nspawn
Containers with systemd-nspawn
 
Effective service and resource management with systemd
Effective service and resource management with systemdEffective service and resource management with systemd
Effective service and resource management with systemd
 
Basic of Systemd
Basic of SystemdBasic of Systemd
Basic of Systemd
 
First steps on CentOs7
First steps on CentOs7First steps on CentOs7
First steps on CentOs7
 
Summit demystifying systemd1
Summit demystifying systemd1Summit demystifying systemd1
Summit demystifying systemd1
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embedded
 
IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleIRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the Preemptible
 
Systemd evolution revolution_regression
Systemd evolution revolution_regressionSystemd evolution revolution_regression
Systemd evolution revolution_regression
 
Kernel Recipes 2015 - Porting Linux to a new processor architecture
Kernel Recipes 2015 - Porting Linux to a new processor architectureKernel Recipes 2015 - Porting Linux to a new processor architecture
Kernel Recipes 2015 - Porting Linux to a new processor architecture
 
Kernel Recipes 2015 - Kernel dump analysis
Kernel Recipes 2015 - Kernel dump analysisKernel Recipes 2015 - Kernel dump analysis
Kernel Recipes 2015 - Kernel dump analysis
 
Kernel Recipes 2015 - Hardened kernels for everyone
Kernel Recipes 2015 - Hardened kernels for everyoneKernel Recipes 2015 - Hardened kernels for everyone
Kernel Recipes 2015 - Hardened kernels for everyone
 
Namespaces and cgroups - the basis of Linux containers
Namespaces and cgroups - the basis of Linux containersNamespaces and cgroups - the basis of Linux containers
Namespaces and cgroups - the basis of Linux containers
 
Linux Process & CF scheduling
Linux Process & CF schedulingLinux Process & CF scheduling
Linux Process & CF scheduling
 
Kdump and the kernel crash dump analysis
Kdump and the kernel crash dump analysisKdump and the kernel crash dump analysis
Kdump and the kernel crash dump analysis
 
Linux Containers From Scratch
Linux Containers From ScratchLinux Containers From Scratch
Linux Containers From Scratch
 
Linux Containers From Scratch: Makfile MicroVPS
Linux Containers From Scratch: Makfile MicroVPSLinux Containers From Scratch: Makfile MicroVPS
Linux Containers From Scratch: Makfile MicroVPS
 

Andere mochten auch

Linux architecture
Linux architectureLinux architecture
Linux architecture
mcganesh
 

Andere mochten auch (15)

Networking chapter VI
Networking chapter VINetworking chapter VI
Networking chapter VI
 
Getting the maximum out of systemd
Getting the maximum out of systemdGetting the maximum out of systemd
Getting the maximum out of systemd
 
Linux Presentation
Linux PresentationLinux Presentation
Linux Presentation
 
systemd and configuration management
systemd and configuration managementsystemd and configuration management
systemd and configuration management
 
Slug 2009 06 SELinux For Sysadmins
Slug 2009 06 SELinux For SysadminsSlug 2009 06 SELinux For Sysadmins
Slug 2009 06 SELinux For Sysadmins
 
SELinux for Everyday Users
SELinux for Everyday UsersSELinux for Everyday Users
SELinux for Everyday Users
 
Epoll - from the kernel side
Epoll -  from the kernel sideEpoll -  from the kernel side
Epoll - from the kernel side
 
linux software architecture
linux software architecture linux software architecture
linux software architecture
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
 
Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)
 
RedHat Linux
RedHat LinuxRedHat Linux
RedHat Linux
 
[오픈소스컨설팅]systemd on RHEL7
[오픈소스컨설팅]systemd on RHEL7[오픈소스컨설팅]systemd on RHEL7
[오픈소스컨설팅]systemd on RHEL7
 
Red Hat Enterprise Linux 7
Red Hat Enterprise Linux 7Red Hat Enterprise Linux 7
Red Hat Enterprise Linux 7
 
Introduction to Red Hat
Introduction to Red HatIntroduction to Red Hat
Introduction to Red Hat
 
Rhel6 vs rhel7
Rhel6 vs rhel7Rhel6 vs rhel7
Rhel6 vs rhel7
 

Ähnlich wie CLUG 2010 09 - systemd - the new init system

Ähnlich wie CLUG 2010 09 - systemd - the new init system (20)

Interview questions
Interview questionsInterview questions
Interview questions
 
Systemd
SystemdSystemd
Systemd
 
DevOps Naughties Style - How We DevOps at MP3.com in the Early 2000's
DevOps Naughties Style - How We  DevOps at MP3.com in the Early 2000'sDevOps Naughties Style - How We  DevOps at MP3.com in the Early 2000's
DevOps Naughties Style - How We DevOps at MP3.com in the Early 2000's
 
Linux
LinuxLinux
Linux
 
Systemd 간략하게 정리하기
Systemd 간략하게 정리하기Systemd 간략하게 정리하기
Systemd 간략하게 정리하기
 
Android internals By Rajesh Khetan
Android internals By Rajesh KhetanAndroid internals By Rajesh Khetan
Android internals By Rajesh Khetan
 
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
 
Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...
Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...
Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...
 
Unix Administration 2
Unix Administration 2Unix Administration 2
Unix Administration 2
 
Linux Du Jour
Linux Du JourLinux Du Jour
Linux Du Jour
 
Introducing Ansible
Introducing AnsibleIntroducing Ansible
Introducing Ansible
 
Building Hermetic Systems (without Docker)
Building Hermetic Systems (without Docker)Building Hermetic Systems (without Docker)
Building Hermetic Systems (without Docker)
 
Monitoring MySQL with DTrace/SystemTap
Monitoring MySQL with DTrace/SystemTapMonitoring MySQL with DTrace/SystemTap
Monitoring MySQL with DTrace/SystemTap
 
Spraykatz installation & basic usage
Spraykatz installation & basic usageSpraykatz installation & basic usage
Spraykatz installation & basic usage
 
Linux Troubleshooting
Linux TroubleshootingLinux Troubleshooting
Linux Troubleshooting
 
Linux startup
Linux startupLinux startup
Linux startup
 
Continuous Integration Testing in Django
Continuous Integration Testing in DjangoContinuous Integration Testing in Django
Continuous Integration Testing in Django
 
grate techniques
grate techniquesgrate techniques
grate techniques
 
Sun raysetup
Sun raysetupSun raysetup
Sun raysetup
 
Install VMWare Tools CentOS 7
Install VMWare Tools CentOS 7Install VMWare Tools CentOS 7
Install VMWare Tools CentOS 7
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

CLUG 2010 09 - systemd - the new init system