Skip to content

antoniopedrofraga/SOPE-FEUP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Operating Systems

The main objectives of this curricular unit were to provide the fundamental knowledge on:

  • the structure and the functioning of an operating system;
  • the use of the Application Programming Interface (API) of a real.

The programming language used to develop these projects was C.

Course Programme

INTRODUCTION TO OPERATING SYSTEMS

  • Objectives and functions of an operating system
  • Evolution of operating systems; structure of modern operating systems
  • Abstractions supported by an operating system and their programming interface
  • Hardware support and protection requirements

PROCESS MANAGEMENT

  • Processes and threads; process status
  • Scheduling strategies
  • Concurrent execution: problems and solutions
  • Synchronization mechanisms between processes
  • Deadlocks

MEMORY MANAGEMENT

  • Basic memory management: overlays, swapping and partitions
  • Virtual memory systems: paging and segmentation
  • Implementation of virtual memory; strategies for memory allocation/ release

INPUT/OUPUT SYSTEMS

  • Input/output hardware and software
  • Abstraction of differences between devices

FILE SYSTEMS

  • File-system interface
  • File-system implementation; disk management

SYSTEM PROGRAMMING (API, UNIX/LINUX) - covered along the course

  • File and directory manipulation.
  • Process and thread creation and management.
  • Interprocess communication: signals, pipes, FIFOs, and shared memory.
  • Process and thread synchronization: semaphores, mutexes and condition variables.

About

Code developed by me as FEUP student at SOPE subject

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published