Estes apontamentos das aulas teóricas são da autoria de Pedro Vasconcelos (2007) tendo sido adaptados e modificados por Armando Matos (2010)



Documentos relacionados
Introdução à Programação Aula 1 Apresentação

Nesta aula... 1 Funcionamento da disciplina, objectivos e avaliação. 2 Introdução aos computadores

Sistema Operacional LINUX

Aula 02. Introdução ao Linux

1.5. Computador Digital --Software. INFormática Tipos de Software. Software. Hardware. Software do Sistema. Software de Aplicação.

Programação I Aula 1 Apresentação

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

Planeamento. Introdução ao Sistema Operativo UNIX. Java: Ferramentas, Entradas/Saídas, Excepções. Threads e Semáforos. Problemas de Sincronização

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

Curso Tecnológico de Informática Matriz de Exame de Equivalência de Tecnologias Informáticas Prova Prática - Código 259

CET GRSI Sistema Operativo de Rede. António Paulo Santos

Ambiente de trabalho. Configurações. Acessórios

Introdução a Computação

Escola Adalgisa de Barros

Curso Técnico de Informática de Sistemas

Sistema operativo Aula 1

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

Introdução aos Sistemas Operativos

Introdução à Informática

Paradigmas da Programação I (LESI 1º ano) Programação Funcional (LMCC 1º ano)

Introdução aos Computadores

Sistema Operativo Linux

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

MATRIZ DE EXAME DE EQUIVALÊNCIA À FREQUÊNCIA

Roteiro 3: Sistemas Linux arquivos e diretórios

COMPETÊNCIAS A DESENVOLVER CONTEÚDOS. Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO. Unidade de Ensino/Aprendizagem 1 O SISTEMA OPERATIVO UNIX/LINUX

SOFTWARE. A parte lógica do Computador. Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Novembro de 2006

ISCAP. Pág. 1. Ana Paula Teixeira

Capítulo 8. Software de Sistema

Administração de Utilizadores e grupos

Figura 01 Kernel de um Sistema Operacional

Computação Instrumental

2-Introdução e Conceitos Básicos das TIC

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

SISTEMAS OPERACIONAIS

Professor: Roberto Franciscatto. Curso: Engenharia de Alimentos 01/2010 Aula 3 Sistemas Operacionais

Seu manual do usuário EPSON LQ-630

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Impressão do Manual do Utilizador

Cursos de Computação. Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 01 - História e Funções dos Sistemas Operacionais

Referencial do Módulo B

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Sistema Operativo em Ambiente Gráfico

Reconhecer a estrutura de um sistema operativo. Definir um plano de instalação de um servidor de rede local.

PROVA DE EQUIVALÊNCIA À FREQUÊNCIA MATRIZ

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos


Microsoft Windows. Aspectos gerais

Processamento com SPOOL. Utilização do CPU e periféricos. Perfis dos programas. Exemplo IBM 1460 (1963) Problemas no escalonamento.

Introdução a. Shell Script. Clésio Matos

Componentes de um Sistema de Operação

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

Aula 4 Comandos Básicos Linux. Prof.: Roberto Franciscatto

Estrutura e funcionamento de um sistema informático

INTRODUÇÃO À LINGUAGEM C/C++

Partição Partição primária: Partição estendida: Discos básicos e dinâmicos

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal

Revisão Aula Explique a MBR(Master Boot Record)

Microsoft Windows: # 1

UNIVERSIDADE DE MOGI DAS CRUZES JOSÉ DA SILVA CONCEITOS DE INFORMÁTICA

Plano de Trabalho Docente Ensino Técnico

Introdução ao Linux: Parte I

MF = (M1 * 0,4) + (M2 * 0,6) MF < 6 MF = (MF * 0,6) + (EXA * 0,4)

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão

Sistema Operacional Unidade 5 - Iniciando o modo texto. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Introdução ao Microsoft Windows

O AMBIENTE DE TRABALHO DO WINDOWS

Workshop (mínimo de 5 inscrições)

15.4.2b Laboratório: Partilha de uma Pasta, de uma Impressora e Configuração de Permissões de Partilha

