operating-systems-lecture icon indicating copy to clipboard operation
operating-systems-lecture copied to clipboard

Workshops and labs for operating system lecture

operating-systems-lecture

Workshops and labs for ITESM operating system lecture

This is a template for a operating system lectures ITESM GDL in order to increase the level of knowledge on the undergraduate students of computer science careers. This is plan to be deliverable in a period of time of 4 to 6 months. It is adjustable in time and order; however the expectations and basic topics should keep the essence of the plan.

Agenda:

  • OS Architecture

    • Introduction
      • What is an Operating Systems
        • https://drive.google.com/file/d/0B7iKrGdVkDhIOElQYnhRU09TWXc/view?usp=sharing&resourcekey=0-RG3mVzZQO7m7AXlEkKZMyg
      • Operating System Structure
        • https://drive.google.com/file/d/0B7iKrGdVkDhIZVB4RkY4MHdYd2M/view?usp=sharing&resourcekey=0-SqgAM1Wl5GcodVGqPjD8Ww
    • Process Management
      • Processes
        • https://drive.google.com/file/d/0B7iKrGdVkDhIR2VORXdGLVZGVVU/view?usp=sharing&resourcekey=0-DM_10or77vxbem9C1p3abg
      • Threads
        • https://drive.google.com/file/d/0B7iKrGdVkDhIN1A2Y1AwbkpIeHM/view?usp=sharing
      • CPU Scheduling
        • https://drive.google.com/file/d/0B7iKrGdVkDhIZkRWVHZ3M2pYOUU/view
      • Process Synchronization
        • https://drive.google.com/open?id=0B7iKrGdVkDhIbDg1VHY4aUNkZzg
      • Deadlocks
    • Memory
      • Main Memory
      • Virtual Memory
        • https://drive.google.com/file/d/0B7iKrGdVkDhIRmZPSDVySXB0cjQ/view?usp=sharing
    • Storage Management
      • File System Interface
      • File System Implementation
      • Mass Storage Structure
      • I/O Systems
  • Linux (Kernel Space)

    • Elements on the Kernel
      • Processes, Task Switching and Scheduling
      • Address Spaces and Privilege Levels
      • Introduction Virtual and Physical Address Spaces
        • Page Tables
        • Allocation of Physical Memory
        • Slab Cache
    • Linux Device Drivers
      • https://drive.google.com/file/d/0B7iKrGdVkDhIdjhiZ3RuYnVQbk0/view?usp=sharing
      • Kind of Drivers
        • Network Drivers
        • Block Drivers
        • Character Drivers
      • IOCTLs
        • Driver entry points for IOCTLs
        • Locked and Lockless IOCTLs
        • Defining IOCTLs
      • Unified Device Model and sysfs
      • Transfer between user and kernel space
      • Timing
        • Jiffies
        • Inserting delays
        • Dynamic Timers
        • Timer Implementation
        • High Resolution Timers
    • Memory management and allocation
      • Kmalloc
      • Vmalloc
      • Bootmem
    • Power Management
      • ACPI and APM
    • Debugging techniques
      • Kernel Debuggers
    • Linux boot process
      • The Linux x86 boot protocol
      • How is the kernel built?
      • Loading the kernel – bzImage boot protocol
      • The start_kernel() function

Oftopic Trainings ( in case you need them )

  • C basic trining:

    • https://www.linkedin.com/learning/advanced-c-programming/
  • Git training

    • https://drive.google.com/file/d/0B7iKrGdVkDhINERiQnppOU5IVVk/view?usp=sharing
  • Bash Trainings:

    • https://drive.google.com/file/d/0B7iKrGdVkDhILU9QRWllWmNKM2M/view?usp=sharing
    • https://drive.google.com/file/d/0B7iKrGdVkDhIWGVhVzhtTlZjWGc/view?usp=sharing
    • https://drive.google.com/file/d/0B7iKrGdVkDhIRkVPSlNPdkdSS2c/view?usp=sharing
    • https://drive.google.com/file/d/0B7iKrGdVkDhIbkdKYWI1R19oMzQ/view?usp=sharing
  • GCC for performance Trainings:

    • https://drive.google.com/open?id=0B7iKrGdVkDhIUzZTVTduczJrQTg

Pondaration:

  • 35% First Term

    • 15% Weekly Quizzes
    • 5% Reading Summaries
    • 15% Labs
  • 35% Second Term

    • 15% Weekly Quizzes
    • 5% Reading Summaries
    • 15% Labs
  • 30% Final Exam ( if student decides to do final project it is = 10% and final exam 20 % )

Bibliography: Mian Book : Operating System Concepts, Abraham Silberschatz, Peter B. Galvin

Other good books :

  • Understanding the Linux Kernel, 3rd Edition. Daniel P. Bovet and Marco Cesati. Copyright © 2005 O'Reilly Media, Inc.
  • Advanced Linux Programming. Mark Mitchell, Jeffrey Oldham and Alex Samuel. New Riders Publishing, 2001
  • Professional Linux Kernel Architecture, Wolfgang Mauerer
  • Operating Systems: Three Easy Pieces https://pages.cs.wisc.edu/~remzi/OSTEP/

Q/A Contact point:

  • https://groups.google.com/forum/#!forum/oslecture-itesm-gdl