Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais I: Fundamentos Prof. Solander Patrício Lopes Agostinho O professor Solander Patrício Lopes Agostinho Graduação: Engenharia de computação (UFScar/SP) Mestrado: Engenharia Elétrica (Sistemas Inteligentes -Robótica) (EESC-USP/SP) Email: solanderENC08@gmail.com Outras informações em : http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K497733 6H2 http://www.teses.usp.br/teses/disponiveis/18/18153/tde-16122015- 082915/pt-br.php Artigo em IEEE Explorer: Agostinho, S. P. L., Terra, M. H., Junior, V. G., Wolf, D. and Filho, C. M. Lateral Control Based on Clothoids Curves for Heavy Category Ground Vehicles in: 12th Latin American Robotics Symposium e 3º Simpósio Brasileiro de Robótica (LARS/SBR 2015) Objectivos “Conhecer sistemas operacionais, seus recursos e utilidades, assim como seu encaixe no mundo dos computadores conceituais” Ementa 1-Fundamentos: Objetivos de um sistema operativo, evolução histórica, tipos de sistemas operativos, estrutura de um sistema operativo, sistema operativo na visão do utilizador e do projecto. 2-Conceitos de Processos e Threads: criação, eliminação e ciclos. 3-Comunicação e sincronização de processos: Regiões críticas, semáforos, monitores, impasse. 4-Gestão de Processos: Funções básicas, algoritmos de escalonamento. 5-Gestão de memória: Memória lógica e memória física, partições fixas e variáveis, Swapping, paginação, segmentação, segmentação paginada. 6-Memória Virtual: Conceitos, tradução de endereço virtual para real, paginação; algoritmo de substituição de páginas, thrashing. 7-Gestão de dispositivos: Funções básicas, estrutura do subsistema de E/S, drivers, controlador es, dispositivos típicos de entrada e saída de armazenamento permanente, desempelho. 8-Sistemas de arquivos: Arquivos, métodos de acesso, diretórios, métodos de alocação de espaços, gerência de espaços livres, proteção. Bibliografia Bibliografia Principal: 1-Tanenbaum A. S.;- Modern operating Systems, 3ª edition, Prentice-Hall, 2008. Bibliografia Secundária: 1-Tanenbaum A. S., Woodhul A. S.;- Operating systems: Design and implementation, 4ª edition, Prentice-Hall, 2014. 2-Stallings W.;- Operating Systems: Internals and Design Principles, 4th Edition, Prentice Hall , 2002. 3-Silberschatz A., Galvin P. B., Gagne G.;- Operating System Concepts, 9th Edition, John Wiley & Sons, 2013. 4- Oliveira R. S., Carissimi A. S., Toscani, S. S.;- Sistemas Operacionais. 2ª Edição Bookman, Fundamentos Objetivos, evolução, tipos de sistemas operativos, estrutura, S.O na visão do utilizador e do projecto Definições “O mais importante de todos os softwares em uma máquina ” “Serve como ponte entre os aplicativos (software) e a parte física do sistema (hardware), e tem a função de gerenciar seus recursos (dizer qual aplicativos terá acesso ao processador, memória, sistema de arquivo, etc).” “Sistema mediador entre máquinas digitais e aplicações de usuário” Gerações de S.Os 1ª Geração: 2ª Geração: Processamento em lote Armazenamento de Jobs para serem processados previamente 3ª Geração: Multiprogramação Repartir memória (processar múltiplos jobs) 4ª Geração: Interfaces gráficas Recursos de rede Sistemas distribuídos Historial dos S.Os 1964 - Multics 1969 – Unics ou Unix 1973 – Unix em C 1976 – Apple 2 1980 – PC - MS-DOS 1984 – Apple Machintosh – Mac OS 1984 – GNU – GNU não é Unix 1986 – Windows 1987 - Minix Historial dos S.Os 1990 - GNU Hurd 1991 - Linux 1993 – Windows NT 1994 – Mac RISC – Power PC 1997 – ReactOS 2001 – Windows XP 2006 – Apple Intel – Mac OSX 2008 - Android Objectivos Básicos de um S.O Abstração Prover interfaces de acesso aos dispositivos, mais simples de usar que as interfaces de baixo nível Tornar os aplicativos independentes do hardware Definir interfaces de acesso homogêneas para dispositivos com tecnologias distintas Gerência Leitura Armazenamento Escrita ... Fluxograma de sistemas Estrutura computacional Funcionalidad es do S.O Comunicação com periféricos Interrupções Interrupções Maskable interrupt (IRQ) Non-maskable interrupt Inter-processor Interrupt (IPI) Software Interrupt Spurious Interrupt Tipos de S.O Batch (de lote) Programas a executarem organizados em fila Processador executa tarefas sem interagir com o usuário OS/360 VMS De rede Suporte para operações network Operações locais devem ser capazes de utilizar recursos em outras máquinas Distribuído Recursos de maquinas disponíveis globalmente Usuário interage com a aplicação sem saber onde está Tipos de S.O Multi-usuário Suporte para mais de um usuário no mesmo sistema Gerenciamento de permissões Desktop Usuário doméstico Windows (XP, Vista, 7, etc.), o MacOS X e Linux servidor Gestão eficiente de grandes quantidades de recurso Suporte a multi-usuários Tipos de S.O Embarcado Desenvolvido para hardware especifico LynxOS, µC/OS, Xylinx e VxWorks, Symbian e Android Tempo real comportamento temporal previsível (ou seja, seu tempo de resposta deve ser conhecido no melhor e pior caso de operação) QNX, RT-Linux e VxWorks QUAL O S.O MAIS USADO? Trabalhando com Arquivos Inicialização FILE arq; Abrir o arquivo (fopen) Ler o arquivo(fscanf) Escrita no arquivo(fprintf) Feixar o arquivo(fclose) Fclose(arq_saida); Manipulando Arquivos... Mais sobre arquivos... Modo Significado r Abre o arquivo somente para leitura. O arquivo deve existir. (O r vem do inglês read, ler) r+ Abre o arquivo para leitura e escrita. O arquivo deve existir. w Abre o arquivo somente para escrita no início do arquivo. Apagará o conteúdo do arquivo se ele já existir, criará um arquivo novo se não existir. (O w vem do inglês write, escrever) w+ Abre o arquivo para escrita e leitura, apagando o conteúdo pré-existente. a Abre o arquivo para escrita no final do arquivo. Não apaga o conteúdo pré- existente. (O a vem do inglês append, adicionar, apender) a+ Abre o arquivo para escrita no final do arquivo e leitura. Escrevendo em arquivos... Funções e prototipos void fputc (int caractere, FILE *fluxo); void fputs (char *string, FILE *fluxo); void fprintf (FILE *fluxo, char *formatação, ...); int fwrite (void *dados, int tamanho_do_elemento, int num_elementos, FILE *fluxo); Lendo em arquivos... Funções e prototipos int fgetc (FILE *fluxo); void fgets (char *string, int tamanho, FILE *fluxo); void fscanf (FILE *fluxo, char *formatação, ...); void fscanf (FILE *fluxo, char *formatação, ...); int fread (void *dados, int tamanho_do_elemento, int num_elementos, FILE *fluxo); Comandos para o cmd Date: mostra e atualiza a data se necessário Time: mostra e atualiza a hora se necessário Ver: mostra a versão do S.O Cls: Limpa a tela Dir /P - lista o diretório com pausas para quando a quantidade de arquivos é grande o suficiente para que não possa ser exibida de uma só vez na tela; /W - lista o diretório organizando a visualização na horizontal; /S - exibe não só o conteúdo do diretório atual como também o conteúdo das pastas deste; /? - use essa instrução para conhecer todos o parâmetros do comando dir. E mais.... MKDIR ou MD Cria diretório apartir da pasta corrente CHDIR ou CD Navegar em diretórios RMDIR ou RD Remove diretórios CHKDSK Checa informações sobre o disco MEM Informações sobre a memória RENAME ou REN .Renomeia arquivo Outros... COPY Copia arquivo de um diretório para o outro DISKCOPY Copia toda unidade para outra de igual tamanho ou superior DEL ou DELETE Deleta arquivos UNDELETE Recupera arquivo DELTREE Deleta arvore FORMAT e UNFORMAT Formata e volta ao normal quando possivel WinExec/ ShellExecute?? Avaliação 1:Arquivos Faça um programa que leia (do teclado) um cadastro de alunos “Até que se digite fim para terminar”, indicando o nome, nota1, nota2. Calcule a média aritmética simples dos 10 alunos e depois escreva em um arquivo texto os dados de cada aluno: nome, nota1, nota2 e média. Lembre-se de que as notas e média deverão ser apresentadas como valores que possuem até 2 casas após a vírgula. OBS: Toda vez que for executado o programa para se cadastrar um aluno, os outros dados previamente cadastrados, devem estar intactos
Compartilhar