Introdução ao Desenvolvimento com LINUX: Módulos do Kernel

Tamanho: px
Começar a partir da página:

Download "Introdução ao Desenvolvimento com LINUX: Módulos do Kernel"

Transcrição

1 Introdução ao Desenvolvimento com LINUX: Módulos do Kernel Lucas Wanner, Antônio Augusto Fröhlich 16 de Jul de

2 Desmotivação para Desenvolver Software de Sistema Já temos Windows e Unix e MacOS! Que são sistemas multiusuário, multitarefa com interfaces gráficas legais que nos permitem acessar a Web... E fazem uso de modernas técnicas de engenharia de software, como programação estruturada! E há inúmeras histórias de SOs fracassados... E temos ótimos padrões de SO! APIs fortes como Posix e Win32 Hardware se fixando na novíssima arquitetura IA 32 Como disse Pike: pesquisa em SO é irrelevante! 2

3 Motivação para Desenvolver Software de Sistema Sistemas de propósito geral Prontos para o que der e vier Qualquer aplicação Muitos serviços Sistemas dedicados Where are the processors? (Tennenhouse, CACM 43(5):44) embedded 80% Aplicações particulares Requisitos específicos e interactive 2% robots 6% vehicles 12% poucos serviços São a grande MAIORIA! 8 bit 63% 4 bit 22% >= 32 bit 3% 16 bit 12% 3

4 Sistemas Dedicados na Forma de Placas PCI 4

5 Drivers de dispositivos Caixa preta que esconde a interação com o hardware atrás de uma interface de software comum (API/SPI) Implementados através de módulos carregáveis no kernel dos UNIXes modernos (e.g. LINUX) 5

6 Kernel LINUX 6

7 Kernel LINUX 7

8 Drivers de dispositivos no LINUX API inspirada em arquivos Dispositivos representados por pseudo arquivos Operações típicas de arquivos Open / Close, Read / Write Implementados através de módulos carregáveis ou lincados diretamente ao kernel Categorias Dispositivos orientados à caractere Dispositivos orientados a bloco Dispositivos de rede 8

9 Pseudo Arquivos de Dispositivos de Hardware Por convenção, no diretório /dev Kernel redireciona as operações realizadas nos pseudo arquivos para os serviços correspondentes do driver do dispositivo Pseudo arquivos são amarrados com os dispositivos através dos números major e minor 9

10 Pseudo Arquivos de Dispositivos de Hardware Número Major Identifica o driver (módulo) que deve ser acessado Número de 8 bits Número Minor Identifica o dispositivo (unidade) dentro do contexto do módulo Exemplo Driver IDE: major = 3 Primeira partição do primeiro disco IDE: minor = 1 10

11 Dispositivos Orientados à Caractere Vistos como fluxos de bytes Operação similar a arquivos comuns Exceção: não é possível avançar/retroceder na leitura/escrita (i.e. seek) Exemplos /dev/console /dev/ttys0 11

12 Dispositivos orientados a blocos Dispositivos que, durante as operações de I/O, acessam dados em blocos Dispositivos relacionados com sistemas de arquivos (e.g. discos) Interface comum com dispositivos orientados à caractere, mas com semântica distinta Orientados a blocos Poder avançar ou retroceder a leitura/escrita Operações adicionais para suportar sistemas de arquivos 12

13 Dispositivos de Rede Não se encaixam no esquema de pseudoarquivos Geralmente não são um nodo no sistema de arquivos Integrados a uma pilha de protocolos Interface de rede genérica Operações relacionadas a comunicação (e.g. envio de dados, recepção, manipulação de time outs, agrupamento de estatísticas) Otimizada para integração a pilha TCP/IP 13

14 Inicialização de Módulos Inicialização int init_module(void) Ponto de entrada do módulo Chamado na carga (pelo comando insmod) Registra o módulo no kernel Finalização void cleanup_module(void) Ponto de saída do módulo Chamado na finalização (pelo comando rmmod) Deregistra o módulo 14

15 Compilação de Módulos Sistema de compilação do Kernel 2.6 Usa um sistema estendido de make com Makefiles simplificados para os drivers: $ cat Makefile obj-m := hello.o Compilando módulos de fora da árvore do kernel make -C $LINUX_SRC/ M='pwd' modules Exige uma árvore configurada do kernel! 15

16 Compilando o Kernel LINUX Preparação Pacotes necessários sudo apt-get install linux-kernel-devel fakeroot qt3-dev-tools libqt3-mt-dev (Ubuntu) Download do código fonte do kernel sudo apt-get install linux-source (Ubuntu) Download disponível em kernel.org Criação de diretório para compilação mkdir ~/src cd ~/src tar xjvf /usr/src/linux-source-versao.tar.bz2 cd linux-source-versao 16

17 Compilando o Kernel LINUX Processo de Compiliação Cópia da configuração atual cp -vi /boot/config-`uname -r`.config Configuração make xconfig Compilação make Utilização do kernel compilado (não é necessário para compilar os módulos) make kernel-image Atualização da configuração do bootloader 17

