Skip to content

Development of a Linux device driver for a cryptocore in a simulated environment (QEMU for ARM). Preparation of material for a laboratory experience.

License

Tarta56/OS_project

 
 

Repository files navigation

Operating Systems Course Project

Table of contents

Project Description

This project is part of a course on operating systems and focuses on the development of a Linux device driver for a cryptographic core (cryptocore) in a simulated environment. The goal of this project is to provide a practical understanding of device driver development and how it interfaces with hardware components, particularly in the context of a cryptosystem.

The primary objectives of this project include:

  • Device Driver Development: Create a Linux kernel module that interfaces with the simulated cryptocore hardware.

  • Cryptographic Operations: Implement cryptographic operations using the cryptocore hardware.

  • System Integration: Integrate the device driver into the Linux kernel and test its functionality within the simulated environment.

  • Documentation: Provide clear and comprehensive documentation to guide users and future developers.

This project aims to give you a deeper understanding of how operating systems manage hardware resources and how user processes interact with the kernel.

Project Structure

Here's an overview of the project's directory structure:

/ 
|-- Backup/
|   |-- 2023-10-24--18:20:41
|   |-- backup.sh
|-- Laboratory_Experience/
|   |-- Material/
|       |-- Part1
|       |-- Part2
|       |-- Part3
|       |-- Lab_experiences_OS.pdf
|   |-- Solution/
|       |-- Part2
|       |-- Part3
|-- PowerPoint_Presentation/
|   |-- PPT_presentation.pptx/
|-- LICENSE.md
|-- README.md
  • Backup/: This directory contains a backup of all the files modified by us during the development of this project and a script useful to automate the process.

  • Laboratory_Experience/: This directory contains the documentation and the useful materials divided for each laboratory experience, and the relative solutions developed by us.

  • PowerPoint_Presentation/: This directory holds the power point presentation that contains the explanation of our project.

  • LICENSE.md: This is the license of this project.

Getting Started

To get started with the laboratory experience, follow these steps:

  1. Clone this repository to your development environment.

  2. Start from the folder Part1 for the first laboratory experience, review the files present in this folder and the OS_Lab1.pdf presentation.

  3. Follow the steps presents in the documentation of this first laboratory to setup the environment.

  4. Now you can start develop and test the unit following the other laboratory experiences.

License

The project is licensed under Creative Commons Attribution-NonCommercial (CC BY-NC) license that you can read about in more details here

About

Development of a Linux device driver for a cryptocore in a simulated environment (QEMU for ARM). Preparation of material for a laboratory experience.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 93.8%
  • Makefile 3.9%
  • Shell 1.3%
  • Other 1.0%