Introduction To Systems Programming In C
Last updated 10/2018
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.13 GB | Duration: 2h 6m
Learn the basics of Systems Programming: System Calls, File Manipulation, Processes, Threads, Syncronization
What you'll learn
Understand how to use system calls to accomplish: file manipulation, process control, threads, and syncronization.
Know how to implement existing functions, such as gcc, by using system calls.
Review the Unix operating system structure.
Be able to manipulate files using system calls.
Understand how processes work between the child and parent.
Learn proper technique for passing variables into a thread safe function.
Understand the overlap between processes and threading.
Know how semaphores are used to solve the bounded buffer problem.
Requirements
Be familiar with C programming. Have VirtualBox/Linux installed.
Description
OverviewThis course is intended to be an introductory course for those interested in systems programming. I tried to keep this course very simple and easy to understand. In order to do that I created this slide deck that is short and concise, with programming example to compliment them. I will introduce you to the main concepts so you will have a strong foundation and base point to dive deeper into these topics and cover additional topics on your own.General Course ContentsSystem calls and how they interact with the kernelFile manipulation looking at how to create, delete, and edit files using system call(briefly) Memory management and how exactly Unix deals with virtual memory addressingProcesses: how to create one and what they are used for.Threads and how they are used.Synchronization issues that arise when using processes and threading
Overview
Section 1: Intro to Systems Programming
Lecture 1 Introduction
Section 2: File Manipulation using System Calls
Lecture 2 Introduction to Unix and System Calls
Lecture 3 File Manipuation Overview & open()/close() System Calls
Lecture 4 File Remove System Call
Lecture 5 File Reading System Call
Lecture 6 File Writing System Call
Lecture 7 File Writing Part 2: lseek() Repositioning
Section 3: Processes
Lecture 8 Introduction to Processes
Lecture 9 Process Control using System Calls
Section 4: Threads
Lecture 10 Threading using Pthreads
Section 5: Synchronization
Lecture 11 Synchronization using Semaphores
Beginners who are interested in systems programming.,This course is not intended for experienced software engineers.,Those who need to refresh on C concepts such as: file manipulation, processes, threads, and synronization.