Submit Search
Upload
Hello world 的一生
•
11 likes
•
6,486 views
Wen Liao
Follow
從 User mode和 kernel mode討論一個Hello world執行檔從產生到執行發生的事情
Read less
Read more
Technology
Report
Share
Report
Share
1 of 42
Download now
Download to read offline
Recommended
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
Memory Mapping Implementation (mmap) in Linux Kernel
Memory Mapping Implementation (mmap) in Linux Kernel
Adrian Huang
GNU Toolchain is the de facto standard of IT industrial and has been improved by comprehensive open source contributions. In this session, it is expected to cover the mechanism of compiler driver, system interaction (take GNU/Linux for example), linker, C runtime library, and the related dynamic linker. Instead of analyzing the system design, the session is use case driven and illustrated progressively.
from Source to Binary: How GNU Toolchain Works
from Source to Binary: How GNU Toolchain Works
National Cheng Kung University
Overview of the installation procedure Chapter 2: Installing Data Protector This chapter contains detailed instructions about: Installing the Data Protector Cell Manager and Installation Servers Installing the Data Protector Single Server Edition Installing the Data Protector web reporting Chapter 3: Installing Data Protector clients Chapter 4: Installing the Data Protector integration clients Chapter 5: Installing Data Protector on Clusters Chapter 6: Maintaining the installation Chapter 7: Upgrading the Data Protector Chapter 8: Data Protector Licensing Chapter 9: Troubleshooting installation and upgrade
Hpe Data Protector installation guide
Hpe Data Protector installation guide
Andrey Karpov
This article is for engineers who are learning Linux
Linux booting process
Linux booting process
Prashant Hegde
When helping NGINX users, we see the same configuration mistakes over and over again. Occasionally, these configurations are even written by fellow NGINX engineers! Some misconfigurations are worse than others. Minor mistakes might just hurt NGINX performance a bit, but others can introduce serious security vulnerabilities. Not only can those mistakes result in data loss, they have the potential to snowball into countless other negative side effects: data breaches, loss of reputation, and ex‑customers. In this webinar, we explore five of the most prevalent NGINX misconfigurations. Learn how to detect them and – most importantly – how to avoid and correct them.
How to Avoid the Top 5 NGINX Configuration Mistakes
How to Avoid the Top 5 NGINX Configuration Mistakes
NGINX, Inc.
Every modern multimedia-oriented ARM SoC usually has a number of display controllers, to drive a screen or an LCD panel, and a GPU, to provide 3D acceleration. The Linux kernel framework of choice to support these controllers is the DRM subsystem. This talk will walk through the DRM stack, the architecture of a DRM/KMS driver and the interaction between the display and GPU drivers. The presentation is based on the work we have done to develop a DRM driver for the Allwinner SoCs display controller with multiple outputs, such as parallel display interfaces, HDMI or MIPI-DSI. The work done to make the ARM Mali OpenGL driver work on top of a mainline DRM/KMS driver will also be detailed, as well as the more traditional, Mesa-based, solution used in a variety of other platforms. Maxime Ripard, Free Electrons
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Anne Nicolas
Vim Rocks! About useful .vimrc settings and vim scripts/plugins share.
Vim Rocks!
Vim Rocks!
Kent Chen
Information about basic linux booting stapes
Linux Booting Steps
Linux Booting Steps
Anando Kumar Paul
Recommended
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
Memory Mapping Implementation (mmap) in Linux Kernel
Memory Mapping Implementation (mmap) in Linux Kernel
Adrian Huang
GNU Toolchain is the de facto standard of IT industrial and has been improved by comprehensive open source contributions. In this session, it is expected to cover the mechanism of compiler driver, system interaction (take GNU/Linux for example), linker, C runtime library, and the related dynamic linker. Instead of analyzing the system design, the session is use case driven and illustrated progressively.
from Source to Binary: How GNU Toolchain Works
from Source to Binary: How GNU Toolchain Works
National Cheng Kung University
Overview of the installation procedure Chapter 2: Installing Data Protector This chapter contains detailed instructions about: Installing the Data Protector Cell Manager and Installation Servers Installing the Data Protector Single Server Edition Installing the Data Protector web reporting Chapter 3: Installing Data Protector clients Chapter 4: Installing the Data Protector integration clients Chapter 5: Installing Data Protector on Clusters Chapter 6: Maintaining the installation Chapter 7: Upgrading the Data Protector Chapter 8: Data Protector Licensing Chapter 9: Troubleshooting installation and upgrade
Hpe Data Protector installation guide
Hpe Data Protector installation guide
Andrey Karpov
This article is for engineers who are learning Linux
Linux booting process
Linux booting process
Prashant Hegde
When helping NGINX users, we see the same configuration mistakes over and over again. Occasionally, these configurations are even written by fellow NGINX engineers! Some misconfigurations are worse than others. Minor mistakes might just hurt NGINX performance a bit, but others can introduce serious security vulnerabilities. Not only can those mistakes result in data loss, they have the potential to snowball into countless other negative side effects: data breaches, loss of reputation, and ex‑customers. In this webinar, we explore five of the most prevalent NGINX misconfigurations. Learn how to detect them and – most importantly – how to avoid and correct them.
How to Avoid the Top 5 NGINX Configuration Mistakes
How to Avoid the Top 5 NGINX Configuration Mistakes
NGINX, Inc.
Every modern multimedia-oriented ARM SoC usually has a number of display controllers, to drive a screen or an LCD panel, and a GPU, to provide 3D acceleration. The Linux kernel framework of choice to support these controllers is the DRM subsystem. This talk will walk through the DRM stack, the architecture of a DRM/KMS driver and the interaction between the display and GPU drivers. The presentation is based on the work we have done to develop a DRM driver for the Allwinner SoCs display controller with multiple outputs, such as parallel display interfaces, HDMI or MIPI-DSI. The work done to make the ARM Mali OpenGL driver work on top of a mainline DRM/KMS driver will also be detailed, as well as the more traditional, Mesa-based, solution used in a variety of other platforms. Maxime Ripard, Free Electrons
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Anne Nicolas
Vim Rocks! About useful .vimrc settings and vim scripts/plugins share.
Vim Rocks!
Vim Rocks!
Kent Chen
Information about basic linux booting stapes
Linux Booting Steps
Linux Booting Steps
Anando Kumar Paul
Session ID: HKG18-217 Session Name: HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium Speaker: Sivasubramanian Patchaiperumal Track: Digital Home ★ Session Summary ★ This session will provide an overview of Linaro OpenCDM/CDMi work with WPE, Chromium browsers and multiDRM solution with OPTEE decryption on HiKey OpenEmbedded build. The main focus will be about the addition of WPE browser support to existing Linaro CDM/CDMi and it's validation with different DRMs like ClearKey, PlayReady and Widevine on RDK Client image (Morty OE build) with Westeros Wayland Compositor. --------------------------------------------------- ★ Resources ★ Event Page: http://connect.linaro.org/resource/hkg18/hkg18-217/ Presentation: http://connect.linaro.org.s3.amazonaws.com/hkg18/presentations/hkg18-217.pdf Video: http://connect.linaro.org.s3.amazonaws.com/hkg18/videos/hkg18-217.mp4 --------------------------------------------------- ★ Event Details ★ Linaro Connect Hong Kong 2018 (HKG18) 19-23 March 2018 Regal Airport Hotel Hong Kong --------------------------------------------------- Keyword: Digital Home 'http://www.linaro.org' 'http://connect.linaro.org' --------------------------------------------------- Follow us on Social Media https://www.facebook.com/LinaroOrg https://www.youtube.com/user/linaroorg?sub_confirmation=1 https://www.linkedin.com/company/1026961
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
Linaro
TMUX Rocks! tmux vs. GNU screen Trick and tips sharing Some extremely useful lightning fast handy key binding sharing :)
TMUX Rocks!
TMUX Rocks!
Kent Chen
Introduce a kernel oops and a kernel panic
Understanding a kernel oops and a kernel panic
Understanding a kernel oops and a kernel panic
Joseph Lu
Rootless Containers means running the container runtimes (e.g. runc, containerd, and kubelet) as well as the containers without the host root privileges. The most significant advantage of Rootless Containers is that it can mitigate potential container-breakout vulnerability of the runtimes, but it is also useful for isolating multi-user environments on HPC hosts. This talk will contain the introduction to rootless containers and deep-dive topics about the recent updates such as Seccomp User Notification. The main focus will be on containerd (CNCF Graduated Project) and its consumer projects including Kubernetes and Docker/Moby, but topics about other runtimes will be discussed as well. https://sched.co/fGWc
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
Akihiro Suda
I explain about how to build Android system for various ARM chip boards. I tried to build the following Chips&Boards: ・MediaTek Chip:MT6589 (Cortex-A7 Quad) Type:SmartPhone Device Name:Acer Liquid E2 http://www.acer.com.tw/ac/zh/TW/content/model/HM.HC5TA.001 ・AllWinner Chip:A31 (Cortex-A7 Quad) Type:Tablet Device Name:Onda V973 (v2) http://www.onda.cn/Tablet/ProductInfo.aspx?ProductId=250 ・QUALCOMM Chip:krait 400 (Like Cortex-A15 Quad and Cortex-A7 Quad) Type:Tablet Device Name:New Nexus7 http://www.google.com/nexus/7/ ・RockChip Chip:RK3188 (Cortex-A9 Quad) Type:Mini PC Device Name:MK802IV http://www.cloudsto.com/android-mini-pc-s/rikomagic-quad-core-mk802iv-8gb-flash-bluetooth-dhl-express-shipping-detail.html ‧Freescale Chip:i.MX6Q (Cortex-A9 Quad) Type:EVB Device Name:i.MX6Q SABRA Lite https://wiki.linaro.org/Boards/MX6QSabreLite ・Samsung Chip:Exynos 5 (Cortex-A15 Quad and Cortex-A7 Quad) Type:EVB Device Name:ODROID-XU http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G137510300620 ・TI Chip:OMAP5432 (Cortex-A15 Dual) Type:EVB Device Name:OMAP5432-EVM http://www.ti.com/tool/omap5432-evm?DCMP=omap-5432evm-130521&HQS=omap-5432evm-b-sw
How To Build Android for ARM Chip boards
How To Build Android for ARM Chip boards
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
Uboot startup sequence
Uboot startup sequence
Houcheng Lin
Trabajo de fin de Ciclo Formativo Grado Superior en Administración de Sistemas en red (ASIR/ASIX). El trabajo consiste en un proyecto de virtualizacion de servidores para dar una alta disponibilidad (HA) mediante el sistema Proxmox. El servicio a dar en cuestión finalmente fue de un servidor proxy y web, por falta de tiempo y problemas con la configuración de Zentyal, fue imposible su instalación.
High availability virtualization with proxmox
High availability virtualization with proxmox
Oriol Izquierdo Vibalda
Binder, is the android-specific inter-process communication mechanism,
Understanding binder in android
Understanding binder in android
Haifeng Li
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
Slab Allocator in Linux Kernel
Slab Allocator in Linux Kernel
Adrian Huang
Most of this session will focus on Kernel Module Programming. We will briefly talk about the interaction of different layers of operating system from userspace to kernel space. Starting from simple Hello World kernel modules, we will learn the development of more sophisticated modules related to device drivers and interrupt handlers. We will also briefly touch upon the shell scripts and how they can be used to extract system level information. Since, this will be a hands on session, attendees are expected to try the examples on their machines. Basic understanding of operating systems and C programming is expected for the tutorial.
Linux kernel modules
Linux kernel modules
Dheryta Jaisinghani
Linux presentation
Linux presentation
Nikhil Jain
http://sched.co/EaYe Until recently, running `docker build` against Dockerfile had been the only way to build container images. However, lots of opensource software are being proposed as successors/alternatives to `docker build`: - BuildKit (Moby Project / Docker) - img (Jessica Frazelle / Microsoft) - Buildah (Project Atomic / Red Hat) - umoci & Orca (SUSE) - Bazel (Google) - OpenShift S2I (Red Hat) Akihiro Suda compares these new tools' advantages and disadvantages. His evaluation basis would include but not be limited to: - Performance (Cache efficiency, Concurrency, Distributed Execution) - Secret management, e.g. SSH and AWS keys - Support for non-Dockerfile - Non-root execution - UI & UX - Governance of the community He also proposes a unified interface for using these tools with Kubernetes in a vendor-neutral way.
Comparing Next-Generation Container Image Building Tools
Comparing Next-Generation Container Image Building Tools
Akihiro Suda
How the Linux Kernel is Working, from compilation, start-up, Basic Initializations to high level Initialization to subsystems.
Linux Kernel Tour
Linux Kernel Tour
samrat das
Solaris Kernel Debugging V1.0
Solaris Kernel Debugging V1.0
Jarod Wang
Build a full-functioned virtual machine from scratch, when Brainfuck is used. Basic concepts about interpreter, optimizations techniques, language specialization, and platform specific tweaks.
Virtual Machine Constructions for Dummies
Virtual Machine Constructions for Dummies
National Cheng Kung University
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
spinlock.pdf
spinlock.pdf
Adrian Huang
Buildroot and Yocto, the two leading embedded Linux buildsystems, have largely overlapping goals but vastly different implementations. Perhaps you’re familiar with either, and wonder how your daily job would change if you used the other. Luca will share insights he gained while managing projects with both tools, spending a lot of time in learning how to achieve the same goals in a different way. He will give a sort of “translation table” to ease the transition between the two, covering: bootstrapping a project, what happens under the hood, invoking the build, customizing the rootfs and tweaking recipes.
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
linuxlab_conf
Synchronization primitives (locks) are at the heart of any system, and the Linux kernel is no exception. While lockless algorithms/data structures are an attractive alternative with performance in mind, reality dictates otherwise, many times due to the extra complexity involved. In the kernel, lockless structures are, rather the exception, than the norm. Davidlohr Bueso review srecent changes and discussions on the topic, including mutexes, rwsems and futexes. The algorithmic ideas behind them will be revisited and uncover some of the issues that can significantly impact overall system scalability. This work has led to important performance benefits on large multi-core systems, spanning a variety of workloads and configurations. Future room for improvements and a look forward on how to address them will also be covered.
An Overview of [Linux] Kernel Lock Improvements -- Linuxcon NA 2014
An Overview of [Linux] Kernel Lock Improvements -- Linuxcon NA 2014
Davidlohr Bueso
The session: https://coscup.org/2022/en/session/AGCMDJ After Linux kernel boots, it will try to launch first process “init” in User Space. Then, the system begins the featured journey of the Linux distribution. This sharing takes Busybox as the example and shows that how does Linux kernel find the “init” which directs to the Busybox. And, what will Busybox do and how to get the console. Try to make it like a simple Linux system. Before Linux kernel launches “init” process, the file system and storage corresponding drivers/modules must be loaded to find the “init”. Besides, to mount the root file system correctly, the kernel boot command must include the root device and file system format parameters. On the other hand, the Busybox directed from “init” is a lightweight program, but has rich functions, just like a Swiss Army Knife. So, it is usually used on the simple environment, like embedded Linux system. This sharing will have a demo on a virtual machine first, then on the Raspberry Pi. Drafts: * https://hackmd.io/@starnight/Busbox_as_the_init * https://hackmd.io/@starnight/Build_Alpines_Root_Filesystem_Bootstrap Relate idea: https://hackmd.io/@starnight/Systems_init_and_Containers_COMMAND_Dockerfiles_CMD
Launch the First Process in Linux System
Launch the First Process in Linux System
Jian-Hong Pan
This is Linux Administration Power Point presentation I have done this it will be very usefull for anyone who is intrested in Linux.
Linux Administration
Linux Administration
Harish1983
新竹碼農: 20120913 From source to binary
Hcsm lect-20120913
Hcsm lect-20120913
lusecheng
透過 Docker 可以將 Laravel 整合 Postgres 或 Elasticsearch 等額外服務,讓開發者可以在最短時間將環境設定完畢,當然不只有這樣,我們也可以透過 Docker 容器技術快速整合測試及部署,並且結合 Facebook 或 Line Bot 通知開發者測試成功或失敗。 官網連結: https://laravelconf.tw/en/schedule#10
運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率
Bo-Yi Wu
More Related Content
What's hot
Session ID: HKG18-217 Session Name: HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium Speaker: Sivasubramanian Patchaiperumal Track: Digital Home ★ Session Summary ★ This session will provide an overview of Linaro OpenCDM/CDMi work with WPE, Chromium browsers and multiDRM solution with OPTEE decryption on HiKey OpenEmbedded build. The main focus will be about the addition of WPE browser support to existing Linaro CDM/CDMi and it's validation with different DRMs like ClearKey, PlayReady and Widevine on RDK Client image (Morty OE build) with Westeros Wayland Compositor. --------------------------------------------------- ★ Resources ★ Event Page: http://connect.linaro.org/resource/hkg18/hkg18-217/ Presentation: http://connect.linaro.org.s3.amazonaws.com/hkg18/presentations/hkg18-217.pdf Video: http://connect.linaro.org.s3.amazonaws.com/hkg18/videos/hkg18-217.mp4 --------------------------------------------------- ★ Event Details ★ Linaro Connect Hong Kong 2018 (HKG18) 19-23 March 2018 Regal Airport Hotel Hong Kong --------------------------------------------------- Keyword: Digital Home 'http://www.linaro.org' 'http://connect.linaro.org' --------------------------------------------------- Follow us on Social Media https://www.facebook.com/LinaroOrg https://www.youtube.com/user/linaroorg?sub_confirmation=1 https://www.linkedin.com/company/1026961
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
Linaro
TMUX Rocks! tmux vs. GNU screen Trick and tips sharing Some extremely useful lightning fast handy key binding sharing :)
TMUX Rocks!
TMUX Rocks!
Kent Chen
Introduce a kernel oops and a kernel panic
Understanding a kernel oops and a kernel panic
Understanding a kernel oops and a kernel panic
Joseph Lu
Rootless Containers means running the container runtimes (e.g. runc, containerd, and kubelet) as well as the containers without the host root privileges. The most significant advantage of Rootless Containers is that it can mitigate potential container-breakout vulnerability of the runtimes, but it is also useful for isolating multi-user environments on HPC hosts. This talk will contain the introduction to rootless containers and deep-dive topics about the recent updates such as Seccomp User Notification. The main focus will be on containerd (CNCF Graduated Project) and its consumer projects including Kubernetes and Docker/Moby, but topics about other runtimes will be discussed as well. https://sched.co/fGWc
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
Akihiro Suda
I explain about how to build Android system for various ARM chip boards. I tried to build the following Chips&Boards: ・MediaTek Chip:MT6589 (Cortex-A7 Quad) Type:SmartPhone Device Name:Acer Liquid E2 http://www.acer.com.tw/ac/zh/TW/content/model/HM.HC5TA.001 ・AllWinner Chip:A31 (Cortex-A7 Quad) Type:Tablet Device Name:Onda V973 (v2) http://www.onda.cn/Tablet/ProductInfo.aspx?ProductId=250 ・QUALCOMM Chip:krait 400 (Like Cortex-A15 Quad and Cortex-A7 Quad) Type:Tablet Device Name:New Nexus7 http://www.google.com/nexus/7/ ・RockChip Chip:RK3188 (Cortex-A9 Quad) Type:Mini PC Device Name:MK802IV http://www.cloudsto.com/android-mini-pc-s/rikomagic-quad-core-mk802iv-8gb-flash-bluetooth-dhl-express-shipping-detail.html ‧Freescale Chip:i.MX6Q (Cortex-A9 Quad) Type:EVB Device Name:i.MX6Q SABRA Lite https://wiki.linaro.org/Boards/MX6QSabreLite ・Samsung Chip:Exynos 5 (Cortex-A15 Quad and Cortex-A7 Quad) Type:EVB Device Name:ODROID-XU http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G137510300620 ・TI Chip:OMAP5432 (Cortex-A15 Dual) Type:EVB Device Name:OMAP5432-EVM http://www.ti.com/tool/omap5432-evm?DCMP=omap-5432evm-130521&HQS=omap-5432evm-b-sw
How To Build Android for ARM Chip boards
How To Build Android for ARM Chip boards
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
Uboot startup sequence
Uboot startup sequence
Houcheng Lin
Trabajo de fin de Ciclo Formativo Grado Superior en Administración de Sistemas en red (ASIR/ASIX). El trabajo consiste en un proyecto de virtualizacion de servidores para dar una alta disponibilidad (HA) mediante el sistema Proxmox. El servicio a dar en cuestión finalmente fue de un servidor proxy y web, por falta de tiempo y problemas con la configuración de Zentyal, fue imposible su instalación.
High availability virtualization with proxmox
High availability virtualization with proxmox
Oriol Izquierdo Vibalda
Binder, is the android-specific inter-process communication mechanism,
Understanding binder in android
Understanding binder in android
Haifeng Li
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
Slab Allocator in Linux Kernel
Slab Allocator in Linux Kernel
Adrian Huang
Most of this session will focus on Kernel Module Programming. We will briefly talk about the interaction of different layers of operating system from userspace to kernel space. Starting from simple Hello World kernel modules, we will learn the development of more sophisticated modules related to device drivers and interrupt handlers. We will also briefly touch upon the shell scripts and how they can be used to extract system level information. Since, this will be a hands on session, attendees are expected to try the examples on their machines. Basic understanding of operating systems and C programming is expected for the tutorial.
Linux kernel modules
Linux kernel modules
Dheryta Jaisinghani
Linux presentation
Linux presentation
Nikhil Jain
http://sched.co/EaYe Until recently, running `docker build` against Dockerfile had been the only way to build container images. However, lots of opensource software are being proposed as successors/alternatives to `docker build`: - BuildKit (Moby Project / Docker) - img (Jessica Frazelle / Microsoft) - Buildah (Project Atomic / Red Hat) - umoci & Orca (SUSE) - Bazel (Google) - OpenShift S2I (Red Hat) Akihiro Suda compares these new tools' advantages and disadvantages. His evaluation basis would include but not be limited to: - Performance (Cache efficiency, Concurrency, Distributed Execution) - Secret management, e.g. SSH and AWS keys - Support for non-Dockerfile - Non-root execution - UI & UX - Governance of the community He also proposes a unified interface for using these tools with Kubernetes in a vendor-neutral way.
Comparing Next-Generation Container Image Building Tools
Comparing Next-Generation Container Image Building Tools
Akihiro Suda
How the Linux Kernel is Working, from compilation, start-up, Basic Initializations to high level Initialization to subsystems.
Linux Kernel Tour
Linux Kernel Tour
samrat das
Solaris Kernel Debugging V1.0
Solaris Kernel Debugging V1.0
Jarod Wang
Build a full-functioned virtual machine from scratch, when Brainfuck is used. Basic concepts about interpreter, optimizations techniques, language specialization, and platform specific tweaks.
Virtual Machine Constructions for Dummies
Virtual Machine Constructions for Dummies
National Cheng Kung University
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
spinlock.pdf
spinlock.pdf
Adrian Huang
Buildroot and Yocto, the two leading embedded Linux buildsystems, have largely overlapping goals but vastly different implementations. Perhaps you’re familiar with either, and wonder how your daily job would change if you used the other. Luca will share insights he gained while managing projects with both tools, spending a lot of time in learning how to achieve the same goals in a different way. He will give a sort of “translation table” to ease the transition between the two, covering: bootstrapping a project, what happens under the hood, invoking the build, customizing the rootfs and tweaking recipes.
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
linuxlab_conf
Synchronization primitives (locks) are at the heart of any system, and the Linux kernel is no exception. While lockless algorithms/data structures are an attractive alternative with performance in mind, reality dictates otherwise, many times due to the extra complexity involved. In the kernel, lockless structures are, rather the exception, than the norm. Davidlohr Bueso review srecent changes and discussions on the topic, including mutexes, rwsems and futexes. The algorithmic ideas behind them will be revisited and uncover some of the issues that can significantly impact overall system scalability. This work has led to important performance benefits on large multi-core systems, spanning a variety of workloads and configurations. Future room for improvements and a look forward on how to address them will also be covered.
An Overview of [Linux] Kernel Lock Improvements -- Linuxcon NA 2014
An Overview of [Linux] Kernel Lock Improvements -- Linuxcon NA 2014
Davidlohr Bueso
The session: https://coscup.org/2022/en/session/AGCMDJ After Linux kernel boots, it will try to launch first process “init” in User Space. Then, the system begins the featured journey of the Linux distribution. This sharing takes Busybox as the example and shows that how does Linux kernel find the “init” which directs to the Busybox. And, what will Busybox do and how to get the console. Try to make it like a simple Linux system. Before Linux kernel launches “init” process, the file system and storage corresponding drivers/modules must be loaded to find the “init”. Besides, to mount the root file system correctly, the kernel boot command must include the root device and file system format parameters. On the other hand, the Busybox directed from “init” is a lightweight program, but has rich functions, just like a Swiss Army Knife. So, it is usually used on the simple environment, like embedded Linux system. This sharing will have a demo on a virtual machine first, then on the Raspberry Pi. Drafts: * https://hackmd.io/@starnight/Busbox_as_the_init * https://hackmd.io/@starnight/Build_Alpines_Root_Filesystem_Bootstrap Relate idea: https://hackmd.io/@starnight/Systems_init_and_Containers_COMMAND_Dockerfiles_CMD
Launch the First Process in Linux System
Launch the First Process in Linux System
Jian-Hong Pan
This is Linux Administration Power Point presentation I have done this it will be very usefull for anyone who is intrested in Linux.
Linux Administration
Linux Administration
Harish1983
What's hot
(20)
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
TMUX Rocks!
TMUX Rocks!
Understanding a kernel oops and a kernel panic
Understanding a kernel oops and a kernel panic
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
How To Build Android for ARM Chip boards
How To Build Android for ARM Chip boards
Uboot startup sequence
Uboot startup sequence
High availability virtualization with proxmox
High availability virtualization with proxmox
Understanding binder in android
Understanding binder in android
Slab Allocator in Linux Kernel
Slab Allocator in Linux Kernel
Linux kernel modules
Linux kernel modules
Linux presentation
Linux presentation
Comparing Next-Generation Container Image Building Tools
Comparing Next-Generation Container Image Building Tools
Linux Kernel Tour
Linux Kernel Tour
Solaris Kernel Debugging V1.0
Solaris Kernel Debugging V1.0
Virtual Machine Constructions for Dummies
Virtual Machine Constructions for Dummies
spinlock.pdf
spinlock.pdf
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
An Overview of [Linux] Kernel Lock Improvements -- Linuxcon NA 2014
An Overview of [Linux] Kernel Lock Improvements -- Linuxcon NA 2014
Launch the First Process in Linux System
Launch the First Process in Linux System
Linux Administration
Linux Administration
Similar to Hello world 的一生
新竹碼農: 20120913 From source to binary
Hcsm lect-20120913
Hcsm lect-20120913
lusecheng
透過 Docker 可以將 Laravel 整合 Postgres 或 Elasticsearch 等額外服務,讓開發者可以在最短時間將環境設定完畢,當然不只有這樣,我們也可以透過 Docker 容器技術快速整合測試及部署,並且結合 Facebook 或 Line Bot 通知開發者測試成功或失敗。 官網連結: https://laravelconf.tw/en/schedule#10
運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率
Bo-Yi Wu
(COSCUP 2010) How to build your own Android toolchain from scratch
Build Your Own Android Toolchain from scratch
Build Your Own Android Toolchain from scratch
National Cheng Kung University
2015/01/07 修正ctrl + ins複製錯誤,應該是shift + ins,感謝Jack Chen告知 2014/08/05 修正control + z描述錯誤,感謝En-Hao Hu的告知
Introduce to Linux command line
Introduce to Linux command line
Wen Liao
C 語言第一章-計算機概論與C語言簡介
Ch01
Ch01
jashliao
# DevOps 人一定要知道的持續交付技巧 - Ansible & GitLab CI 實戰演練 > Mirror from https://speakerdeck.com/chusiang/continuous-delivery-workshop-with-ansible-x-gitlab-ci Ansible 是個與 Puppet, Salt, Chef 並列其四的 Infrastructure as Code 組態設定工具,其簡單易用的特性讓人愛不釋手;GitLab 是業界常見的 Git 私有版本控制服務,搭配其 GitLab CI 更能建立屬於自己的發佈流程。 本次凍仁將藉由工作坊的形式,帶領大家一探持續交付的世界和自動化的威力! * 活動網址: https://www.meetup.com/DigitalOceanHsinchu/events/243518189/ * Gist note: https://gist.github.com/chusiang/56843a737b8c3931c1736d6939a4e172 #Ansible #GitLab #DevOps #Workshop
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
Chu-Siang Lai
Docker 基本指令介紹,適合剛入門 Docker 的開發者
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
Bo-Yi Wu
Cygwin intro
Cygwin intro
cri fan
Cygwin intro
Cygwin intro
cri fan
Mirror from https://speakerdeck.com/chusiang/continuous-delivery-with-ansible-x-gitlab-ci-2e # DevOps 人一定要知道的 Ansible & GitLab CI 持續交付技巧 (2/e) Ansible 是個與 Puppet, Salt, Chef 並列的 Infrastructure as Code 組態設定工具,其簡單易用的特性更讓人愛不釋手;GitLab 是業界很常見的 Git 私有版本控制服務,搭配其 GitLab CI 將能快速建立屬於自己的 CI/CD Pipeline 與自動化部署。 本次凍仁將會藉由 Ansible 和 GitLab 帶領大家一探持續部署的世界和 DevOps 的威力! #DevOpsTaiwan #DevOpsTW #Agile #Meetup > https://devops.kktix.cc/events/meetup-kaohsiung-1
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)
Chu-Siang Lai
人工智慧專業學程 https://academy.digitalent.org.tw/course/2017s-ai/ 智慧聯網系列課程 https://academy.digitalent.org.tw/course/2017inc-soc-0401/
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
Philip Zheng
不用Framework, 一天完成網站的多國語系製作
2010 08-14 web-sitei18n
2010 08-14 web-sitei18n
tsunghaolee
# DevOps 人一定要知道的持續交付技巧 - Ansible & GitLab CI 實戰演練 (3rd) > https://speakerdeck.com/chusiang/continuous-delivery-workshop-with-ansible-x-gitlab-ci-3rd Ansible 是個與 Puppet, Salt, Chef 並列其四的 Infrastructure as Code 組態設定工具,其簡單易用的特性讓人愛不釋手;GitLab 是業界常見的 Git 私有版本控制服務,搭配其 GitLab CI 更能建立屬於自己的發佈流程。 本次凍仁將藉由工作坊的形式,讓國立臺中科技大學資訊與流通學院的領航員們,在實戰過程中,體驗持續交付和自動化的世界! * 活動網址: Secret * Wiki: https://gitlab.com/chusiang/continuous-delivery-workshop/wikis/home #Ansible #GitLab #DevOps #Workshop
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Chu-Siang Lai
下集:http://www.slideshare.net/zzz00072/2-32517297
軟體組裝心得分享
軟體組裝心得分享
Wen Liao
團隊內原本使用 Bamboo 之後跳到 Jenkins 最後又跳到 Drone,本意議程會介紹為什麼我們放棄 Bamboo 及 Jenkins,他們所帶來的缺陷,以及為什麼最後選擇 Drone。 Drone 是一套基於 Docker 容器技術的持續交付平台。每個 Build 都在一個短暫的 Docker 容器中執行,讓開發人員可以完全控制他們的建構環境並保證隔離互不干擾。Drone 非常容易安裝及維護,並且提供強大的插件系統,也可以讓開發者輕易完成個人插件,如果您正在煩惱該選擇 Jenkins 或 GitLab CI 等工具,我會建議您嚐試看看輕量級的 Drone。本議程會帶您深入了解由 Go 語言所撰寫的 Drone 架構及如何輕易整合原有的 Git 服務 (像是 Github, Bitbucket, Gitea 或 GitLab) 來快速部署及測試軟體品質。 線上課程: DevOpsDay 優惠價: 1600 購買網址: http://bit.ly/devops-taipei Coupon Code: KUBERNETES
用 Drone 打造輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台
Bo-Yi Wu
介紹NodeMCU以及相關應用
IoT開發平台NodeMCU
IoT開發平台NodeMCU
承翰 蔡
Clonezilla tutorial.v7
Clonezilla tutorial.v7
hs1250
迎棧 Open Ecosystem Workshop https://www.accupass.com/event/1903040308021001847652?fbclid=IwAR0pl3ZHVXsN9Qk3fM0SxTS7IhNjdiEsOsQOsuRC8xRzH5Qxi1NKYD9xFAE
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShop
Philip Zheng
Jenkins x GitLab CI by YihsuanChen
Jenkins x GitLab CI
Jenkins x GitLab CI
Yihsuan Chen
Check out my blog : https://oalieno.github.io/2019/06/07/security/pwn/rootkit/ Introduction and implementation of rootkit. Targeting linux kernel 5.x.x.
Rootkit 101
Rootkit 101
WEI CHIEH CHAO
Similar to Hello world 的一生
(20)
Hcsm lect-20120913
Hcsm lect-20120913
運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率
Build Your Own Android Toolchain from scratch
Build Your Own Android Toolchain from scratch
Introduce to Linux command line
Introduce to Linux command line
Ch01
Ch01
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
Cygwin intro
Cygwin intro
Cygwin intro
Cygwin intro
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
2010 08-14 web-sitei18n
2010 08-14 web-sitei18n
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
軟體組裝心得分享
軟體組裝心得分享
用 Drone 打造輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台
IoT開發平台NodeMCU
IoT開發平台NodeMCU
Clonezilla tutorial.v7
Clonezilla tutorial.v7
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShop
Jenkins x GitLab CI
Jenkins x GitLab CI
Rootkit 101
Rootkit 101
More from Wen Liao
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
Wen Liao
開放街圖 自助旅行的好幫手
開放街圖 自助旅行的好幫手
開放街圖 自助旅行的好幫手
Wen Liao
GNU AS簡介,歡迎debug
GNU AS簡介
GNU AS簡介
Wen Liao
UPnP 1.0 簡介,歡迎debug * 20150612: Fix typo
UPnP 1.0 簡介
UPnP 1.0 簡介
Wen Liao
故事:自由軟體和 Richard Stallman
故事:自由軟體和 Richard Stallman
故事:自由軟體和 Richard Stallman
Wen Liao
部落格文尋找Hello world在背景說明 26/Jan/2015 增加prolog/epilogue說明 29/Jan/2015 增加%eax設成0的說明,感謝Scott Tasi大大的補充
Hello world在那邊?背景說明
Hello world在那邊?背景說明
Wen Liao
11/Jan/2015: 新增為什麼要用FF以及release圖片少說明的地方 12/Jan/2015: Fix typo
A successful git branching model 導讀
A successful git branching model 導讀
Wen Liao
Dec/29/2014: 修正小錯誤以及增加封面圖片
GNU ld的linker script簡介
GNU ld的linker script簡介
Wen Liao
使用vim trace程式碼
Trace 程式碼之皮
Trace 程式碼之皮
Wen Liao
淺談Debian套件打包
淺談Debian套件打包
淺談Debian套件打包
Wen Liao
2014/Aug/20 新增implicit rules和.PHONY說明 2014/Jul/19 Fix minor error 2014/Jul/12 Fix minor error
GNU Make, Autotools, CMake 簡介
GNU Make, Autotools, CMake 簡介
Wen Liao
2014/Jul/08: 修改Lookahead/Lookbehind說明 2014/Jun/28: 修正錯誤 2014/Jun/18: 修正Lookahead assertion和Lookbehind assertion寫反的錯誤。請有下載的朋友更新一下。
A Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
A Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
Wen Liao
GNU gettext簡介 - 以C語言為範例
GNU gettext簡介 - 以C語言為範例
Wen Liao
Change log: May/13/2014: Revise description for PAUSE state
Guide to GStreamer Application Development Manual: CH1 to CH10
Guide to GStreamer Application Development Manual: CH1 to CH10
Wen Liao
Testing in python 2.7.3
Testing in python 2.7.3
Wen Liao
上集:http://www.slideshare.net/zzz00072/v3-32453435
從組裝軟體中談談軟體發展管理
從組裝軟體中談談軟體發展管理
Wen Liao
More from Wen Liao
(16)
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
開放街圖 自助旅行的好幫手
開放街圖 自助旅行的好幫手
GNU AS簡介
GNU AS簡介
UPnP 1.0 簡介
UPnP 1.0 簡介
故事:自由軟體和 Richard Stallman
故事:自由軟體和 Richard Stallman
Hello world在那邊?背景說明
Hello world在那邊?背景說明
A successful git branching model 導讀
A successful git branching model 導讀
GNU ld的linker script簡介
GNU ld的linker script簡介
Trace 程式碼之皮
Trace 程式碼之皮
淺談Debian套件打包
淺談Debian套件打包
GNU Make, Autotools, CMake 簡介
GNU Make, Autotools, CMake 簡介
A Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
A Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
GNU gettext簡介 - 以C語言為範例
GNU gettext簡介 - 以C語言為範例
Guide to GStreamer Application Development Manual: CH1 to CH10
Guide to GStreamer Application Development Manual: CH1 to CH10
Testing in python 2.7.3
Testing in python 2.7.3
從組裝軟體中談談軟體發展管理
從組裝軟體中談談軟體發展管理
Hello world 的一生
1.
Hello World 的一生 Wen
Liao Taiwan Linux Kernel Hackers 1
2.
About Wen /41
3.
● 測試環境 ● 懷胎九月及出生 ●
短暫的一生 ● QA 目錄 3
4.
測試環境 (1) 4
5.
測試環境 (2) 5
6.
● 測試環境 ● 懷胎九月及出生 ●
短暫的一生 ● QA 目錄 6
7.
cc 就搞定 7
8.
事情當然沒有我們憨人 想的那麼簡單 8
9.
● 現實是,除了執行檔以外,在編 譯的過程的副產品 ○ hello.i
// 展開巨集後的C 語言 ○ hello.s // 將C語言轉成組合語言 ○ hello.o // 將組合語言轉成ELF格式的object file GCC = GNU Compiler Collection 9
10.
hello.i 節錄 八百行 stdio.h 10
11.
hello.s 節錄 (1) 11
12.
hello.s 節錄 (2) 12
13.
hello.s 節錄 (2) 13
14.
hello.s 節錄 (1) 14
15.
hello.s 節錄 (2) https://software.intel.com/sites/default/files/article/402129/mpx-linux64-abi.pdf 15
16.
hello.s 節錄 (2) https://software.intel.com/sites/default/files/article/402129/mpx-linux64-abi.pdf 16
17.
囉唆的真實編譯 (1) 17
18.
囉唆的真實編譯 (2) 18
19.
囉唆的真實編譯 (3) ld 節錄
(1) 19
20.
囉唆的真實編譯 (3) ld 節錄
(2) 20
21.
Link時除了你的object外,還有 21
22.
/usr/lib/x86_64-linux-gnu/Scrt1.o /usr/lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o /lib64/ld-linux-x86-64.so.2 /usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o /usr/lib/x86_64-linux-gnu/crtn.o ... 除了你的object外,還有 22
23.
Why? 23
24.
反組譯 參數 呼叫函數 24
25.
__libc_start_main (1) 25
26.
__libc_start_main (2) 26
27.
● 檢查權限,確保安全性 ● thread
subsystem初始化 (我可不知道什麼thread subsystem唷) ● 向rtld_fini註冊release callback function,當shared object結束時使用該 callback釋放資源 ● 呼叫init callback function ● 呼叫main callback function並且帶入參數 ● 當main callback function結束後,將回傳值作為參數呼叫exit __libc_start_main (3) 27
28.
● 測試環境 ● 懷胎九月及出生 ●
短暫的一生 ● QA 目錄 28
29.
linux/fs/exec.c 29
30.
do_execve() 30
31.
register_binfmt() 31
32.
binfmt 資料結構 32
33.
linux/fs/binfmt_elf.c 33
34.
linux/fs/exec.c /41
35.
load_elf_binary 35
36.
struct linux_binprm 省略版 36
37.
struct linux_binprm buf[128] struct vm_area_struct
*vma; unsigned long vma_pages struct mm_struct *mm struct file * file int argc, envc const char * filename const char * interp unsigned long loader, exec struct cred *cred ... 37
38.
load_elf_binary() 38
39.
load_elf_binary() 39
40.
● Load_elf_binary Trace ○
http://wen00072.github.io/blog/2019/08/03/load-elf-binary-trace/ Load_elf_binary Trace 40
41.
● Sections ○ text ○
bss ○ data ○ … ● ABI ● Link script ● ELF ● Binutils ● vDSO ● ASLR ● man proc 延伸關鍵字 41
42.
Q & A /41
Download now