Complex Lab – Operating Systems - Graphical Console

Similar documents
Complex Lab – Operating Systems - Sessions and Dynamic Memory

はじめに

32C2100操作編ブック.indb

2

2

Z7000操作編_本文.indb




H8000操作編


19_22_26R9000操作編ブック.indb

2

2


open / window / I / shall / the? something / want / drink / I / to the way / you / tell / the library / would / to / me

Microsoft Word - PrivateAccess_UM.docx




1 122


平成29年度英語力調査結果(中学3年生)の概要

H2000操作編ブック.indb

32_42H3000操作編ブック.indb

fx-9860G Manager PLUS_J


生研ニュースNo.132

Read the following text messages. Study the names carefully. 次のメッセージを読みましょう 名前をしっかり覚えましょう Dear Jenny, Iʼm Kim Garcia. Iʼm your new classmate. These ar


RX600 & RX200シリーズ アプリケーションノート RX用仮想EEPROM

What s your name? Help me carry the baggage, please. politeness What s your name? Help me carry the baggage, please. iii

2

Z3500操作編ブック.indb

untitled

Microsoft Word - Win-Outlook.docx

X Window System X X &

HIS-CCBASEver2

卒業論文2.dvi

Jan, 2004 Plenary Meeting ARIB 5 Jan, 2005 Plenary Meeting x86 BML Browser on DirectFB Jan, 2006 Technical Jamboree ARIB Extension for DirectFB 2

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

323742RH500操作編.indb


目次 1. レッスンで使える表現 レッスンでお困りの際に使えるフレーズからレッスンの中でよく使われるフレーズまで 便利な表現をご紹介させていただきます ご活用方法として 講師に伝えたいことが伝わらない場合に下記の通りご利用ください 1 該当の表現を直接講師に伝える 2 該当の英語表現を Skype

TM-m30 詳細取扱説明書

JavaScript の使い方

Nios® II HAL API を使用したソフトウェア・サンプル集 「Modular Scatter-Gather DMA Core」

TM-m30 詳細取扱説明書

AN 100: ISPを使用するためのガイドライン

帯域を測ってみよう (適応型QoS/QoS連携/帯域検出機能)

2

ZV500操作編_本文.indb

1 138

BS・110度CSデジタルハイビジョンチューナー P-TU1000JS取扱説明書

ProVisionaire Control V3.0セットアップガイド

L3 Japanese (90570) 2008

TM-m30 詳細取扱説明書

How to Use In-flight Wi-Fi service ご利用ガイド 3 Flight Plan will be available for international connecting flights within 24 hours. 3 フライトプランは24時間以内であれば 国際

Promise FastTrak100 Japanese Manual

0 C C C C C C C

MOTIF XF 取扱説明書

1 142

国際恋愛で避けるべき7つの失敗と解決策

FAX-760CLT

Tsuken Technical Information 1

Microsoft Word - KUINS-Air_W10_ docx

Introduction to Information and Communication Technology (a)

by CASIO W61CA For Those Requiring an English/Chinese Instruction

Express5800/320Fa-L/320Fa-LR/320Fa-M/320Fa-MR

キャリアワークショップ教師用

TM-T88VI 詳細取扱説明書


Introduction Purpose This course explains how to use Mapview, a utility program for the Highperformance Embedded Workshop (HEW) development environmen

elemmay09.pub

Express5800/320Fa-L/320Fa-LR

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N

0 C C C C C C

