Junho 2006 - Posts
Saiu a versão final do Live Messenger 8
http://get.live.com/messenger/overview
Já está disponível a beta3 do Internet Explorer! Agora sim, está quase!! :)
http://www.microsoft.com/windows/ie/downloads/default.mspx
Fibers
São pseudo tarefas geridas no espaço de endereçamento do utilizador. Uma thread pode ter múltiplas fibers. Uma fiber só pode existir no interior de uma thread que é objecto de execução conhecido pelo núcleo.
As fibers são criadas e comutadas explicitamente com chamadas à biblioteca Win32 mas que não produzem chamadas ao sistema. A troca de threads (switching) em Windows (NT tecnology) é uma operação relativamente "cara" (a nível de recursos do computador) porque a troca de threads necessita de várias entradas e saídas do modo de núcleo (kernel mode).
Para atenuar este processo, torná-lo mais leve e através de um pseudo paralelismo, o Windows disponibiliza as Fibers, que são parecidas ás threads, mas são agendadas no modo do utilizador (daí o comentário do Paulo Morgado no post anterior), e criadas pelas aplicações em run-time. Cada thread permite múltiplas Fibers, da mesma forma um processo pode conter múltiplas threads, excepto quando uma fiber a bloqueia (logicamente). Ficando esta em lista de espera das fibers (queue of blocked fibers), seleccionando outra fiber para correr sobre o contexto da sua thread.
O modelo multitarefa
Um processo é simultaneamente um ambiente de execução (memória, segurança, recursos) e um fluxo de execução.
Pode haver interesse em separá-los
Manter o conceito de processo como o ambiente em que o programa se executa
Criar um novo conceito para os fluxos de execução, em inglês normalmente designados por execution threads ou simplesmente threads. Também é frequente a designação de light-weight process
chamamo-las por tarefas que não corresponde à tradução literal mas que nos parece mais coerente em Português com a semântica do conceito.
Vantagens das Tarefas em relação a processos:
Partilham o mesmo espaço de endereçamento
Código pertence ao processo englobante – não é necessário carregá-lo, o que permite criar rapidamente uma tarefa
Ambiente de execução definido pelo processo
Comutação mais simples
Não é necessário efectuar algumas validações de segurança porque as tarefas se executam dentro do mesmo processo
O que é uma Tarefa
• Em termos de estruturas de dados
– Um contador de programa que define a evolução do programa
– Uma pilha para conter os registos de activação das subrotinas
– Os registos do CPU
• As tarefas pertencentes a um processo constam
de uma tabela de tarefas
• As tarefas são comutadas por uma função de
despacho de forma semelhante aos processos.
• Utilidade das Tarefas
Servidores – um servidor recebe numerosos pedidos dos clientes. Cada um destes pedidos pode ser considerado como um fluxo de execução independente que executa o mesmo código dentro do servidor.
Clientes – por vezes os programas dos clientes tem actividades múltiplas, ex.: uma tarefa recebe mensagens da rede, outra interactua com o utilizador e outras faz uma tarefa de suporte como reformatar texto, correcção ortográfica, etc. (ex.: Outlook no windows).
Tarefas - Threads
• Tarefas são fluxos de execução concorrentes que executam o mesmo programa no espaço de endereçamento do processo

As threads têm uma classe de prioridade que define os níveis de prioridades a que se podem executar
• O escalonamento é multilista – 32 listas, preemptivo
– Os níveis 16 a 31 são de prioridade tempo real – a prioridade das threads é fixa
– Os níveis de 0 a 15 têm prioridades dinâmicas.
Escalonador decrementa a prioridade sempre que a thread usou o seu time-slice e incrementa-o quando a thread é desbloqueada.
Em ambiente Windows:
Uma thread é um fluxo de execução dentro de um processo que o Windows ( desde a versão NT) escalona para utilização do processador. São portanto tarefas reais.
• Uma tarefa tem os seguintes componentes fundamentais:
– Os registos do CPU que representam o estado do processador
– Duas pilhas (stacks), uma para execução em modo núcleo e outra para execução em modo utilizador
– Uma zona de memória privada (thread-local storage - TLS) para uso pelos subsistemas e DLL´s
– Um identificador único - thread ID (as thread IDs são geradas do mesmo espaço de nomes dos processos e portanto não se sobrepõem)
Um conjunto muito interessante de videos, sobre o exchange e as suas funcionalidades.
http://msexchangeteam.com/videos/9/owamobility/entry428082.aspx
OWA, tools, etc...
A Microsoft tem agora um anti spam para o exchange e SMTP gateways, acho que vai dar jeito a muitos... pelo menos para reduzir a queixas dos users da rede.
Até que funciona bem ;) experimentem.
Download
Para quem sabia a power shell (ex monad) a super consola da MS, tem agora um IDE, que boa noite... lol! Lindo!
Além de estar muito mas muito bem feita, é super fácil de usar, editar, debug e o melhor ainda é que é FREE!!
Só o promenor do IDE ser semelhante ao do Office 2007... lindo, só vendo mesmo...
Acabou-se o notepad para editar e o constante correr a consola para o debug, agora sim, rápido e eficaz, aconselho VIVAMENTE a quem usa esta consola.
Download aqui
Não se esqueçam que têm que ter a framework e a PowerShell RC1 instaladas
Bem, já algum tempo que não post nada... isto deve-se a muito trabalho que tenho tido, super intensivo e cansativo também.
Então queria aproveitar não para anunciar as betas 2 do Office e do Windows porque já não é notícia, mas sim para vos deixar a minha opinião do que eu já experimentei.
Windows Vista
A instalação correu sem problemas, e também me deparei com uma instalação lenta no Virtual PC (tal como o Ricardo já tinha referido esse problema), mas fora isso correu lindamente.
É bom ver o DWM em execução! E sem problemas! O IDE gráfico está excelente, e nada tenho a comentar... lol
A nível mais "underground", do que estive a analisar de recursos de hardware e gerência de threads, fiquei com a sensação de que está tudo muito bem feito. Mas preciso de mais tempo e mais software para analisar estas capacidades, bem como a segurança.
Mas do que vi gostei muito e acho que será sem dúvida uma viragem na página dos OS.
Office 2007
A instalação correu sem problemas! :)
A nível geral, acho o novo IDE lindo! lol, super intuitivo e muito mais pratico, bem como os novos menus de contextualização. Todos os produtos foram muito melhorados, mas o que eu mais uso ficou de fora :) lol, quer dizer, ele teve também as suas alterações no IDE, mas a nível de execução o Outlook tem um bug muito forte, extende-se na memória como se estivesse numa auto-estrada lol, é verdade, por vezes chega a ocupar 500mb. Espero que isto seja resolvido (claro!). Outro aspecto que melhoraram foi a gestão das ligações com os servidores de correio, não deixando a app pendurada, como acontecia no 2003, assim em duas threads resolveram e bem o problema. A integração do RSS não foi esquecida e está boa, podia estar melhor, mas serve.
O PowerPoint é que levou cá um codanço… lol, está muito mas muito melhor e em três tempos se faz uma app de qualidade profissional! O live preview é sem dúvida excelente bem como os templates, ao qual também podemos adicionar os nossos.
O Groove, agradou-me muito, a idéia à lá Team System (VS), está muito boa, grupos de trabalho, partilha e discussão de recursos, uma ferramenta muito útil, é pena não ter Shared Desktop, para a malta poder ver o trabalho (live) dos colegas... espero q venha na versão final.
No resto das app do Office, parecem-me muito boas e para quem se iniciar com esta nova versão não vai conhecer muitas dores de cabeça como eu que já o uso desde... sei lá...
?>