18 Exercício: Hello Module Crie um módulo Hello World Defina as funções de entrada e saída do módulo: static int hello_init(void) static void hello_exit(void) No corpo destas funções, imprima uma mensagem Exemplo: printk(kern_alert "Hello, world.\n"); Registre as funções com as macros module_init(x) e module_exit(y) Crie um módulo Hello World Headers #include <linux/init.h>, #include <linux/module.h> 18

19 Exercício: Hello Module #include <linux/init.h> #include <linux/module.h> static int hello_init(void) { printk(kern_alert "Hello, kernel\n"); return 0; } static void hello_exit(void) { printk(kern_alert "Goodbye, kernel\n"); } module_init(hello_init); module_exit(hello_exit); 19

20 Exercício: Hello Module $ ls hello.c Makefile $ make -C /lib/modules/`uname -r`/build M=`pwd` modules make: Entering directory `~/src/linux-source ' CC [M] /home/lucas/tmp/linux-dev/modules/hello/hello.o Building modules, stage 2. MODPOST 1 modules CC /home/lucas/tmp/linux-dev/modules/hello/hello.mod.o LD [M] /home/lucas/tmp/linux-dev/modules/hello/hello.ko make: Leaving directory `~/src/linux-source ' $ ls hello.c hello.ko hello.mod.c hello.mod.o hello.o Makefile Module.symvers 20

21 Hello Module: Saída Saída gerada pela biblioteca do kernel (método printk) Mensagens visíveis através do comando dmesg $ sudo insmod hello.ko $ dmesg grep Hello [ ] Hello, kernel $ sudo rmmod hello $ dmesg grep Goodbye [ ] Goodbye, kernel 21

22 Hello Module: Trace Quando insmod é chamado, o kernel Aloca memória para o módulo Abre o arquivo que contem o código Lê o arquivo para a memória alocada Chama o método init_module() 22

23 Hello Module: Trace sudo strace insmod hello.ko execve("/sbin/insmod", ["insmod", "hello.ko"], [/* 16 vars */]) = 0 brk(0) = 0x804a000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(null, 8192, PROT_READ PROT_WRITE, MAP_PRIVATE MAP_ANONYMOUS, -1, 0) = 0xb7f0a000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=s_ifreg 0644, st_size=78806,...}) = 0 mmap2(null, 78806, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7ef6000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260e\1"..., 512) = 512 fstat64(3, {st_mode=s_ifreg 0755, st_size= ,...}) = 0 mmap2(null, , PROT_READ PROT_EXEC, MAP_PRIVATE MAP_DENYWRITE, 3, 0) = 0xb7da7000 mmap2(0xb7ef0000, 12288, PROT_READ PROT_WRITE, MAP_PRIVATE MAP_FIXED MAP_DENYWRITE, 3, 0x149) = 0xb7ef0000 mmap2(0xb7ef3000, 9840, PROT_READ PROT_WRITE, MAP_PRIVATE MAP_FIXED MAP_ANONYMOUS, -1, 0) = 0xb7ef3000 close(3) = 0 mmap2(null, 4096, PROT_READ PROT_WRITE, MAP_PRIVATE MAP_ANONYMOUS, -1, 0) = 0xb7da6000 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7da66b0, limit: , seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 mprotect(0xb7ef0000, 4096, PROT_READ) = 0 munmap(0xb7ef6000, 78806) = 0 brk(0) = 0x804a000 brk(0x806b000) = 0x806b000 open("hello.ko", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\1\0\3\0\1\0\0\0\0\0\0\0"..., 16384) = read(3, "\0\0\rM\1$\0\0\0\3#\354@\32\325\31\0\0\rN\1\3\n\0\0\3#"..., 16384) = read(3, "r_cpu_pages\0 vm86_gs\0io_bitmap"..., 32768) = read(3, "", 15700) = 0 close(3) = 0 init_module(0x804a018, 49836, "") = 0 exit_group(0) =? Process detached 23

24 Registro de Módulos Liga um módulo à interface de chamadas de sistema do kernel Registro int register_chrdev(unsigned int major, const char *name, struct file_operations *fops) Deregistro int unregister_chrdev(unsigned int major, const char *name) Pseudo arquivo mknod /dev/devname0 c major minor 24

25 Parâmetros do Módulo Variáveis globais acessíveis externamente Declaradas através da macro MODULE_PARM(variavel, tipo, permissões) int irq = 10; char * name = Unknown ; /*declara irq como int */ MODULE_PARM(irq, i, 0); /*declara name como string */ MODULE_PARM(name, s, 0); Definidas em tempo de carga insmod mod.o irq=9 name= The Module 25

