Home
Licenciatura em Eng.ª Informática Sistemas Operativos - 2º Ano
Contents
1. Licenciatura em Eng Inform tica Sistemas Operativos 2 Ano 1 Semestre Trabalho N 1 Linux e C Introdu o O sistema Linux e a linguagem C s o as ferramentas essenciais de aprendizagem na cadeira de Sistemas Operativos O sistema Linux hoje em dia utilizado por milh es de pessoas e empresas em todo o mundo e constitui uma alternativa s ria e robusta aos sistemas propriet rios comerciais Trata se de um sistema avan ado e completo que al m disso est em constante evolu o Uma das suas grandes vantagens ser um sistema de c digo aberto Freeware ao qual qualquer um pode aceder Por este motivo este sistema constitui uma excelente ferramenta pedag gica pois a leitura e interpreta o do seu c digo fonte permite compreender atrav s de exemplos reais a forma como podem ser implementadas as funcionalidades que constituem um Sistema Operativo Uma vez que o sistema Linux est essencialmente escrito em C na maior parte dos casos utilizando os seus conceitos mais avan ados torna se essencial adquirir rapidamente excelentes conhecimentos nessa linguagem Com este trabalho pretende se que os alunos adquiram ou revejam esses conhecimentos atrav s da realiza o de programas que ir o utilizar directamente funcionalidades do sistema operativo 2 Ambiente de Trabalho 2 1 Cada aluno tem acesso a uma esta o de trabalho individual no qual est instalado o sistema Linux Fedora Core 7 Neste p
2. comando PATH SPATH home al234567 trabalhol adiciona vari vel PATH O caminho para a pasta trabalho1 onde est o armazenados os ficheiros deste trabalho No caso do programa apresentar erros na sua execu o que sejam dif ceis de encontrar pode se recorrer ao GNU Debugger uma aplica o que permite realizar a execu o do programa de forma controlada Para tal necess rio compilar o programa com a op o g de forma a que o execut vel guarde infoma o adicional sobre o programa tabela de s mbolos etc cc hello c g o hello O debugger de seguida invocado atrav s do comando gdb hello Desta forma o debugger toma o controlo da sess o ou seja os comandos inseridos ser o agora por ele interpretados e n o pelo bash Assim o prompt que aparece agora o seguinte gdb Sistemas Operativos 3 5 2007 2008 Licenciatura em Eng Inform tica Sistemas Operativos 2 Ano 1 Semestre As op es desta ferramenta s o m ltiplas e conv m consultar o manual de utiliza o atrav s da invoca o do comando man gdb ou consultando o manual on line As op es mais utilizadas s o as seguintes e p para listar o c digo fonte do ficheiro e b para colocar um breakpoint ponto de paragem e r para lan ar a execu o do programa e s para executar o programa passo a passo Exemplo gdb 1 1 main 2 3 printf Helloin 4 gdb b 3 Breakpoint 1 at 0x804837c file h
3. ello c line 3 gdb r Starting program home jrogado programs hello Breakpoint 1 main at hello c 3 3 printf Hello n gdb s Hello 4 Vemos no exemplo a listagem inser o de um breakpoint execu o do programa que p ra no breakpoint inserido e a execu o passo a passo da instru o printf O programa poderia ser assim executado passo a passo at se descobrir a eventual causa de erro 4 Trabalho a realizar Depois de se ter familiarizado com o ambiente de trabalho ir agora abordar um trabalho de programa o em C O programa seguinte realiza uma s rie de opera es sobre strings cadeias de caracteres utilizando conjunto de m todos ou fun es auxiliares das quais s s o fornecidas as defini es include lt stdio h gt include lt unistd h gt include lt string h gt include lt sys types h gt define BUFSIZE 512 int string size char str int string compare char sl char 52 char string copy char dest char source char string append char dest char source main int argc char argv char strl str2 int sizel size2 char buffer BUFSIZE int equal size imi e if argc 3 Sistemas Operativos 4 5 2007 2008 Licenciatura em Eng Inform tica Sistemas Operativos 2 Ano 1 Semestre fprintf stderr Usage s lt stringl gt lt string2 gt in argv 0 _exit 1 stri argv 1 str2 argv 2 Calcular o compri
4. mas e procurar o programa na pasta de trabalho Se este n o existir dever obviamente ser usada a op o Save as para o guardar 3 2 Compilador C Sistemas Operativos 2 5 2007 2008 3 3 Licenciatura em Eng Inform tica Sistemas Operativos 2 Ano 1 Semestre Uma vez criado o programa em C necess rio transform lo num programa execut vel Para isso utilizado o compilador C cc ou gcc que ir realizar uma s rie de opera es sobre o programa pr processamento verifica o do c digo compila o assemblagem edi o de liga es para finalmente criar a imagem execut vel Para realizar esta opera o deve ser executado o comando cc hello c Se n o for especificado o nome do ficheiro execut vel este recebe o nome por defeito que a out Para definir o nome do programa execut vel utiliza se a op o cc hello c o hello Execu o e Debug A execu o de um programa feita atrav s da invoca o do seu nome na linha de comandos Assim para executar o programa acima criado hello A utiliza o do em frente do nome necess ria para que o bash procure o nome na pasta em que foi criado o execut vel Existe outra forma de definir a pasta onde se encontram os programas execut veis do utilizador atrav s da modifica o da vari vel de ambiente environment PATH que indica ao interpretador de comandos onde deve procurar os comandos execut veis Por exemplo o
5. mento de cada string e imprimir os valores sizel string_size str1 size string size str2 printf String 1 s d String 2 s d n strl sizel str2 size2 Comparar as duas strings e indicar se sao iguais ou diferentes equal string compare strl str2 Copiar a primeira string para um novo buffer testando primeiro se ha espaco para a copia string copy buffer strl Juntar a segunda string ao final primeira da string append buffer str2 size string size buffer Imprimir a string resultante e o seu tamanho testando primeiro se ha espaco para a copia printf String resultante s din buffer size 4 1 Copie o c digo acima para um ficheiro com o nome strings c e experimente realizar a sua compila o Interprete os erros que obt m 4 2 Implemente as fun es que faltam de forma a n o obter erros de compila o e a que o programa implemente as funcionalidades esperadas N o se esque a de realizar os testes de coer ncia de forma a evitar ultrapassar o tamanho do buffer utilizado para a c pia 4 3 Substitua as fun es que implementou por fun es da biblioteca C de forma a que as funcionalidades se mantenham 5 Prazo de Entrega do Trabalho O prazo para a entrega dos trabalhos de duas semanas a contar da aula em que o enunciado foi apresentado N o ser o aceites trabalhos fora do prazo A entrega dever ser feita por e mail num ficheiro zip ou rar contendo um rela
6. rimeiro trabalho ir familiarizar se com o ambiente gr fico GDM e os principais comandos do sistema assim como com o ambiente de desenvolvimento que permite a edi o compila o e execu o de programas Cria o de Utilizador Cada aluno dever escolher uma esta o de trabalho individual que em princ pio ir utilizar durante todas as aulas pr ticas da cadeira Nessa esta o dever criar um utilizador que ter por login o seu identificador de aluno ou seja al234567 N o dever o ser utilizados nomes pr prios como identificadores de login Para a cria o do utilizador dever contactar o professor 2 2 Pasta de trabalho Uma vez criado o utilizador este ir dispor de uma pasta ou directoria de trabalho que estar situada em home a1l234567 Sistemas Operativos 1 5 2007 2008 2 3 3 1 Licenciatura em Eng Inform tica Sistemas Operativos 2 Ano 1 Semestre aconselhado criar a uma pasta por cada trabalho a realizar Assim o trabalho 1 ir ser realizado no direct rio home al234567 trabalhol aconselh vel n o utilizar espa os nos nomes de pastas ou ficheiros pois o interpretador de comandos bash n o gere os nomes com espa os Por outro lado mai sculas e min sculas s o interpretados diferentemente case sensitive Interpretador de comandos Depois de realizar o login no sistema o utilizador disp e de um interpretador de comandos que lhe permite executar as tarefa
7. s pretendidas Em Linux esse interpretador chama se bash e dever adquirir alguma experi ncia da sua utiliza o Cada vez que se escreve um comando e se carrega em Enter o bash executa o comando indicado apresenta os resultados e volta a imprimir um prompt que indica que est de novo pronto a receber um comando Exemplos pwd al23456 trabalhol date Sun Oct 1 02 08 45 WEST 2006 ls Desktop Downloads Examples hello hello c mkdir trabalhol ls ld trabalhol drwxr xr x 2 al234567 users 4096 2006 10 01 02 11 trabalho1 Ambiente de desenvolvimento C Para escrever programas e os executar necess rio utilizar um conjunto de ferramentas que no seu conjunto constituem um ambiente de desenvolvimento O ambiente de desenvolvimento C em Linux pode ser extremamente simples sendo no m nimo constitu do pelas aplica es que a seguir se descrevem Editor de Texto a aplica o que ir permitir a escrita do programa In meros editores de texto est o dispon veis em Linux desde os mais simples vi e jed at aos mais complexos emacs passando pelos mais cl ssicos kate e kwrite que fazem parte das aplica es dispon veis na barra de comandos do ambiente gr fico Os ficheiros criados contendo programas em C dever o ser guardados com a extens o c Assim por exemplo para editar um programa hello c com o editor kate pode se escrever kate hello c Ou ent o abrir o editor atrav s do menu de progra
8. t rio em PDF e as listagens dos programas realizados obedecendo OBRIGATORIAMENTE ao seguinte formato al23456 trabalho N zip 6 Refer ncias The C Programming Language 2nd Edition Ansi C de by Brian W Kernighan Dennis M Ritchie ed Prentice Hall The C Book second edition by Mike Banahan Declan Brady and Mark Doran ed Addison Wesley http publications gbdirect co uk c book Manual de Refer ncia man pages Linux on line http man he net Sistemas Operativos 5 5 2007 2008
Download Pdf Manuals
Related Search
Related Contents
807434 Issue 1 USER GUIDE WOW.indd - Tru-Test Manhattan 177870 Princess Table Grill Pure Terra 履歴書 - Pacific Translations Hinweis Willkommen im JOBO-System Mit dem ATL 1500 haben Sie IBM RackSwitch G8052 Régine PRATO Liste SERVIR - France HDMI-2X2 - AV-iQ Bootsboiler BM 10 / BM 14 Copyright © All rights reserved.
Failed to retrieve file