Introduction to the FreeBSD Open-Source Operating System

10 Hours of video description on the Introduction to the FreeBSD Open-Source Operating System.

Introduction to the FreeBSD Open-Source Operating System

Course Description

This ten-hour video starts with an introduction to the FreeBSD community and explains how it differs from the Linux ecosystem. The video then goes on to provide a firm background in the FreeBSD kernel. The POSIX kernel interfaces are used as examples where they are defined. Where they are not defined, the FreeBSD interfaces are described. This video from Pearson covers basic kernel services, locking, process structure, scheduling, signal handling, jails, and virtual and physical memory management. The kernel I/O structure is described showing how I/O is multiplexed and the virtual filesystem interface is used to support multiple filesystems. Devices are described showing disk management and their auto-configuration. Next, the organization and implementation of the fast filesystem are described, concluding with a discussion ... Read More »

This ten-hour video starts with an introduction to the FreeBSD community and explains how it differs from the Linux ecosystem. The video then goes on to provide a firm background in the FreeBSD kernel. The POSIX kernel interfaces are used as examples where they are defined. Where they are not defined, the FreeBSD interfaces are described.

This video from Pearson covers basic kernel services, locking, process structure, scheduling, signal handling, jails, and virtual and physical memory management. The kernel I/O structure is described showing how I/O is multiplexed and the virtual filesystem interface is used to support multiple filesystems. Devices are described showing disk management and their auto-configuration.

Next, the organization and implementation of the fast filesystem are described, concluding with a discussion of how to maintain consistency in the face of hardware or software failures. The video includes an overview of the ZFS filesystem. The video also covers the socket-based network architecture and layering along with a discussion of routing issues.

What You Will Learn:

  • The video starts with an introduction to the FreeBSD community and explains how it differs from the Linux ecosystem. The video then goes on to provide a firm background in the FreeBSD kernel. The POSIX kernel interfaces are used as examples where they are defined. Where they are not defined, the FreeBSD interfaces are described.
  • The video covers basic kernel services, locking, process structure, scheduling, signal handling, jails, and virtual and physical memory management.
  • The kernel I/O structure is described showing how I/O is multiplexed and the virtual filesystem interface is used to support multiple filesystems.
  • Devices are described showing disk management and their auto-configuration.
  • The organization and implementation of the fast filesystem is described concluding with a discussion of how to maintain consistency in the face of hardware or software failures.
  • The video includes an overview of the ZFS filesystem and covers the socket-based network architecture, layering and routing issues.
  • The presentations emphasize code organization, data structure navigation, and algorithms.
Read Less
Course Details:

Target Audience

  • Applications developers, to learn how to effectively and efficiently interface with the system
  • Systems programmers without direct experience with the FreeBSD kernel, to learn how to maintain, tune, and interface with such systems
  • Those involved in technical and sales support, to learn the capabilities and limitations of the system
  • Enterprise and mobile (Android) communities needing to understand the intricacies of FreeBSD and use its advanced features

Prerequisites

This video is directed to users who have had at least a year of experience using a UNIX-like system. They should have an understanding of fundamental algorithms (searching, sorting, and hashing) and data structures (lists, queues, and arrays).
Certificate Info:

Type of Certification

Certificate of Completion

Format of Certification

Digital and Print

Professional Association/Affiliation

This certificate is issued by Pearson LearnIT

Method of Obtaining Certification

Upon successful completion of the course, participants will receive a certificate of completion.

Course Outline

  • Introduction to the FreeBSD Open-Source Operating System: Introduction
Lesson 1 describes the way that the FreeBSD community is organized and the way in which it designs, builds, and manages its distributions. The lesson concludes by describing the best use cases for FreeBSD versus Linux.

  • Learning objectives
  • 1.1 Understand the FreeBSD Community
  • 1.2 Compare FreeBSD with Linux
Lesson 2 provides an introduction to the FreeBSD kernel. It introduces the user process as the central facility that the kernel provides. It shows how a user process communicates with the kernel through the system call interface and uses kernel-based timers to synchronize time-based events. The lesson concludes with a description of the locking mechanisms that the kernel uses to control access to its data structures.

  • Learning objectives
  • 2.1 Understand process components
  • 2.2 Optimize use of system calls
  • 2.3 Use timers
  • 2.4 Understand locking hierarchy