26 Informações do Módulo Declarações do módulo visíveis externamente, que fornecem informações aos clientes do módulo Macros MODULE_LICENSE("GPL"); MODULE_AUTHOR("Alguem"); MODULE_DESCRIPTION("Este modulo não faz nada"); MODULE_PARM_DESC(irq, "Device IRQ (3/4)" 26

27 Operações de arquivo struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char *, size_t, loff_t *); ssize_t (*write) (struct file *, const char *, size_t, loff_t *); int (*readdir) (struct file *, void *, filldir_t); unsigned int (*poll) (struct file *, struct poll_table_struct *); int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long); int (*mmap) (struct file *, struct vm_area_struct *); int (*open) (struct inode *, struct file *); int (*flush) (struct file *); int (*release) (struct inode *, struct file *); int (*fsync) (struct file *, struct dentry *, int datasync); int (*fasync) (int, struct file *, int); int (*lock) (struct file *, int, struct file_lock *); : : }; 27

28 Estrutura arquivo struct file { struct list_head f_list; struct dentry *f_dentry; struct vfsmount *f_vfsmnt; struct file_operations *f_op; atomic_t f_count; unsigned int f_flags; mode_t f_mode; loff_t f_pos; unsigned long f_reada, f_ramax, f_raend,f_ralen,f_rawin; struct fown_struct f_owner; unsigned int f_uid, f_gid; int f_error; : }; MINOR(f_dentry->d_inode->i_rdev) 28

29 Contador de Referências Contador de Referências do Módulo Contabiliza automaticamente o número de clientes que um módulo tem em um determinado momento Evita que um modulo que está sendo utilizado seja descarregado Manipulado pelas funções: int try_module_get(&module); module_put(); 29

30 Gerência de Memória Código do kernel roda no contexto do processo de usuário que fez a chamada #include <asm/uaccess.h> unsigned long copy_to_user(to, from, count); unsigned long copy_from_user(to, from, count); Alocação de memória dentro do kernel #include <linux/malloc.h> void *kmalloc(unsigned int size, int priority); void kfree(void *obj); 30

31 Dicas de Programação Não utilizar bibliotecas (e cabeçalhos) padrão printk no lugar de printf #include <linux/x.h> #include <asm/y.h> Sinalizar código de kernel #define KERNEL Evitar conflitos de nomes Símbolos locais (static) Símbolos pré fixados (mod_sym) EXPORT_NO_SYMBOLS; 31

Desenvolvimento para Sistemas Embarcados (CEA 513) Sistema de Arquivos Raiz & Componentes do Kernel

Desenvolvimento para Sistemas Embarcados (CEA 513) Sistema de Arquivos Raiz & Componentes do Kernel Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Desenvolvimento para Sistemas Embarcados (CEA 513) Sistema de Arquivos Raiz & Vicente Amorim vicente.amorim.ufop@gmail.com

Leia mais

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída Introdução aos Sistemas Operacionais Subsistema de Entrada e Saída Eleri Cardozo FEEC/Unicamp Entrada e Saída O subsistema de entrada e saída é responsável pela interface entre o sistema operacional e

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Módulos do núcleo Programação de Sistemas Módulos : 1/15 Introdução (1) Desenvolvimentos do núcleo, como a criação de novos dispositivos, podem ser incorporados no Linux em duas

Leia mais

Sistemas Operacionais. Laboratório 1 (Ambiente de Aprendizado)

Sistemas Operacionais. Laboratório 1 (Ambiente de Aprendizado) Sistemas Operacionais Laboratório 1 () Roteiro Linux em modo texto Acesso Interpretador de comandos Comandos Básicos Tratamento de Arquivos e Diretórios (Pasta*) Permissões Processos Editor de Texto Criação

Leia mais

Interfaces e Periféricos 2005/2006

Interfaces e Periféricos 2005/2006 Interfaces e Periféricos 2005/2006 Device drivers Paulo Pedreiras, V1.0, Fev/2006 Device Drivers: Introdução O número de periféricos existentes é muito vasto: Teclado, rato, carta gráfica, carta de rede,

Leia mais

Básico: estrutura de programa, sintaxe Interface com linha de comando

Básico: estrutura de programa, sintaxe Interface com linha de comando Programação em C Sintaxe Básico: estrutura de programa, sintaxe Interface com linha de comando Preprocessamento e compilação Makefiles Ponteiros e estruturas Bibliotecas, ficheiros include e funções Referências

Leia mais

Sistemas de Arquivos. (Aula 23)

Sistemas de Arquivos. (Aula 23) Sistemas de Arquivos (Aula 23) Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais 2008/1 Necessidade de Armazenamento

Leia mais

Sistemas Operacionais 2014 Prática 8 Linux Drivers. Alexandre Augusto Giron

Sistemas Operacionais 2014 Prática 8 Linux Drivers. Alexandre Augusto Giron Sistemas Operacionais 2014 Prática 8 Linux Drivers Alexandre Augusto Giron Objetivos da Prática Introdução aos drivers de dispositivos no Linux Como programar um driver no Linux Acesso direto aos dispositivos