入学検定料支払方法の案内 1. 入学検定料支払い用ページにアクセス ポータルの入学検定料支払いフォームから 入学検定料支払い用 URL の ここをクリック / Click here をクリックしてください クリックを行うと 入学検定料支払い用のページが新たに開かれます ( 検定料支払い用ページは ポ


HA8000-bdシリーズ RAID設定ガイド HA8000-bd/BD10X2


Hospitality-mae.indd

Configuring_01

untitled

エクセルソフト株式会社 WinDriver PCI 5! WinDriver 1. DriverWizard 2. DriverWizard WinDriver 1. Windows 98/Me NT/2000/XP Windows CE/CE.NET Windows Server 2003 Lin

NSR-500 Installation Guide

STEP 02 Memo: Momijigari and New Year s in Japan About Momijigari in Japan About New Year s in Japan Others Questions to your Pen Pal STEP 03 Final: W

1 Fig. 1 Extraction of motion,.,,, 4,,, 3., 1, 2. 2.,. CHLAC,. 2.1,. (256 ).,., CHLAC. CHLAC, HLAC. 2.3 (HLAC ) r,.,. HLAC. N. 2 HLAC Fig. 2

アンケート2

Microsoft PowerPoint - #07 Quiz Are you still with me .pptx

untitled

untitled

評論・社会科学 84号(よこ)(P)/3.金子

02_Matrox Frame Grabbers_1612

-2-

untitled

Applet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet

1

25 II :30 16:00 (1),. Do not open this problem booklet until the start of the examination is announced. (2) 3.. Answer the following 3 proble

Transcription:

Complex Lab Operating Systems Graphical Console Martin Küttler

Last assignment Any questions? Any bug reports, whishes, etc.? 1 / 13

We are here Pong Server Paddle Client 1 Paddle Client 2 Memory Management Moe Sigma0 Fiasco Kernel 2 / 13

Today's goal Pong Server Paddle Client 1 Paddle Client 2 Keyboard Driver Console Memory Management Moe Sigma0 Fiasco Kernel 3 / 13

Graphics (VESA) Using VBE/XGA BIOS extension Put computer into XGA mode: Requires evil real-mode code GRUB: vbeset <mode> L4 FBDRV: command line option -m <mode> mode: 0x100-0x11F, see e.g. Wikipedia on VBE Get access to hardware frame buer Render graphics into frame buer 4 / 13

VESA on L4Re FB client IO server manages all I/O resources fb-drv server provides a frame buer interface. fb-drv io sigma0 VESA 5 / 13

IO conguration Keyboard Client 1 Keyboard Client 2 Console IO server PS/2 USB mouse USB KB Framebuer IO Conguration les: Hardware description le (src/l4/pkg/io/io/cong/x86-legacy.devs) vbus conguration le (x86-fb.io) 6 / 13

Lua example local L4 = require ( " L4 " ); local ld = L 4.default_loader ; local vbus = ld : new_channel (); local fbdrv = ld : new_channel (); ld : start ({ cap = { fbdrv = vbus : svr (), icu = L4.Env.icu, sigma0 = L4.cast ( L4.Proto.Factory, L4.Env.sigma0 ) : create ( L4.Proto.Sigma0 )}, log = { " IO ", " yellow " }}, " rom / io rom / x86 - legacy.devs rom / x86 - fb.io " ); ld : start ({ caps = { vbus = vbus, fb = fbdrv : svr () }, log = { " fbdrv ", " red " }}, " rom / fb - drv -m 0 x117 " ); ld : start ({ caps = { fb = fbdrv }}, " rom / your_fb_client " ) 7 / 13

L4Re Framebuer Interface Headers are at s r c / l 4 /pkg/ l 4 r e core / l 4 r e / i n c l u d e / video / goos, and s r c / l 4 /pkg/ l 4 r e code / l 4 r e / u t i l / i n c l u d e / video / goos_fb Iterface to Goos_fb Goos_fb ( char const name) Create FB using capability name (channel to fb-drv) Goos_fb : : view_info ( ) FB information Goos_fb : : attach_buffer ( ) Get FB data space Goos_fb : : r e f r e s h ( ) refresh, not necessary for physical FB. 8 / 13

Example: Drawing Pixels auto base = fb. attach_buffer (); L4Re :: Util :: Video :: View :: Info info ; int r = fb. view_info (& info ); if ( r!= 0) error (...); auto addr = base + y * ( info. pixel_info. bytes_per_pixel () * info. width ) + x * info. pixel_info. bytes_per_pixel (); // details about color encoding in info. pixel_info * static_cast < unsigned * >( addr ) = value ; 9 / 13

Rendering Text Use C library: libgfxbitmap Initialize: gfxbitmap_font_init ( ) ; Render text: g f x b i t m a p _ f o n t _ t e x t ( void * fb_base, l 4 r e _ v i d e o _ v i e w _ i n f o _ t * fbinfo, gfxbitmap_font_t font, char const * text, unsigned len, unsigned x, unsigned y, g f x b i t m a p _ c o l o r _ p i x _ t foreground, g f x b i t m a p _ c o l o r _ p i x _ t background ); fb_base base address of FB f b i n f o L4Re::Framebuer::Info struct, cast Colors are unsigned i n t Useful constants: GFXBITMAP_DEFAULT_FONT, GFXBITMAP_USE_STRLEN 10 / 13

Drawing graphics There is a libpng, contact me if you need/want it. Consult your favorite Computer Graphics reference for drawing algorithms. None of these is necessary for this assignment, as Pong can already draw itself. 11 / 13

Assignment: Graphical text console Make your echo server render text into the physical framebuer (direct access for now) Scroll down when the screen is full, as in a terminal. When we are going to have input, you might want to scroll up, so keep history. 12 / 13

Next meeting Next up: Keyboard driver, graphics multiplexing, and integration. We meet on 23.01. for our last meeting. 13 / 13