Lesson 3 begins by detailing the components that describe a user process. It then outlines the facilities that the kernel provides to support user processes. These facilities include the scheduler that controls when processes get to run, the signal infrastructure for delivering asynchronous events to processes, and the group and session mechanisms for organizing sets of related processes. The lesson concludes by explaining the use of jails as a lightweight virtualization facility.

  • Learning objectives
  • 3.1 Understand process structures
  • 3.2 Select scheduling algorithms
  • 3.3 Handle asynchronous events
  • 3.4 Use process groups and sessions
  • 3.5 Operate jails
Lesson 4 explains the management of the virtual memory used by a process. It starts by describing the layout of a process in its virtual memory and shows how the virtual memory is backed by physical memory, swap space, and executable files and libraries in the filesystem. Next, it describes the different types of regions that make up an address space and shows how the kernel tracks and manages these regions. It concludes by explaining how the kernel manages the physical memory both for its own use and on behalf of the user processes.

  • Learning objectives
  • 4.1 Understand virtual memory layout
  • 4.2 Use physical memory and swap space
  • 4.3 Understand process address space
  • 4.4 Use kernel memory allocation
  • 4.5 Understand types of pages
Lesson 5 examines the kernel from the perspective of its I/O hierarchy. It starts by detailing the data structures used by the kernel to describe I/O requests. It then shows how the kernel exports the capability to multiplex I/O operations to user processes. It describes the data structures used to manage the socket, file, and device I/O descriptors for a process. It concludes by motivating the addition of a virtual filesystem interface and describing the virtual file (vnode) data structure and associated support facilities provided for using the virtual filesystem interface.

  • Learning objectives
  • 5.1 Understand kernel I/O structure
  • 5.2 Program multiplexing I/O
  • 5.3 Understand I/O descriptors
  • 5.4 Connect to the filesystem interface
  • 5.5 Understand the contents of a vnode
Lesson 6 gives you an overview of how the kernel manages devices. It introduces the special device concept including the mechanisms for naming and controlling access to devices. Next it describes the volume management and disk I/O-subsystem frameworks. It concludes by showing how devices are initially identified and made available for user processes to use.

  • Learning objectives
  • 6.1 Understand special devices
  • 6.2 Understand device naming and access
  • 6.3 Use disk volume management
  • 6.4 Use the FreeBSD disk I/O subsystem
  • 6.5 Understand autoconfiguration
Lesson 7 begins with a multi-decade history describing the evolution of the local FreeBSD filesystem. It reviews the kernel data structures that link from the user-process file descriptor to the local filesystem’s inode data structure used to control access to and describe the location of a file on disk. Next, it describes how the kernel optimizes both the I/O to a file and the layout of the file on the disk. It concludes by describing the requirements for maintaining filesystem consistency in the face of either a hardware or a software crash and the various strategies that are used to implement these requirements.

  • Learning objectives
  • 7.1 Understand the history of the fast filesystem
  • 7.2 Use the current UNIX filesystem
  • 7.3 Understand the purpose of an inode
  • 7.4 Optimize I/O in UNIX
  • 7.5 Optimize storage utilization
  • 7.6 Maintain filesystem consistency
Lesson 8 presents an overview of the Zettabyte filesystem (ZFS) imported from Open Solaris to FreeBSD. It introduces the modules that makeup ZFS and describes their functional and structural organization.

  • Learning objectives
  • 8.1 Understand the Zettabyte filesystem
  • 8.2 Understand ZFS modules
  • 8.3 Understand the ZFS functional organization
  • 8.4 Understand the ZFS structural organization
Lesson 9 introduces the networking and interprocess communications facilities of FreeBSD. It starts by showing how data flows end-to-end between two user-process sockets through the TCP/IP protocols. It then describes the socket and network protocol structures, the mbuf data buffers used to hold the data packets as they flow through the network, and the interface to the networking hardware. Next, it explains the migration from version 4 to version 6 of the IP protocol. It concludes with a discussion of the design of and strategies for routing packets through the network.

  • Learning objectives
  • 9.1 Understand the flow of packets through the network
  • 9.2 Use sockets and network protocols
  • 9.3 Understand mbufs and data queueing
  • 9.4 Connect to the network interface
  • 9.5 Understand Internet addressing IP version 6 (IPv6)
  • 9.6 Understand routing design and strategies
  • Introduction to the FreeBSD Open-Source Operating System: Summary

DON'T HAVE TIME?

We can send you everything you need to know about this course through email.
We respect your privacy. Your information is safe and will never be shared.