Leia mais

Gerência de Entrada e Saída

Gerência de Entrada e Saída Gerência de Entrada e Saída Dispositivos de Entrada e Saída (1) Constituídos de 2 partes: Mecânica Eletrônica Controladora ou Adaptadora Controladora Placa ligada a um slot livre, ou inserida diretamente

Leia mais

Estruturas de Sistemas Operacionais

Estruturas de Sistemas Operacionais Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema

Leia mais

DESENVOLVIMENTO DE UM SISTEMA DE ARQUIVOS INSTALÁVEL PARA LINUX. Thiago Klein Flach Orientador: Mauro Marcelo Mattos

DESENVOLVIMENTO DE UM SISTEMA DE ARQUIVOS INSTALÁVEL PARA LINUX. Thiago Klein Flach Orientador: Mauro Marcelo Mattos DESENVOLVIMENTO DE UM SISTEMA DE ARQUIVOS INSTALÁVEL PARA LINUX Thiago Klein Flach Orientador: Mauro Marcelo Mattos ROTEIRO 1 Introdução: 1.1 Objetivos. 2 Fundamentação Teórica: 2.1 Conceitos Básicos;

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 2018.2 Bibliotecas Biblioteca é uma conjunto de subprogramas utilizados na programação que contém código e dados auxiliares externos ao programa principal, o que permite

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução aos Gestores de dispositivos Programação de Sistemas DD : 1/44 Introdução (1) O Linux acede a elevado número periféricos, ou dispositivos ( device ) de entrada saída

Leia mais

Introdução a C. Para saber quais os procedimento ou funções que existem em cada biblioteca, acesse

Introdução a C. Para saber quais os procedimento ou funções que existem em cada biblioteca, acesse Introdução a C Formatação do codigo em C Todos os códigos em C possuem a seguinte formatação: bibliotecas variáveis globais procedimentos ou funções (se necessário) função principal E sempre são salvos

Leia mais

Programação no kernel Linux. Felipe W Dam asio

Programação no kernel Linux. Felipe W Dam asio Programação no kernel Linux Felipe W Dam asio 1 Visão Geral Linux é um kernel monolítico Símbolos exportados para todo o sistema Dificuldade de adição de APIs, hardware Problemas com escalabilidade 2 Visão

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Arquivos Copyright 2014 IFRN Agenda Conceito Tipos de arquivos Texto Binário Stream Principais funções Exemplos

Leia mais

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior - Capítulo 5 Afirmações Entrada/Saída Introdução Processos se comunicam com o mundo externo através de dispositivos de E/S. Processos não querem ou não precisam entender como funciona o hardware. Função

Leia mais

Exame de. Arquitectura de Computadores. (Duração minutos) Classifique cada uma das alíneas seguintes como Verdadeira ou Falsa.

Exame de. Arquitectura de Computadores. (Duração minutos) Classifique cada uma das alíneas seguintes como Verdadeira ou Falsa. Exame de (Duração 45+45 minutos) Nome: Número: 1. (4) Classifique cada uma das alíneas seguintes como Verdadeira ou Falsa. 1.1. Num sistema baseado no processador Intel 80386DX em modo protegido, a) o

Leia mais

V 1.6. LPI 101 Arquitetura do Sistema

V 1.6. LPI 101 Arquitetura do Sistema LPI 101 Arquitetura do Sistema 101 Arquitetura do Sistema 101.1 Hardware Skills Configurar hardware no sistema Habilita e desabilitar periféricos integrados Configurar systemas com ou sem periféricos externos

Leia mais

Introdução ao Desenvolvimento do Kernel Linux

Introdução ao Desenvolvimento do Kernel Linux Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X http://www.tchelinux.org Palestrante: Douglas Schilling Landgraf Email: dougsland@gmail.com Sobre o palestrante Sobre a palestra Dicas iniciais

Leia mais

3 CONCEITOS DE SISTEMAS OPERACIONAIS

3 CONCEITOS DE SISTEMAS OPERACIONAIS 3 CONCEITOS DE SISTEMAS OPERACIONAIS 3.1 COMPONENTES DO SISTEMA Os Sistemas Operacionais são divididos em algumas partes básicas, conforme ilustrado na Figura 3.1. 1. Gerente de Processos; 2. Gerente de

Leia mais

Gestor de Sistemas de Ficheiros

Gestor de Sistemas de Ficheiros Gestor de Sistemas de Ficheiros 8/28/2003 Sistemas Operativos 1 Memória Persistente 8/28/2003 Sistemas Operativos 2 Dispositivos de Memória Persistente dispositivos lógicos: um dispositivo físico subdivide-se

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Organização de um ambiente computacional Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC

Leia mais

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 10 Inter Integrated

Leia mais

Sistemas Operacionais II. Linux - Introdução