GNU/Linux/Bash. Aula 2

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

AULA TEÓRICA 2 Tema 2. Conceitos básicos de informática, computadores e tecnologias de informação. Sistemas de numeração (continuação)

PROGRAMAÇÃO Microsoft WINDOWS XP

Apresentação de SISTEMAS OPERATIVOS

Informática I. Aula Aula 19-20/11/06 1

Generated by Foxit PDF Creator Foxit Software For evaluation only. Capitulo 1

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

Câmara Digital Guia de Software

Sistemas Operacionais

Unidade 1: Sistema Operativo Linux

Curso Técnico de Nível Médio

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Sistemas Operacionais

Acronis Servidor de Licença. Manual do Utilizador

Sistemas Operacionais. (Capítulo 3) INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Princípios de TI - Computadores. Sistema Operacional. CECOMP Colegiado de Engenharia da Computação. Prof. Fábio Nelson. Slide 1

Práticas de Desenvolvimento de Software

Classificação Quanto. Sistemas de Lotes (2) Sistemas de Lotes (3)

Configuração do Ambiente de Trabalho

Introdução à Informática. Aula 04. Sistemas Operacionais Aplicativos e Utilitários Transmissão e meios de transmissão de dados. Prof.

Sistemas Operacionais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal

EVOLUÇÃO DOS SIST. DE COMPUTAÇÃO DÉC. DE 50 E 60

Simulador de Sistemas de Arquivos

Minicurso de Introdução a GNU/Linux. Nicolas Katte Dornelles Raul José Chaves Róbson Tolfo Segalla

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Julgue os itens a seguir referentes a conceitos de software livre e licenças de uso, distribuição e modificação.

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão

Transcrição:

1 Apresentação e objectivos Introdução à Programação Estes apontamentos das aulas teóricas são da autoria de Pedro Vasconcelos (2007) tendo sido adaptados e modificados por Armando Matos (2010) Introdução à Programação Objectivos 1. Introdução às linguagens de programação 2. Análise, estruturação, codificação e teste de algoritmos simples na linguagem de programação python 3. Conhecimento de alguns algorítmos básicos (pesquisa, ordenação... ) Introdução à Programação Docente: Armando Matos acm@dcc.fc.up.pt Bibliografia recomendada Referências [1] How to Think Like a Computer Scientist, A. Downey, J. Elkner e C. Meyers. Green Tea Press. PDF disponível em http://www.greenteapress.com/thinkpython/thinkcspy/thinkcspy.pdf. [2] Problem Solving with Algorithms and Data Structures, B. Miller and D. Ranum. Franklim, Beedle & Associates, 2006. 2 Introdução à Programação Introdução à Programação Computador: processador de informação (dados) segundo uma lista de instruções (programa) Estruturas de dados Algoritmos efectua operações simples (aritméticas/lógicas) depressa: humano: aproximadamente 1 operação/segundo computador actual: >1 milhão de operações/segundo qualquer tipo de dados quantificáveis (e.g. números, textos, sons, imagens... ) universal: utilizável para diversos fins com diferentes programas Modelo de execução de von-neumann 1

Breve cronologia dos computadores 1940s Colossus, Harvard Mk I, ENIAC 2 a Guerra Mundial 1950s UNIVAC I computadores comerciais 1960s IBM System/360 1970s PDP-11, DEC VAX, VMS, UNIX 1977 Apple II computadores pessoais 1981 IBM PC 1984 Apple Mac interfaces gráficas 1986 Intel 386, Windows 1.0 1990 Windows 3.0 1991 WWW, GNU/Linux internet, open-source 1993 Intel Pentium 1995 Windows 95 2001 Windows XP, MacOS X 2001 Windows Vista Níveis conceptuais de um computador Hardware: CPU, memória, unidades de disco, ecrã, teclado, rato... Software: sistema operativo, aplicações, jogos, ficheiros de dados (imagens, músicas, filmes, folhas de cálculo, bases de dados... ) Tendências: hardware mais barato software cada vez mais caro (percentualmente) desenvolvimento de software mais rápido: linguagens de alto nível re-utilização de componentes (bibliotecas) Sistemas de operação Conjunto de software de base para gerir recursos do computador Proporciona funcionalidades para as aplicações: gestão de utilizadores gestão de memória gestão de ficheiros gestão de I/O: terminais, impressoras, interfaces gráficas, ligações de rede 2

