Coder Social home page Coder Social logo

so1-dc-ufscar-2017-2's Introduction

ALUNOS E INSTITUICAO

Projeto realizado referente à disciplina Sistemas Operacionais 1 lecionada, pela docente Kelen Vivaldini, ao curso de Bacharelado em Ciência da Computação na Universidade Federal de São Carlos

Alunos:

André Camargo Rocha            RA: 587052
Guilherme Lemos                RA: 587010
João Gabriel Fanhani Marins    RA: 586919
Miguel Gonçalves Vieira        RA: 609790

DESCRICAO

mycall.c é uma chamada de sistema que, ao passarmos um caminho, um nome e um conteúdo como parâmetros, ela cria o arquivo com o nome e caminho especificados, abre esse arquivo e escreve o conteúdo passado como parametro. Caso o caminho não exista, o diretório será criado

IMPLEMENTAÇÃO

Assumindo que a imagem do linux utilizada esteja na pasta pai de linux-3.17.2 e esteja nomeada como DC_SO.img, temos os seguintes passos a serem realizados:

  1. Alterar o arquivo: linux-3.17.2/arch/x86/syscalls/syscall_32.tlb, adicionando a linha: 357 i386 mycall sys_mymemset

  2. Copiar mycall.c para o diretório `linux-3.12/arch/x86/kernel/``

  3. Incluir a linha: asmlinkage long createFile(const char fileName[], const char dirPath[], const char toWrite[]) no local adequado do arquivo linux-3.17.2/include/linux/syscalls.h

  4. Alterar o arquivo Makefile que está no diretório linux-3.17.2/arch/x86/kernel/, incluindo uma linha: obj-y += mycall.o

  5. Copiar o arquivo ex-mycall.c para a pasta que está a imagem do linux

  6. Rodar a imagem do linux inserindo o executável de ex-mycall.c: qemu-system-i386 -hda DC_SO.img -kernel linux-3.17.2/arch/i386/boot/bzImage -append "ro root=/dev/hda" -hdb ex-mycall

  7. Logar no sistema aberto pelo QEMU com as credenciais corretas

  8. Rodar os comandos: cat /dev/hdb > ex-mycall && chmod +x ex-mycall && ./ex-mycall pelo QEMU

so1-dc-ufscar-2017-2's People

Contributors

andrer0cha avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.