Sistemas Operacionais II. Linux - Introdução Sistemas Operacionais II Linux - Introdução 2 Histórico Em 1991, um estudante de computação da Finlândia chamado Linus Torvalds desenvolveu um kernel compatível com o Unix para um processador 80386 que

Leia mais

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal Sistemas Operacionais Aula 15: Sistemas de I/O Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br Objetivos Explorar a estrutura do subsistema de E/S de um sistema operacional Discutir

Leia mais

Sistemas Operacionais. Introdução a Sistemas Operacionais

Sistemas Operacionais. Introdução a Sistemas Operacionais Introdução a arliones.hoeller@ifsc.edu.br baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto 1 Sistemas de computação Hardware CPU + memória + dispositivos de E/S Aplicações Objetivo

Leia mais

Arquitetura e Organização de Computadores. Compiladores e processamento

Arquitetura e Organização de Computadores. Compiladores e processamento Arquitetura e Organização de Computadores Compiladores e processamento Verificar a existência dos pacotes: - GCC (Gnu C Compiler); - GDB (Gnu Debuger); - Libc (blibliotecas C); - nano, vi, emacs ou outro

Leia mais

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

Aplicações em CUDA. Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center

Aplicações em CUDA. Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center Aplicações em CUDA Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center Roteiro l Introdução l Eventos l Aspectos históricos l Operações atômicas l Introdução sobre

Leia mais

1. (5) Arquitectura de Computadores. Classifique cada uma das alíneas seguintes como Verdadeira ou Falsa.

1. (5) Arquitectura de Computadores. Classifique cada uma das alíneas seguintes como Verdadeira ou Falsa. Exame de Época Normal (Duração 45+45 minutos) Nome: Número: 1. (5) Classifique cada uma das alíneas seguintes como Verdadeira ou Falsa. 1.1. Num sistema baseado no processador Intel Pentium em modo protegido,

Leia mais

ADTs (Abstract Data Types): Motivação

ADTs (Abstract Data Types): Motivação ADTs (Abstract Data Types): Motivação Mesmas estruturas são usadas com vários tipos de dados Listas Pilhas Amontoado FIFOs Inteiros Reais Strings Estruturas O procedimento para inserir um inteiro, real,

Leia mais

Real Time Application Interface

Real Time Application Interface Real Time Application Interface RTAI-3.x Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo

Leia mais

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 13 Drivers Prof. Walter

Leia mais

Universidade Federal de Pernambuco Centro de Informática. Aluno: Anderson L. S. Moreira alsm4@cin.ufpe.br Orientador: Paulo R. R.

Universidade Federal de Pernambuco Centro de Informática. Aluno: Anderson L. S. Moreira alsm4@cin.ufpe.br Orientador: Paulo R. R. Sistemas RTAI Universidade Federal de Pernambuco Centro de Informática Aluno: Anderson L. S. Moreira alsm4@cin.ufpe.br Orientador: Paulo R. R. Maciel Agenda Introdução O que é um SOTR Como funciona Exemplo

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET42G Aula 21 Prof. Daniel Cavalcanti Jeronymo Conversão de tipos. Alocação dinâmica de memória. Recursão. Criação de bibliotecas, arquivos de cabeçalhos e variáveis globais.

Leia mais

Métodos Computacionais

Métodos Computacionais Métodos Computacionais Objetivos da Disciplina e Introdução a Linguagem C Construções Básicas Objetivos da Disciplina Objetivo Geral Discutir técnicas de programação e estruturação de dados para o desenvolvimento

Leia mais

Sistemas de Arquivos. Diretórios Gerenciamento de Espaço em Disco

Sistemas de Arquivos. Diretórios Gerenciamento de Espaço em Disco Sistemas de Arquivos Diretórios Gerenciamento de Espaço em Disco Implementação de Diretórios (1) Contém informações que permitem acessar os arquivos As entradas do diretório fornecem informações para encontrar

Leia mais

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Programação Shell Script: como dominar seu terminal

Programação Shell Script: como dominar seu terminal Programação Shell Script: como dominar seu terminal 14 de Outubro de 2008 1 2 Sistemas Operacionais Shell 3 4 5 O que é Shell? Programa interpretador de instruções Por que utilizar o Shell? Facilidade

Leia mais

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Processos Periódicos Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Cron O cron é um programa de agendamento

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Ambientes de Execução

Ambientes de Execução KERNEL Conceitos Conceitos POSIX Portable Operating System Interface for UNIX. Um conjunto de padrões da IEEE e ISO que definem como programas e sistemas operacionais de interface com os outros. Sistemas

Leia mais

INTRODUÇÃO A SISTEMAS DE ARQUIVO E GERENCIA DE MEMÓRIA

INTRODUÇÃO A SISTEMAS DE ARQUIVO E GERENCIA DE MEMÓRIA INTRODUÇÃO A SISTEMAS DE ARQUIVO E GERENCIA DE MEMÓRIA Prof. Hélio Esperidião DEFINIÇÕES DE ARQUIVOS Um arquivo é basicamente um conjunto de dados armazenados em um dispositivo físico não-volátil, com

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para