Cronologia do sistemas de operação (1) Primeiros sistemas de operação (1950s): um trabalho de cada vez (batch) apenas supervisiona as transições entre trabalhos Mainframes (1960-1970s) caros: necessário partilhar recursos multi-utilizador: vários utilizadores em terminais multi-tarefa: divisão o tempo de processamento entre os vários trabalhos (timesharing) Cronologia dos sistemas de operação (2) Mini-computadores: sistema UNIX (1970s) multi-utilizador, multi-tarefa portável para diferentes modelos de computadores código-fonte em linguagem C distribuído com o sistema popular na comunidade académica (Universidade de Berkeley) variantes comerciais: Ultrix, System V, IRIX, Solaris Cronologia dos sistemas de operação (3) Primeira geração de computadores pessoais (1970 1980) recursos escassos: um utilizador, uma tarefa interface textual (e.g. interpretador de comandos MS-DOS) combinado com uma linguagem de programação (BASIC) específicos de cada modelo de computador e.g. Apple II, IBM PC Cronologia dos sistemas de operação (4) Primeiras interfaces gráficas (1984 1990) aplicações associadas a janelas separadas apresentação de programas e ficheiros usando ícones selecção visual usando o rato facilita o acesso aos utilizadores um utilizador, multi-tarefa associadas a um modelo de hardware específico 3

Cronologia dos sistemas de operação (5) Actualmente: computadores pessoais têm recursos do que grandes computadores de gerações anteriores ligados em redes locais e globais (internet) multi-utilizador, multi-tarefa maior independência do hardware separação entre o núcleo e a interface gráfica UNIX em PCs: GNU/Linux, Free BSD, MacOS X O sistema UNIX organizado num núcleo (kernel) e vários processos núcleo: tem acesso directo ao hardware processos: pedem recursos ao núcleo (e.g. consultar ficheiros) cada utilizador: identificado por um login e.g. pbv autenticado por uma palavra-passe (secreta) área pessoal para ficheiros: home directory um utilizador especial: root único que pode alterar configurações de sistema único que pode acrescentar/remover utilizadores Organização de ficheiros ficheiros: textos, imagens, programas... identificados por nomes estruturados em directórios hierárquicos e.g. /home/pbv/aulas/teorica-01.tex permissões associadas a cada ficheiro: leitura, escrita, execução 4

Processos processo: execução dum programa num determinado contexto (utilizador e dados) aparência de vários processos a correr em simultâneo processos de utilizadores comuns: aplicações, editores, compiladores, interpretadores, etc. processos de sistema: interface gráfica, servidores (WWW, email, ssh), etc. filosofia UNIX: núcleo simples, tudo o resto são processos! Interpretador de comandos UNIX shell : interface textual para executar comandos UNIX cada comando é (normalmente) um programa em /bin ou /usr/bin sintaxe típica: comando [opções] [arg1 arg2... ] cada comando é executado com um novo processo associado ao directório corrente ( working directory ) Alguns comandos úteis 5

ls pwd cd mkdir rmdir cp mv rm cat ps man listar ficheiros no directório actual imprime o directório actual mudar o directório actual criar um novo directorio remover um directório (vazio) copiar ficheiro mover/mudar nome de um ficheiro remover um ficheiro listar o conteúdo de ficheiros (more) listar processos (do utilizador ou do sistema) mostrar manual de um comando (info) Caminhos absolutos e relativos. directório actual.. directório pai directório casa absoluto: /home/pbv/aulas/docs/thinkcspy.pdf relativo:../docs/thinkcspy.pdf relativo à casa: /docs/thinkcspy.pdf Na próxima aula Linguagens de programação Apresentação da linguagem Python 6