Skip to content

alisharify7/operating-system-course

Repository files navigation

operating-system-course

operating-system-course notes + additional content

GitHub repo size GitHub contributors

Donate/Support [Optional]

see also ALgorithms Repo

OS (Oprating System)

  • An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs. ...

read more in here

this repository contain OS Lectures(Operating System) of shahid beheshti university

source:

  • Modern Operating Systems (by Andrew Tanenbaum, Herbert Bos)
  • Operating Systems: Internals and Design Principles (by William Stallings)
  • Operating System Concepts 10th Edition (by Abraham Silberschatz , Greg Gagne, Peter B. Galvin)

feel free to contribute and add or update topics :)

todo :

add more scheduling algorithm to lecture 5:

fair share scheduling

garantie scheduling

lottery scheduling


Lecture 1 topics:

  Definition of OS
  use of os
  services that os provide
          File management
          Program development
          Program execution
          I/O Management 
          Debugging
          Accounting
          Access Control
 Multi Programming
 Time Sharing and multi Tasking
 Job Pool and Job scheduler
 Virtual Memory
 Swap
 Job Scheduling
 Process and program

Lecture 2 topics:

 Interactive and batch os
 buffering and spooling
 Multi-Process (symmetric and asymmetric) 
 Distributed and RealTime(Soft-Hard)
 Process Management
 File Management 
 I/O management 
 Storage Management
 Memory Management
 Operating System Architecture
     Monolithic os
     Layered Os
     Microkernel
     Modules
     Virtual Machine
     Client-Server
     Hybrid Os

Lecture 3 topics:

    Process Status
          New
          Ready
          Wait - Suspend
          Terminate
          Running
    I/O and CPU Burst
    Scheduling
    Schedulers in OS
         Long Term Scheduler
         Middle Term Scheduler
         Short Term Scheduler
         I/O Scheduler
    CPU scheduling
    Preemptive and Non-Preemptive Scheduling
    Interrupt
         Internal interrupts (Trap)
         External interrupts (Hw)
         software interrupts svc
    Dispatcher
    Dispatch Latency
    scheduling criteria      

Lecture 4 topics:

  Scheduling algorithms
  First come First Serve 
  Shortest Job First - Shortest-remaining-time-first 
  FIFO
  PCB
  Convoy Effect 

Lecture 5 topics:

  Priority scheduling
  indefinite Blocking
  Starvation
  (Round Robin) RR
  Context Switch
  Multilevel queue
  Multilevel feedback queue
  Aging

lecture 6 topics:

  Storage hierarchy 
       register
       cache 
       memory
       disk cache
       optical disk
       usb etc
 Paging
 Base Hardware
 Address binding
 Physical and logical Address
      logical and physical address space
      MMU
 swapping
 Contiguous Memory allocation
 Memory Allocation
 Memory Allocation Algorithm
       First-Fit
       Best-Fit
       Wors-Fit
       Next-Fit
External Fragmentation
Internal Fragmentation
compaction

Lecture 7 topics:

  Memory segmentation
  Paging
  Segmentation Methods
  Segmentation Hardware

Lecture 8 topics:

   DeadLock
   Methods for handling deadlock 
    1. Eliminate mutual exclusion
    2. Solve hold and wait
    3. Allow preemption
    4. Circular wait Solution    
    system resource allocation graph

درس سیستم عامل

جزوه های درس سیستم عامل + محتوای اضافه ]

سیستم عامل

  • سیستم عامل یا سامانهٔ عامل (به انگلیسی: operating system ) یا به کوتاهی اُاِس (OS)، نرم‌افزار سیستمی‌ای است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم می‌سازد که نرم‌افزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستم‌عامل جزو ضروری‌ترین نرم‌افزارهای یک سیستم رایانه‌ای است.
    بیشتر بخوانید در این لینک

منابع مورد استفاده :

  • Modern Operating Systems (by Andrew Tanenbaum, Herbert Bos)
  • Operating Systems: Internals and Design Principles (by William Stallings)
  • Operating System Concepts 10th Edition (by Abraham Silberschatz , Greg Gagne, Peter B. Galvin)

اگر دوست داشتید میتونید مطالب رو براحتی دانلود و استفاده کنید و اگر مشکلی دیدید میتونید آپدیت فیکس بدید و اگر فکر می کنید مبحثی جاش خالیه میتونید pull request بدید برای اضافه کردنش :)

 تمامی جلسات به فرمت های زیر موجود است:
 txt, docx, html, md, pdf

جدول محتوا

لینک جلسه
مشاهده اول
مشاهده دوم
مشاهده سوم
مشاهده چهارم
مشاهده پنجم
مشاهده ششم
مشاهده هفتم
مشاهده هشتم

live content table : https://alisharify7.github.io/operating-system-course/

هدف این ریپازیتوری صرفا به اشتراک گذاری چیزایی هست که شاید به درد بعضی افراد بخوره و مفید باشند از اونجایی که من خودم به شخصه طرفدار دنیای Open Source و آزادی نرم افزار و اشتراک گذاری و دسترسی عامه مردم به اطلاعات و دانش هستم خواستم جزوه هایی که در توان خودم هست و در کلاس نوشتم رو تایپ کنم و توی یه فرمت تمیز برای باقی اینجا بزارم باشه :) - 1401/12/19 * 2022/3/10


'Access to knowledge is the beginning of wisdom, and sharing it is the beginning of progress.'

'دسترسی به دانش، آغاز عقلانیت است و به اشتراک گذاشتن آن، آغاز پیشرفت است.'

Albert Einstein