Leia mais

UFRJ IM - DCC. Departamento de Ciência da Computação. Sistemas Operacionais II. 25/10/2016 Profª Valeria Menezes Bastos 1

UFRJ IM - DCC. Departamento de Ciência da Computação. Sistemas Operacionais II. 25/10/2016 Profª Valeria Menezes Bastos 1 UFRJ IM - DCC Departamento de Ciência da Computação Sistemas Operacionais II 25/10/2016 Profª Valeria Menezes Bastos 1 File System no UNIX Provê armazenamento persistente Facilidades no gerenciamento de

Leia mais

2 SYSCALLs: O que são

2 SYSCALLs: O que são Trabalho de Software Básico - Turma 2010-1 Nome: Francisco Panis Kaseker GRR20071909 Título: Explicação e implementação de uma SYSCALL Data: 30/06/2010 1 Introdução Basicamente uma SYSCALL é uma chamada

Leia mais

Roteiro 20/9/2010. Serviço do sistema operacional. Interface. Chamadas de sistemas (System Call) Programas do sistema Projeto e Implementação

Roteiro 20/9/2010. Serviço do sistema operacional. Interface. Chamadas de sistemas (System Call) Programas do sistema Projeto e Implementação BC1518 - Sistemas Operacionais Estrutura de S.O. Aula 02 3 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento Email: marcelo.nascimento@ufabc.edu.br Roteiro Serviço do sistema operacional Interface Chamadas

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Professor: Jailson Torquato Sistema Operacional - Linux Conhecimentos básicos em informática O que é Linux? Sistema operacional: é o componente de software que faz a interface

Leia mais

Linux Básico. Prof. Gutemberg Gonçalves dos Santos Júnior. Center of Electrical Engineering and Informatics Federal University of Campina Grande

Linux Básico. Prof. Gutemberg Gonçalves dos Santos Júnior. Center of Electrical Engineering and Informatics Federal University of Campina Grande Linux Básico Prof. Gutemberg Gonçalves dos Santos Júnior Center of Electrical Engineering and Informatics Federal University of Campina Grande História do Linux A história começa em 1991 com o estudante

Leia mais

The Cyclops Project. Introdução: C++

The Cyclops Project. Introdução: C++ The Cyclops Project Introdução: C++ Aula 1 Visão Geral Histórico da Linguagem Programa C++: header, source função main() GCC Arquivos objeto, bibliotecas dinâmicas e estáticas #include, #define, namespaces,

Leia mais

COS Sistemas Operacionais. SystemCalls() [Linux Kernel Development, 2 nd edition] Prof. Vítor Santos Costa

COS Sistemas Operacionais. SystemCalls() [Linux Kernel Development, 2 nd edition] Prof. Vítor Santos Costa COS 773 - Sistemas Operacionais SystemCalls() [Linux Kernel Development, 2 nd edition] Elias Bareinboim [eliasb@cos.ufrj.br] Prof. Vítor Santos Costa PESC - Programa de Engenharia de Sistemas e Computação

Leia mais

Sistema de arquivos. Adriano J. Holanda 24/5/2016

Sistema de arquivos. Adriano J. Holanda 24/5/2016 Sistema de arquivos Adriano J. Holanda 24/5/2016 Sistema de arquivos Definição Interface entre os processos e os meios de armazenamento que fornece as abstrações e operações para a manipulação de bytes.

Leia mais

The Virtual File System (VFS) Andrey Matheus Coppieters Profº. Vitor Santos Sistemas Operacionais I

The Virtual File System (VFS) Andrey Matheus Coppieters Profº. Vitor Santos Sistemas Operacionais I The Virtual File System (VFS) Andrey Matheus Coppieters Profº. Vitor Santos Sistemas Operacionais I Arquivos - Introdução Necessidade de armazenamento de informações que precisam estar disponíveis após

Leia mais

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações

Leia mais

Introdução aos Sistemas Operacionais. Subsistema de Arquivos

Introdução aos Sistemas Operacionais. Subsistema de Arquivos Introdução aos Sistemas Operacionais Subsistema de Arquivos Eleri Cardozo FEEC/Unicamp Subsistema de Arquivos O subsistema de arquivos deve prover soluções para as seguintes questões: Como a informação

Leia mais

Sistemas Operacionais II Unix: Memória e E/S. Geraldo Braz Junior

Sistemas Operacionais II Unix: Memória e E/S. Geraldo Braz Junior Sistemas Operacionais II Unix: Memória e E/S Geraldo Braz Junior Gerenciamento de Memória Gerenciamento de Memória Espaço de Endereçamento 1. Segmento de código Instruções de máquina que formam o código

Leia mais

PCS-2042 Sistemas Operacionais. Projeto 3: Drivers

