Construa a função insere_lista para inserir um elemento na lista ordenada, duplamente encadeada, descrita acima.
|
|
- Vinícius Beretta Lagos
- 8 Há anos
- Visualizações:
Transcrição
1 DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO Disciplina: Sistemas Operacionais Teste de verificação de pré-requisitos Considere as definições de tipos abaixo: type Aponta_Nodo = ^Nodo; NODO Nodo = record Info Suc. Anterior = Aponta_Nodo; Sucessor = integer; Info = Bloco_dados; End; Ant. e as seguintes declarações de variáveis: var Inicio_Lista; Fim_Lista, P : Aponta_Nodo; Fim_Lista Construa a função insere_lista para inserir um elemento na lista ordenada, duplamente encadeada, descrita acima. Proteção de objetos:
2 Bits de permissão agrupados - dono - grupo -público rwx rwx rwx r - read; w - write; x - execute. r w x r - x r - - ( este conjunto significaria que o dono pode ler (r), escrever (w) e executar (x), o grupo do dono pode ler e executar, o público pode apenas ler. ALGUNS COMANDOS UNIX: cd - troca de diretório. Percorrer a árvore do sistema de arquivos; ls - lista o conteúdo de um diretório; mkdir - cria um diretório; mkdir so2 /* cria o sub-diretório so2 dentro do diretório corrente */ rmdir - remove diretório; rm - remove arquivo; cp - copia arquivo(s); cp /bin/date. move/mv - move arquivo; pwd - mostra o caminho do diretório corrente; mount - monta uma unidade no sistema de arquivos; unmount - desmonta; who - relação dos usuários que estão conectados no sistema; who am I - identificação do usuário que está no terminal que executou o comando; write - escreve em um terminal; kill - envia um signal para um processo / matar um processo; kill -9 pid /* pid = process id */ exit - saída, fecha a sessão; passwd - trocar a senha (pede a senha atual e a nova senha); chmod - alterar as permissões de acesso;
3 chmod 700 meu_arquivo grep - buscar uma sequência de caracteres; df - disk free; lpr - envia para o spool; lpq - permite verificar a fila de impressão (line printer queue); lprm - line printer management; ps - (process status) lista os processos no sistema. ln - (link) cria um link para um arquivo. SISTEMAS OPERACIONAIS Aula prática em Laboratório - Objetivo: Fixar conteúdos básicos relativos ao ambiente operacional do Sistema UNIX. Utilizar comandos básicos para operação do sistema. Para a conexão remota com o sistema UNIX existente no laboratório PROTEM a partir dos laboratórios dos blocos G e Z, será necessária a instalação do software emulador de terminal, PUTTY. Este software encontra-se disponível no servidor deste mesmo laboratório. No endereço ftp://campeche.inf.furb.br/pub/windows/utilitarios/terminais-cliente-ssh/putty exe encontra-se o software para download. ftp://campeche.inf.furb.br/pub/windows/utilitarios/terminais-cliente-ssh/putty exe Crie um diretório um e faça download do arquivo. Exercícios: Utilizando o comando who verifique quais os usuários estão conectados ao sistema. Utilizando o comando pwd, verifique qual é seu diretório corrente. Dentro do seu diretório home, crie um diretório com o nome SistemasDois. Copie o arquivo syslog.conf existente no diretório /etc para o diretório SistemasDois, recém criado. Crie o diretório aula no seu diretório home. A partir do diretório aula, crie um link do arquivo syslog.conf no diretório SistemasDois para o diretório aula através do comando: link../sistemasdois/syslog.conf syslog.link Utilizando o comando ls -l, verifique quais são as permissões de acesso disponíveis para o diretório SistemasDois.
4 Ainda com o comando ls -l, verifique as permissões de acesso aos diretórios dos usuários do Laboratório PROTEM. (o diretório /lp/home possui todos os diretórios home dos usuários). Altere as permissões de acesso existentes para o diretório SistemasDois deixando permissões de leitura, escrita e execução, apenas para o dono do diretório. Execute o comando cd SistemasDois. Altere as permissões de acesso ao arquivo syslog.conf existente no diretório SistemasDois. Execute o comando "cat syslog.conf". Descreva o que foi executado. Utilizando o comando ps, verifique quantos e quais os processos (a identificação e o comando) em execução na sua sessão. SISTEMAS OPERACIONAIS * PIPE $>find * grep "furb" * EXECUÇÃO EM FOREGROUND $>cp arquivoa arquivob <enter> * EXECUÇÃO EM BACKGROUND $> cp arquivoa arquivob & <enter> Pode-se também utilizar ^z e o comando bg (background) * ESTRUTURA DO SISTEMA DE ARQUIVOS * BLOCO DE BOOT * SUPERBLOCO * I-NODO * BLOCOS DE DADOS I-NODO: nome do arquivo Número de links Data da criação Data da última modificação Data do último acesso 10 número de blocos de dados ponteiro indireto simples ponteiro indireto duplo ponteiro indireto triplo
5 GERÊNCIA DE PROCESSOS Quando inicializado o sistema cria o processo INIT com PID = 1, este processo será a raiz da árvore de processos. Quando um usuário executa o login o sistema cria um processo e carrega o interpretador de comandos (sh) para atender o usuário. A linha de comando digitada pelo usuário é lida pelo sh que analisa-o e então cria um processo e carrega o comando na área deste processo. Criação de Processo - Chamada fork A chamada fork do sistema operacional UNIX, cria um novo processo no sistema. O processo criado recebe uma cópia do processo que chamou. Imediatamente a criação os dois processo, pai e filho, são idênticos. A função fork retorna um valor inteiro que para o processo pai é a identificação (PID) do processo filho, no processo filho, a função retorna zero. Por exemplo: int ret; ret = fork(); printf("ret = %d\n"),ret); int ret; ret = fork(); if (ret == 0) printf("este é o processo filho.\n") else printf("este é o processo pai, PID do filho = %d\n",ret) Andrew S. Tanenbaum Chamada de sistema EXEC Passos executados para executar uma chamada EXEC [TAN87]: 1. Verifica as permissões - o arquivo é executável? 2. Lê o header do arquivo para obter o tamanhos do segmento e total. 3. Busca os argumentos e as variáveis de ambiente a partir do chamador. 4. Libera a memória antiga e aloca a nova. 5. Copia a pilha para a nova memória imagem. 6. Copia os segmentos de dados e texto para a nova memória imagem.
6 7. Verifica os bits para setuid e setgid. 8. Atualiza a entrada na tabela de processos. 9. Coloca o processo no estado pronto. Biblioteca utilizada para chamar EXEC com argumentos e ambiente (environment) execve(filename, argv, envp); filename é um ponteiro para o nome do arquivo a ser executado; argv é um ponteiro para um array de ponteiros, cada um deles apontando para um argumento; envp é um ponteiro para um array de ponteiros, cada um deles apontando para uma string de ambiente (variável de ambiente). execl(filename, name, arg1, arg2,..., 0); int ret; if ((ret=fork()) == 0) sleep(15); else wait((int *) 0); printf("filho acabou \n"); Execute os exemplos abaixo no UNIX e descreva o que será executado. Para compilar os programas utilize o compilador C (gcc). %> gcc nome_arquivo Será gerado um arquivo a.out com o programa executável, ou %> gcc nome_arquivo -o nome_executavel será criado o arquivo nome_executável com o programa executável, caso não hajam erros de compilação. Para executar digite: %>./nome_executavel (1) int ret1, ret2; ret1 = fork(); ret2 = fork(); printf("programa em execução.\n"); (2) int ret; ret = fork(); if (ret == 0)
7 execl("/bin/ls","ls",0); else printf("processo continua executando.\n"); (3) int ret; ret = fork(); if (ret == 0) execl("/bin/ls","ls",0); printf("quando este comando será executado? \n"); ; printf("por que a função printf anterior não foi executada?\n"); (4) int ret; ret = fork(); if (ret == 0) execl("/bin/ll","ll",0); printf("por que este comando foi executado? \n"); else printf("processo continua executando.\n"); #include <stdio.h> #define MAXBUFF 1024 int pipefd[2], n; char buff[100]; if( pipe(pipefd) < 0 ) printf("erro na chamada pipe\n"); printf("read fd =%d, write fd = %d\n",pipefd[0], pipefd[1]); if ( write(pipefd[1], "Hello world\n", 12)!= 12 ) printf("erro no write\n"); if ( n = read(pipefd[0], buff, sizeof(buff)) <= 0 ) printf(ërro no read\n"); write(1, buff, n); /* fd 1 = stdout */ exit(0); int pipedesc[2], contador, total, ret, n; char buff[10];
8 ret = pipe(pipedesc); if ( ret < 0 ) printf("erro no pipe.\n"); printf("criou pipe\n"); ret = fork(); if ( ret == 0 ) printf("está no filho\n "); close(pipedesc[1]); total = 0; while ( total < 100 ) total = total + 1; while((n=read(pipedesc[0],buff,sizeof(buff)))<= 0); write(1, buff, n); close(pipedesc[0]); else printf("está no pai\n"); close(pipedesc[0]); contador = 0; while ( contador < 100 ) write(pipedesc[1], "A", 1); contador = contador + 1; close(pipedesc[1]); int childpid, pipe1[2], pipe2[2], ret1, ret2; ret1 = pipe(pipe1); ret2 = pipe(pipe2); if ( ret1 < 0 ret2 < 0 ) printf("não criou pipes.\n"); childpid = fork(); if ( childpid < 0 ) printf("não criou processo.\n"); exit(2); else if ( childpid > 0 ) /* é o processo pai */ close(pipe1[0]); close(pipe2[1]); client(pipe2[0], pipe1[1]); wait((int *) 0);
9 close(pipe1[1]); close(pipe2[0]); exit(0); else close(pipe1[1]); close(pipe2[0]); server(pipe1[0], pipe2[1]); close(pipe1[0]); close(pipe2[1]); exit(0); client(readfd, writefd) int readfd, writefd; char buff[maxbuff]; int n; /* * Lê o nome do arquivo da entrada padrão, * escreve-o no pipe. */ if (fgets(buff, MAXBUFF, stdin) == NULL) printf("erro na leitura do nome do arquivo.\n"); n = strlen(buff); if ( buff[n-1] == '\n') n--; if ( write(writefd, buff, n)!= n ) printf("erro escrevendo o nome do arquivo.\n"); /* * Lê os dados a partir do pipe e escreve-os na saída * padrão. */ while (( n = read(readfd, buff, MAXBUFF)) > 0) if (write(1, buff, n)!= n ) printf("erro escrevendo dados.\n"); if ( n < 0 ) printf("erro lendo dados a partir do pipe.\n"); exit(1): server (readfd, writefd)
10 int readfd, writefd; char buff[maxbuff]; int n, fd; /* * lê o nome do arquivo do pipe */ if ( ( n = read(readfd, buff, MAXBUFF)) <= 0 ) printf("erro na leitura do nome do arquivo.\n"); buff[n] = '\0'; if (( fd = open(buff, 0)) < 0 ) /* * erro na abertura do arquivo. */ printf("erro na abertura do arquivo.\n"); else /* * lê os dados do arquivo e escreve-os no pipe. */ while ( (n = read(fd, buff, MAXBUFF)) > 0 ) if ( write(writefd, buff, n)!= n ) printf("erro escrevendo dados pipe.\n"); if ( n < 0 ) printf("erro lendo dados.\n"); EXERCÍCIO PRÁTICO Construir um programa usando as chamadas fork, exec, wait e exit, que leia na entrada padrão a linha de comando, crie um processo filho e coloque em execução no processo filho o comando especificado na linha lida. O processo pai deverá esperar o término do processo filho e emitir mensagem de acordo com o código de retorno do filho. Se código de retorno igual a zero deverá aparecer a mensagem "Executado com sucesso.", senão deverá aparecer a mensagem "Código de retorno = ", seguida do valor numérico do código de retorno. Algoritmo:
11 Início Lê linha de comando; Enquanto não fim faça Início Percorre a linha retirando o nome do comando; Executa um fork para criar um novo processo; Se processo filho então Executa execl especificando o nome do comando como parâmetro; Senão Inicio Executa wait para esperar que a execução do comando termine; Se codigo retorno = zero então Escreva "Executado com sucesso." Senão Escreva "Código de retorno = ", codigo_retorno; Fim Fim se; Lê linha de comando; Fim; Fim; Após concluída a implementação deste exercício, incluir a possibilidade de passar parâmetros para o comando a ser executado. Exercício prático utilizando as chamadas de sistema: fork, pipe, wait, exit, close. Construa um programa em C para implementar a estrutura abaixo: Temos dois processos A e B, criados a partir do processo PP (programa principal), se comunicando através de 2 pipes. No processo A estará executando uma rotina que lê uma string de caracteres no Pipe2, converte-os para maiúsculas e escreve no Pipe1. No processo B estará executando uma rotina que lê uma linha de texto digitada pelo usuário (de no máximo 80 bytes - 79 caracteres mais o terminador), escreve esta linha no Pipe2 e depois lê a string convertida para maiúsculas no Pipe1, exibindo-a na tela. Quando o usuário digitar "FIM", o processo B envia a string para o processo A e encerra (exit). O processo A quando encontra a string "FIM" também encerra (exit).
12 O programa principal deverá criar os pipes, criar os processos, e estabelecer a comunicação entre os mesmos conforme descrito acima. O programa principal deverá ficar esperando (wait) até os processos filhos acabem (exit). As funções para converter os caracteres de minúsculos para maiúsculos e para ler o texto digitado deverão fazer parte do programa principal. #define TAMBUFF 1024 // aluno Edson Elmar Schlei int pipe1[2], pipe2[2], retp1, retp2; int pid_proc_a, pid_proc_b, n, i; char buff[tambuff]; char linha[80]; retp1 = pipe(pipe1); retp2 = pipe(pipe2); if ( (retp1 < 0) (retp2 < 0) ) printf("erro em um dos pipe.\n"); printf("criou os pipes\n"); pid_proc_a = fork(); if ( pid_proc_a == 0 ) // Inicio do Processo A printf("está no filho A \n"); close(pipe1[0]); close(pipe2[1]); // fecha a pipe1 para leitura // fecha a pipe2 para escrita while ((strcmp(buff,"fim"))) for(i=0;i<tambuff;i++) buff[i] = '\0'; // espera vir algo no pipe2 while ((n = read(pipe2[0], buff, sizeof(buff))) <= 0); buff[n] = '\0'; for(i=0;i<n;i++) // converte para maiúsculo buff[i] = toupper(buff[i]); write(pipe1[1],buff,n+1); // retorna a string no pipe1 close(pipe1[1]); close(pipe2[0]); exit(0); // finaliza o processo pid_proc_b = fork(); if (pid_proc_b == 0) // inicio do processo B
13 printf("entrou no processo B"); close(pipe1[1]); close(pipe2[0]); // fecha o pipe1 para escrita // fecha o pipe2 para leitura do for(i=0;i<80;i++) linha[i] = '\0'; printf("\ndigite algo para converte : "); gets(linha); printf("\n%s",linha); write(pipe2[1],linha,strlen(linha)); while ((n = read(pipe1[0], buff, sizeof(buff))) <= 0); printf("%s\n",buff); while((strcmp(buff,"fim"))); close(pipe1[0]); close(pipe2[1]); // fecha o pipe1 para leitura // fecha o pipe2 para escrita exit(0); // fechas os pipes no processo pai close(pipe1[0]); close(pipe1[1]); close(pipe2[0]); close(pipe2[1]); wait((int *)0); wait((int *)0);
Aula 02. Introdução ao Linux
Aula 02 Introdução ao Linux Arquivos Central de Programas do Ubuntu A Central de Programas do Ubuntu é uma loja de aplicativos integrada ao sistema que permite-lhe instalar e desinstalar programas com
Leia maisIntrodução ao Linux. Instituto Federal de Educação, Ciência e Tecnologia do Sul de Minas Gerais Campus Pouso Alegre
Instituto Federal de Educação, Ciência e Tecnologia do Sul de Minas Gerais Campus Pouso Alegre Introdução ao Linux Comandos Ubuntu/Linux Michelle Nery Agenda Comandos do Sistema Comandos para Processos
Leia maisConceitos de Sistemas Operacionais: Chamadas de Sistema. Prof Rafael J. Sandim
Conceitos de Sistemas Operacionais: Chamadas de Sistema Prof Rafael J. Sandim Conceitos de Sistema Operacional Interface entre o SO e os Programas de usuário é definida pelo conjunto de instruções estendidas
Leia maisE.E.E.P. Dr. Solon Tavares Sistemas Operacionais Prof. Henrique Cordeiro. Programação Concorrente em Linux
E.E.E.P. Dr. Solon Tavares Sistemas Operacionais Prof. Henrique Cordeiro Programação Concorrente em Linux O Conceito de Processo no Linux O conceito de processo é fundamental para qualquer sistema operacional
Leia maisComunicação entre pai e filho
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 o resultado de um processo possa ser recebido pelo outro? Exemplos: Processo
Leia maisAula 4 Comandos Básicos Linux. Prof.: Roberto Franciscatto
Sistemas Operacionais Aula 4 Comandos Básicos Linux Prof.: Roberto Franciscatto Prompt Ao iniciar o GNU/Linux, a primeira tarefa a ser executada é o login no sistema, o qual deve ser feito respondendo
Leia maisSistemas Operacionais INF 09344 Prof. José Gonçalves
Sistemas Operacionais INF 09344 Prof. José Gonçalves 1 o Trabalho de Programação Período: 2014/1 Data de Entrega: 2/6/2014 Parte I. Usando Fork e Wait Você deve criar um programa C partei.c. Durante a
Leia maisRoteiro 3: Sistemas Linux arquivos e diretórios
Roteiro 3: Sistemas Linux arquivos e diretórios Objetivos Detalhar conceitos sobre o sistema operacional Linux; Operar comandos básicos de sistemas Linux em modo Texto; Realizar a manutenção de arquivos
Leia maisLISTA DE COMANDOS DO LINUX 1
LISTA DE COMANDOS DO LINUX 1 Comandos para manipulação de diretório 1. ls Lista os arquivos de um diretório. 2. cd Entra em um diretório. Você precisa ter a permissão de execução para entrar no diretório.
Leia maisUnix: Sistema de Arquivos. Geraldo Braz Junior
Unix: Sistema de Arquivos Geraldo Braz Junior 2 Arquivos Um arquivo é visto pelo SO apenas como uma seqüência de bytes: nenhuma distinção é feita entre arquivos ASCII, binários, etc.; Muitos programas
Leia maisSistemas Operacionais de Rede Linux - Gerenciamento de Arquivos
Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos Conteúdo Programático Login e Logout Iniciando e Desligando o Sistema Tipos de arquivo Texto Binário Arquivos e Diretório Manipulação de
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de
Leia maisFTP - Protocolo. O protocolo FTP é o serviço padrão da Internet para a transferência de arquivos entre computadores.
FTP FTP - Protocolo O protocolo FTP é o serviço padrão da Internet para a transferência de arquivos entre computadores. A partir do FTP usuários podem receber ou enviar arquivos de ou para outros computadores
Leia mais6. Comunicação entre processos - Pipes
6. Comunicação entre s - Pipes 6.1 O que são pipes Os pipes em UNIX constituem um canal de comunicação unidirecional entre s com um ascendente comum (entre um pai e um seu descendente). Uma vez estabelecido
Leia maisFunçõ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
Sistemas de Arquivos 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 Necessidade de Armazenamento Grandes quantidades
Leia maisSOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux
SOFTWARE LIVRE A liberdade de executar o programa, para qualquer propósito. A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades. Acesso ao código-fonte é um pré-requisito
Leia maisUm processo sob UNIX ocupa uma área de memória formada basicamente por 3 partes:
Processos O UNIX é um sistema operacional multitarefa (suporta multiprogramação). Isso significa que ele é capaz de gerenciar a execução simultânea de vários programas. O termo processo é usado para caracterizar
Leia maisSistemas Operacionais
Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille e da Profa. Dra. Luciana A. F. Martimiano e nas transparências
Leia maisENDEREÇOS DE REDE PRIVADOS. 10.0.0.0 até 10.255.255.255 172.16.0.0 até 172.31.255.255 192.168.0.0 até 192.168.255.255. Kernel
ENDEREÇOS DE REDE PRIVADOS Foram reservados intervalos de endereços IP para serem utilizados exclusivamente em redes privadas, como é o caso das redes locais e Intranets. Esses endereços não devem ser
Leia maisProjeto: Camada Independente de Dispositivo
Projeto: Camada Independente de Dispositivo Introdução Esse documento tem como finalidade demonstrar como será implementada a Camada Independente de Software. Estrutura A camada independente de software
Leia maisAlgoritmos e Programação _ Departamento de Informática
16 ARQUIVOS Um arquivo corresponde a um conjunto de informações (exemplo: uma estrutura de dados-registro), que pode ser armazenado em um dispositivo de memória permanente, exemplo disco rígido. As operações
Leia maisCURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C
CURSO BÁSICO DE PROGRAMAÇÃO AULA 8 Introdução ao Linux Introdução a linguagem C Linux Linux é um termo utilizado para se referir a sistemas operacionais que utilizem o núcleo Linux. Existem muitas distribuições
Leia maisAULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme
AULA 2: INTRODUÇÃO A LINGUAGEM DE C Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Agenda Introdução a linguagem C Compiladores Variáveis IDEs Exemplos Exercícios Introdução A Linguagem C
Leia maisPIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS
PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS Disciplina de Nivelamento - 2000/1: ALGORITMOS & ESTRUTURAS DE DADOS Professor Responsável: Prof. Fernando Santos
Leia maisSistemas Operacionais
Sistemas Operacionais Conceitos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Arquitetura de Sistema Operacional Chamadas de sistema. Processos Basicamente, um
Leia maisPROCESSOS COMPONENTES DE UM PROCESSO. A execução de um processo possui vários componentes. PID e PPID
PROCESSOS Um processo é um canal de comunicação entre os programas que estão sendo executados no sistema operacional e o usuário, ou seja um processo é um programa que está sendo executado. No Linux /
Leia maisGNU/Linux/Bash. Aula 2
GNU/Linux/Bash Aula 2 O que é? Ubuntu GNU Linux Ubuntu 12.04 Ubuntu é um sistema operacional baseado em Linux desenvolvido pela comunidade e é perfeito para notebooks, desktops e servidores. Ele contém
Leia maisArquitetura de Computadores. Tipos de Instruções
Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada
Leia maisMÓDULO 02 PROCESSOS E THREADS PROCESSOS e THREADS
MÓDULO 02 PROCESSOS E THREADS PROCESSOS e THREADS 1. ATIVIDADE 01 Verificar a criação de um processo filho (que imprime de 51 a 100) que rodará concorrentemente com o processo pai (que imprime de 1 a 50)
Leia maisLP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
Leia maisO Processo de Programação
Programação de Computadores I Aula 04 O Processo de Programação José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/23 Algoritmo Um algoritmo é uma seqüência de
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
Leia maisCiclo de Vida de um Processo
Nas aulas anteriores Ciclo de Vida de um Processo Marcelo Johann Conceito de Processo Mecanismo de Programação em C/UNIX Continuando Interrupções TRAP Chaveamento de Contexto Chamadas de Sistema INF01142
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Leia maisSistemas Operacionais: Sistema de Arquivos
Sistemas Operacionais: Sistema de Arquivos Sistema de Arquivos Arquivos Espaço contíguo de armazenamento Armazenado em dispositivo secundário Estrutura Nenhuma: seqüência de bytes Registros, documentos,
Leia maisManipulação de Arquivos Ubuntu. Haline de Souza Scotti Rodrigo Fantinati Ferreira
Manipulação de Arquivos Ubuntu Haline de Souza Scotti Rodrigo Fantinati Ferreira Veremos nesta aula Visão geral do ambiente Ubuntu Arquivos e Diretórios Manipulação de arquivos Exercício Visão geral do
Leia maisFundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 03-002 Sistemas de Arquivos
Sistema de Arquivos Prof. Edwar Saliba Júnior Março de 2007 1 Objetivos Facilitar o acesso dos usuários ao conteúdo dos arquivos; Prover uma forma uniforme de manipulação de arquivos, independente dos
Leia maisConteúdo 1 Comandos Básicos. Questão 1: Que comando permite encerrar o sistema definitivamente?
Conteúdo 1 Comandos Básicos Questão 1: Que comando permite encerrar o sistema definitivamente? a) shutdawn b) shutdown t now c) shutdown r now d) shutdwon h now e) shutdown h now Questão 2: Que comando
Leia maisSistemas Operacionais
Sistemas Operacionais SISTEMAS DE ARQUIVOS MACHADO/MAIA: CAPÍTULO 11 Prof. Pedro Luís Antonelli Anhanguera Educacional SISTEMAS DE ARQUIVOS - INTRODUÇÃO O armazenamento e a recuperação de informações é
Leia maisIntrodução a. Shell Script. Clésio Matos clesior.matos@gmail.com
Introdução a Shell Script Clésio Matos clesior.matos@gmail.com 1 Plano de apresentação O que são shell scripts Comandos básicos Estruturas básicas do BASH - Comandos condicionais - Comandos de repetição
Leia maisRevisão Aula 3. 1. Explique a MBR(Master Boot Record)
Revisão Aula 3 1. Explique a MBR(Master Boot Record) Revisão Aula 3 1. Explique a MBR(Master Boot Record). Master Boot Record Primeiro setor de um HD (disco rígido) Dividido em duas áreas: Boot loader
Leia maisSistema Operacional LINUX
SISTEMA OPERACIONAL Sistema Operacional LINUX Para que o computador funcione e possibilite a execução de programas é necessária a existência de um sistema operacional. O sistema operacional é uma camada
Leia maisRotinas de Manipulação de Arquivos
Rotinas de Manipulação de Arquivos No IDL existem muitas rotinas de manipulação de arquivos. Uma lista destas rotinas, com uma explicação da sua finalidade, está na tabela abaixo. Rotinas FILEPATH FILE_BASENAME
Leia maisMANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal
MANUAL DO ADMINISTRADOR LOCAL Entidade Municipal Abril / 2011 ÍNDICE Objetivos do Sistema de Registro de Integrado - REGIN... 3 Principais Módulos do Sistema... 4 Módulo Controle de Acesso... 5 Módulo
Leia maisTutorial: Programando no Linux
UECE Universidade Estadual do Ceará CCT Centro de Ciências e Tecnologia Curso de Ciência da Computação Tutorial: Programando no Linux Alunos: Henrique Neto e João Gonçalves Professora: Ana Luiza E-mails:
Leia maisCampus - Cachoeiro Curso Técnico de Informática. Sistema de Arquivos. Prof. João Paulo de Brito Gonçalves
Campus - Cachoeiro Curso Técnico de Informática Sistema de Arquivos Prof. João Paulo de Brito Gonçalves Introdução É com o sistema de arquivos que o usuário mais nota a presença do sistema operacional.
Leia maisManipulação de Arquivos
Manipulação de Arquivos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Tipo
Leia maisINF 1005 Programação I
INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou
Leia maisProcessos. Adão de Melo Neto
Processos Adão de Melo Neto 1 EXECUTE O SEGUINTE Baixa a aula dos dias 20 MAR 15 e 08 MAI 15 e salve no computador. Feche o browser Inicialize o vmware player e inicialize a máquina virtual ubuntu Inicialize
Leia maisComandos.::. Aplicativos > Sistema > Acessar Console
Comandos Aplicativos > Sistema > Acessar Console jonilso 23 de outubro de 2012 Comandos Iniciais whoami Comandos Iniciais whoami Exibe o login do usuário que executou o comando. Comandos Iniciais whoami
Leia maisComandos Básicos do Linux/Unix
Comandos Básicos do Linux/Unix Vou partir do pressuposto que você sabe o básico de um sistema Linux/Unix. É importante para qualquer usuário de sistemas baseados em Unix aprender a trabalhar no modo texto
Leia maisSVCs para Controle de Processos no Unix (cont.) Sistemas Operacionais
SVCs para Controle de Processos no Unix (cont.) Primitivas exec..() As primitivas exec constituem, na verdade, uma família de funções que permitem a um processo executar o código de outro programa. Não
Leia maisAluísio Eustáquio da Silva
1 Aluísio Eustáquio da Silva SciLab Programável Material didático usado em aulas de Programação de Computadores, Algoritmos e Lógica de Programação Betim Maio de 2012 2 PROGRAMAÇÃO O SciLab permite que
Leia maisPrincipais Comandos do Terminal no LINUX
Principais Comandos do Terminal no LINUX Estes comandos não visam ser um compêndio completo de operação, haja vista que se possui mais comandos que esses aqui que serão listados, logo os comandos são:
Leia maisCapítulo 6 Sistemas de Arquivos
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios 6.3 Implementação do sistema de arquivos 6.4 Exemplos de sistemas de arquivos 1 Armazenamento da Informação a Longo Prazo 1. Deve ser possível
Leia maisIntrodução ao Linux: Parte I
Data: Introdução ao Linux: Parte I Marcelo Ribeiro Xavier da Silva marceloo@inf.ufsc.br Histórico 3 Origem do GNU Linux Em 1983, Richard Stallman fundou a Free Software Foundation, com o intuito de criar
Leia maisProcessos em Unix. Conteúdo: Definição de Processos em Unix Estrutura, tipo e escalonamento de processos em Unix Processos, Pai, Filho e Zumbi.
Processos em Unix Conteúdo: Definição de Processos em Unix Estrutura, tipo e escalonamento de processos em Unix Processos, Pai, Filho e Zumbi. O que é um Processo em Unix? É um espaço de endereçamento
Leia maisIntrodução a Programação. Ponteiros e Strings, Alocação Dinâmica
Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros
Leia maisJulgue os itens a seguir referentes a conceitos de software livre e licenças de uso, distribuição e modificação.
Julgue os itens a seguir referentes a conceitos de software livre e licenças de uso, distribuição e modificação. 1.Todo software livre deve ser desenvolvido para uso por pessoa física em ambiente com sistema
Leia maisManual do Desenvolvedor Criptografia de Arquivos do WebTA
Manual do Desenvolvedor Criptografia de Arquivos do WebTA Versão 1.4 Índice 1. Objetivo..3 2. Processo..3 3. API de Criptografia - Biblioteca Java..4 3.1 WEBTACryptoUtil..4 3.1.1 decodekeyfile..4 3.1.2
Leia maisAlgoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 1 Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira Linguagem a ser Utilizada? Nossa disciplina é de Algoritmos e Estrutura de Dados, e não de linguagem
Leia maisCURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Revisão Aula Anterior Estruturas de Decisão (If e Switch)
CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 Revisão Aula Anterior Estruturas de Decisão (If e Switch) Revisão Comandos básicos no terminal: Para verificar os arquivos que estão em uma pasta usa-se ls: Para acessar
Leia maisPersistência de Dados
Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD
Leia maisPlaneamento. Introdução ao Sistema Operativo UNIX. Java: Ferramentas, Entradas/Saídas, Excepções. Threads e Semáforos. Problemas de Sincronização
Planeamento Introdução ao Sistema Operativo UNIX Java: Ferramentas, Entradas/Saídas, Excepções Threads e Semáforos Problemas de Sincronização Jantar dos Filósofos, Leitores/Escritores,... Sockets Stream
Leia maisBusca. Pesquisa sequencial
Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um
Leia maisSistemas 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 maisProgramação de Computadores I. Ponteiros
Ponteiros Prof. Edwar Saliba Júnior Outubro de 2012 Unidade 13 Ponteiros 1 Identificadores e Endereços Na linguagem C, uma declaração de variável faz associação entre um identificador e endereços de memória;
Leia maisSimulador de Sistemas de Arquivos
Simulador de Sistemas de Arquivos Trabalho Prático 1 Disciplina: Sistemas Operacionais 2009/1 Professor Humberto César Brandão de Oliveira O trabalho possui dois requisitos fundamentais: a. Entrega do
Leia maisRevisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL
Urano Indústria de Balanças e Equipamentos Eletrônicos Ltda. Rua Irmão Pedro 709 Vila Rosa Canoas RS Fone: (51) 3462.8700 Fax: (51) 3477.4441 Características do Software Urano Integra 2.2 Data: 12/05/2014
Leia maisIntrodução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza
Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo
Leia maisSistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani
Sistema de Arquivos Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Gerência de Arquivos É um dos serviços mais visíveis do SO. Arquivos são normalmente
Leia maisEstruturas de Dados. Profa. Juliana Pinheiro Campos
Estruturas de Dados Profa. Juliana Pinheiro Campos Arquivos ESTRUTURAS DE DADOS Técnicas para que possamos salvar e recuperar informações em arquivos de maneira estruturada. Assim será possível implementar
Leia maisFTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva
FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03 Prof. Gabriel Silva Temas da Aula de Hoje: Servidores Linux. Conceitos Básicos do Linux. Instalando Servidor Linux.
Leia maisTrabalho 3: Agenda de Tarefas
INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma
Leia maisEN3611 Segurança de Redes Prof. João Henrique Kleinschmidt Prática 2 Certificados digitais Permissões Comandos Password cracker
EN3611 Segurança de Redes Prof. João Henrique Kleinschmidt Prática 2 Certificados digitais Permissões Comandos Password cracker Entregar um relatório respondendo as questões propostas e principais observações
Leia maisSistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Comando free Gerência de Memória exibe a quantidade de memória livre e utilizada pelo sistema Usage: $ free
Leia maisEntendendo o Sistema Operacinal. Prof. Armando Martins de Souza E-mail: armandomartins.souza@gmail.com
Entendendo o Sistema Operacinal Prof. Armando Martins de Souza E-mail: armandomartins.souza@gmail.com Criando um Snapshot da Máquina Padrão Page 2 Criando um Snapshot da Máquina Padrão Page 3 Criando um
Leia maisFundamentos de Sistemas Operacionais. GNU / Linux. Prof. Edwar Saliba Júnior Março de 2009. Unidade 04-002 GNU / Linux
GNU / Linux Prof. Edwar Saliba Júnior Março de 2009 Conceitos Básico O S.O. é case sensitive, ou seja, sensível à caixa; Exemplo: o arquivo apple.txt é diferente do arquivo Apple.txt e podem conviver juntos
Leia maisProgramação 2009/2010 MEEC
Programação 2009/2010 MEEC Laboratório 1 Semana de 28 de Setembro de 2009 SCDEEC Leia com atenção as regras de funcionamento da Sala de Computadores do DEEC (http://scdeec.ist.utl.pt/ e http://scdeec.ist.utl.pt/regras_utilizacao).
Leia maisArmazenamento de Dados. Prof. Antonio Almeida de Barros Junior
Armazenamento de Dados Prof. Antonio Almeida de Barros Junior 1 Armazenamento de Dados Todos os dados que utilizamos até o momento, ficavam armazenados apenas na memória. Ao final da execução dos programas,
Leia maisDESCRIÇÃO DO TRABALHO - VERSÃO DE 29/04/2006 15:00.
DESCRIÇÃO DO TRABALHO - VERSÃO DE 29/04/2006 15:00. Descrição Geral do trabalho. O objetivo do trabalho será o desenvolvimento de um programa Cliente/Servidor para o envio e recebimento de arquivos. Os
Leia maisSOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum
SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Introdução
Leia maisSistemas de Arquivos. 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 maisAula 04 - Hackeando a linha de comando
Aula 04 - Hackeando a linha de comando LibrePlanet São Paulo 12 de março de 2015 Terminal Um terminal atua como uma interface para entrada e saída de dados no computador. Existem diversos emuladores de
Leia maisRequerimento: Digitador de Pedidos ProfarmaNet. Manual de Apoio. Preparado por: Versão: 1.0. Sumário
Vanderlei Manual de Apoio Resumo Módulo Básico Especifico para Instalação e Usabilidade Lista de Distribuição Nome Área / Função Histórico de modificações Versão Data Descrição Responsável 13/12/2013 Versão
Leia maisAlgoritmos e Programação Estruturada
Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.
Leia maisINF 1005 Programação I
INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:
Leia maisSoftware Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar
Software Livre Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar Linux Licença GPL (Licença Pública Geral) Linux Licença GPL (Licença Pública Geral) - A liberdade de executar
Leia maisAlgoritmos e Estruturas de Dados
AED - Unix commands reference card Page 1 of 5 Algoritmos e Estruturas de Dados Guia de referência de comandos Unix Comandos de gestão de ambiente cd d Muda para a directoria d mkdir d Cria uma nova directoria
Leia maisSistemas Operacionais e Introdução à Programação. Programação com linguagem C
Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Variáveis na linguagem C: tipo char O tipo char representa um caractere ASCII (ocupa só 1 byte) int main(int argc, char **
Leia mais