PCS-2042 Sistemas Operacionais. Projeto 3: Drivers PCS-2042 Sistemas Operacionais Projeto 3: Drivers Mark Hodgkin Pedro d Aquino Rafael da Silva 13/07/2008 CONTEÚDO Objetivo... 3 Drivers no Minix... 4 Criando um Driver... 4 Proposta do Projeto... 5 Bibliografia...

Leia mais

Sistemas de Arquivos

Sistemas de Arquivos Sistemas de Arquivos Problemas da alocação em RAM Baixa capacidade Volatilidade Solução: uso de arquivos Conceito de arquivo Espaço endereços lógico contíguo Coleção informações correlatas com mesmo nome

Leia mais

Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA)

Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA) Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA) Aula 03 Visão Geral do Linux Objetivos Entender de forma básica o funcionamento do sistema Linux; Aprender as principais

Leia mais

Administração de Sistemas Operacionais

Administração de Sistemas Operacionais Administração de Sistemas Operacionais Linux - Introdução Alex Furtunato CEFET/RN alex@cefetrn.br http://www.cefetrn.br/~alex Sumário Histórico Características principais Distribuições Partições Sistema

Leia mais

Moisés Souto docente.ifrn.edu.br/moisessouto

Moisés Souto docente.ifrn.edu.br/moisessouto Moisés Souto docente.ifrn.edu.br/moisessouto moises.souto@ifrn.edu.br Aula 02 Acesso ao sistema e comandos básicos Software O que torna o computador reutilizável para diferentes propósitos Sem software,

Leia mais

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Estruturas de Dados Revisão de Ponteiros Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros e Arranjos

Leia mais

16. Compilação no Linux

16. Compilação no Linux 16. Compilação no Linux 16.1 Compilador X Interpretador Um código fonte pode ser compilado ou interpretado. Compiladores e interpretadores tratam o código de maneira diferente. Interpretador: Lê o código

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Paradigma Imperativo Matheus Hafner Tiago Xavier CET 087 - Conceitos de Linguagens de Programação (CLP) 17 de novembro de 2011 Aula Prática Instalação Fortran sudo apt-get install

Leia mais

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Linguagem C Introdução Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Porquê C em AC? A linguagem C fornece um modelo de programação próximo da máquina física

Leia mais

O Linux Possui varias características que diferenciam dos outros sistemas operacionais e que aproximam do UNIX, sendo um dos motivos da sua escolha

O Linux Possui varias características que diferenciam dos outros sistemas operacionais e que aproximam do UNIX, sendo um dos motivos da sua escolha O Linux Possui varias características que diferenciam dos outros sistemas operacionais e que aproximam do UNIX, sendo um dos motivos da sua escolha em várias aplicações nas quais são necessárias estabilidade

Leia mais

Linguagem de Programação C

Linguagem de Programação C Linguagem de Programação C Aula 08 Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais 13 de novembro de 2009 Introdução O que é uma linguagem

Leia mais

Noções de Processos. Plano da aula. Serviços oferecidos. Definição & Objetivos. Definição & Objetivos. Sistemas Operacionais : introdução

Noções de Processos. Plano da aula. Serviços oferecidos. Definição & Objetivos. Definição & Objetivos. Sistemas Operacionais : introdução Plano da aula Noções de Processos Marcelo Johann Introdução Histórico Multiprogramação Noção de processo Definição Ciclo de vida do processo Suporte de Hardware para multi-programação Mecanismo de interrupção

Leia mais

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída

Leia mais

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton nilton@comp.uems.br Introdução A linguagem C foi inventada por Dennis Ritchie e

Leia mais

INF1007: Programação 2. 2 Alocação Dinâmica. 17/02/2014 (c) Dept. Informática - PUC-Rio 1

INF1007: Programação 2. 2 Alocação Dinâmica. 17/02/2014 (c) Dept. Informática - PUC-Rio 1 INF1007: Programação 2 2 Alocação Dinâmica 17/02/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Alocação dinâmica Vetores locais e funções 17/02/2014 (c) Dept. Informática - PUC-Rio 2 Alocação Dinâmica

Leia mais

Existe uma quantidade de informação que pode ser armazenada para resolver o problema.

Existe uma quantidade de informação que pode ser armazenada para resolver o problema. Arquivos Introdução As estruturas vistas anteriormente armazenam as informações na memória principal do computador. Nem sempre é conveniente. Problemas: A informação é perdida; As estruturas de dados são

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Controlador de impressora por interface paralela Programação de Sistemas Centronics : 1/33 Introdução (1) A interface paralela IEEE1284, ou Centronics, permite dois equipamentos

Leia mais

Modulo 12: alocação dinâmica de memória

Modulo 12: alocação dinâmica de memória PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 12: alocação dinâmica de memória Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro porque e como utilizar a alocação dinâmica funções: malloc (

Leia mais

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006 Capítulo 13: Sistemas de E/S Capítulo 13: Sistemas de E/S Hardware de E/S Interface de E/S da aplicação Subsistema de E/S do kernel Transformando requisições de E/S em operações de hardware Fluxos Desempenho

Leia mais

Roteiro de Comunicação Raspberry Arduino/ESP8266 com I2C

Roteiro de Comunicação Raspberry Arduino/ESP8266 com I2C Roteiro de Comunicação Raspberry Arduino/ESP8266 com I2C Existem diversas aplicações e motivos para comunicar um Raspberry Pi com um ESP8266: aplicações com módulos heterogêneos, usando um Raspberry Pi

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Introdução O sistema de arquivos é a parte mais visível do sistema operacional. Cria um recurso lógico a partir de recursos físicos

Leia mais

GRUPO: Rafael Igor Vanderlei Vieira

GRUPO: Rafael Igor Vanderlei Vieira GRUPO: Rafael Igor Vanderlei Vieira C# INTRODUÇÃO Paradigmas: Orientado a objeto; Estruturado; Imperativo; Surgimento: 2002. Criador: Anders Hejlsberg. Principais Compiladores:.NET Framework (Windows),

Leia mais

Planificação Anual da Disciplina de Sistemas Operativos - 12º 1PI

Planificação Anual da Disciplina de Sistemas Operativos - 12º 1PI Módulo3-24Blocos Planificação Anual da Disciplina de Sistemas Operativos - 12º 1PI. Conhecer o enquadramento Sistema Operativo Windows Server Introdução ao S. O. Windows Server histórico do Windows Server

Leia mais

ACL s Linux POSIX. João Paulo Ozório Leandro Pereira Paulo César Ferreira

ACL s Linux POSIX. João Paulo Ozório Leandro Pereira Paulo César Ferreira ACL s Linux POSIX João Paulo Ozório Leandro Pereira Paulo César Ferreira O que são ACL s O sistema de permissões do Linux é considerado muito seguro e simples de utilizar. Cada arquivo ou diretório pode

Leia mais

Gerência do Sistema de Arquivos. Adão de Melo Neto

Gerência do Sistema de Arquivos. Adão de Melo Neto Gerência do Sistema de Arquivos Adão de Melo Neto 1 Gerência do Sistema de Arquivos Organização dos arquivos Estrutura de diretório Gerência de espaço livre Gerência de alocação de arquivos em disco Proteção

Leia mais

Comunicação Inter-Processo em Unix. Pipes FIFO (Named Pipes) Pipes

Comunicação Inter-Processo em Unix. Pipes FIFO (Named Pipes) Pipes Comunicação Inter-Processo em Unix Pipes FIFO (Named Pipes) 1 Pipes 2 1! Comunicação entre pai e filho Ao chamar um fork(), processos pai e filho deixam de compartilhar memória Como fazer então para que

Leia mais

Aula 1 Apresentação do Curso

Aula 1 Apresentação do Curso Departamento de Sistemas de Computação Universidade de São Paulo SSC 502 Laboratório de Introdução a Ciência de Computação I Aula 1 Apresentação do Curso Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br)

Leia mais

Sistema de Ficheiros. Sistema de Ficheiros

Sistema de Ficheiros. Sistema de Ficheiros Sistema de Ficheiros Descrição genérica introdução organização de nomes tipos de ficheiros protecção no acesso relação com E/S Estrutura Interna Sistema de Ficheiros Linux 20/11/2008 Sistemas Operativos

Leia mais

INTRODUÇÃO AOS SISTEMAS DE ARQUIVO. Prof. Hélio Esperidião

INTRODUÇÃO AOS SISTEMAS DE ARQUIVO. Prof. Hélio Esperidião INTRODUÇÃO AOS SISTEMAS DE ARQUIVO Prof. Hélio Esperidião Definições de Arquivos Um arquivo é basicamente um conjunto de dados armazenados em um dispositivo físico não-volátil, com um nome ou outra referência

Leia mais

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Profa Rosana Braga 1º semestre de 2010 1 Arquivo-FONTE /*******************************/ /* Primeiro exemplo arq exemplo1.c

Leia mais

Estrutura do Sistema Operacional

Estrutura do Sistema Operacional Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 04 Estrutura do Sistema Operacional 2 1 Estrutura do Sistema Operacional

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais 1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

LINUX. Uma visão geral

LINUX. Uma visão geral LINUX Uma visão geral O QUE É? Sistema Operacional Código aberto Criado por Linus Torvalds em 1991 Estudante de computação, 20 anos Linguagem C Variação do Minix Criado por Andrew S. Tanenbaum em 1987

Leia mais

Nota de Aplicação NA#10. Instalando driver USB para comunicação com no-breaks Engetron.

Nota de Aplicação NA#10. Instalando driver USB para comunicação com no-breaks Engetron. Nota de Aplicação Instalando driver USB para comunicação com no-breaks Engetron NA#10 Engetron Engenharia Eletrônica Ind. e Com. Ltda Atendimento ao consumidor: (31) 3359-5800 www.engetron.com.br 2008,

Leia mais