Pintos overview Operating System Project kit 금오공과대학교.

Slides:



Advertisements
Similar presentations
TortoiseSVN By Group 1 Team B. Installing TortoiseSVN.
Advertisements

 Please sit next to your partner.  If you don’t have a partner, please find one now.
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
TortoiseSVN Tutorial TortoiseSVN Tutorial By: Dung Nguyen Date: May 26 th, 2008 Duration: 1h30’ By: Dung Nguyen Date: May 26 th, 2008 Duration: 1h30’ Topic:
Version Control System (Sub)Version Control (SVN).
Let Use SVN(Subversion) Interaction Lab. Hyo-Geun Ahn
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Revision Control Systems Amin Tootoonchian Kian Mirjalali.
Dedi Rahmawan Putra  Shared Document  Conventional Ways  Common Problems  What is TortoiseSVN  Advantages over another tools  Basic Concepts.
1 SVN – Tool for Version Control Talal Ahmed ( ) Ali Ahsan ( ) Adil Zia Khan ( ) Farid Ullah ( )
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Introduction to CVS 7/3/20151UMBC CMSC 341. Outline Introduction to Source Code Management What is CVS? CVS for Project Submission Basic commands Checkout,
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
SubVersioN – the new Central Service at DESY by Marian Gawron.
© Polarion Software ® Subtrain – SVN User training – IntroductionWhat is Subversion? 1 backupcollaboration documentationversioning.
Version Control. What is Version Control? Manages file sharing for Concurrent Development Keeps track of changes with Version Control SubVersion (SVN)
European Organization for Nuclear Research Source Control Management Service (Subversion) Brice Copy, Michel Bornand EN-ICE 13 May 2009.
Version control Using Git 1Version control, using Git.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
Warmup A programmer’s wife tells him, “Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.” The programmer.
Version control Using Git Version control, using Git1.
Subversion (SVN) Tutorial Source:
Old Chapter 10: Programming Tools A Developer’s Candy Store.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Version Control Systems with Subversion (SVN) and Tortoise.
Version Control Menggunakan TortoiseSVN
(Sub)Version Control. 2 Keep large teams working on the same code Back up your work so you don't lose it all Compare changes to previous versions Revert.
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
Introduction to Version Control SE-2030 Dr. Rob Hasker 1 Based on material at and slides written.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
CPSC 233 Run graphical Java programs remotely on Mac and Windows.
Subversion is a free/open-source version control system. It manages files and directories, and the changes made to them, over time. This allows you to.
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
Pintos: Threads Project
SWGData and Software Access - 1 UCB, Nov 15/16, 2006 THEMIS SCIENCE WORKING TEAM MEETING Data and Software Access Ken Bromund GST Inc., at NASA/GSFC.
Unix Machine In Computer Science for Teaching Cliff Zou Spring 2015.
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
Unix Servers Used in This Class  Two Unix servers set up in CS department will be used for some programming projects  Machine name: eustis.eecs.ucf.edu.
Part 4: FCM and the UM University of Reading, December 2015.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
Transition to SVN server: follow up P.Hristov 24/01/2008.
SVN code server for AliRoot P.Hristov 18/10/2007.
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
(1) Introduction to Subversion (SVN) and Google Project Hosting Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
NALINI S. NAUTIYAL SYSTEM SOFTWARE DIVISION Subversion.
1 COMP 3500 Introduction to Operating Systems Project 2 – An Introduction to OS/161 Overview Dr. Xiao Qin Auburn University
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
1 Subversion Kate Hedstrom April Version Control Software System for managing source files –For groups of people working on the same code –When.
Problem Solving With C++ SVN ( Version Control ) April 2016.
Introduction to Subversion Getting started with svn Matteo Vescovi 19/02/2010.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Tutorial Six Linux Basics CompSci Semester Two 2016.
Version Control Systems
Computer System Laboratory
Version Control with Subversion
SVN intro (review).
Source Control Dr. Scott Schaefer.
Version control, using Git
Version Control Systems
Software Version System Part1: Subversion at CERN
Source Code Management
slides borrowed and adapted from Alex Mariakis and CSE 390a
Compilers, Make and SubVersion
Concurrent Versions System
Presentation transcript:

Pintos overview Operating System Project kit 금오공과대학교

Introduce Pintos An instructional operating system Developed by Stanford university A few of the source files are derived from code used in the MIT OS course A real OS for 80x86 architecture (c.f. nachos) Run on a regular IBM-compatible PC or an x86 simulator The original structure and form was inspired by the nachos Written in C language

Tutorial Environments setup Test execution Debugging Methods Installation Configuration Test connection Test execution Build source code Execution on Pintos runtime (Bochs) Debugging Methods Version control Simple process (import, checkout, commit, update)

Environments Bochs Linux + Bochs IA-32 emulator We will run Pintos on this emulator Bochs makes it easy to develop and debug Pintos projects Linux + Bochs We will use Linux(Debian) machine

Environments - Client SSH client X-window server (Local – Client) Official client : Putty Other clients : SecureCRT, Xshell, etc ... X-window server (Local – Client) Official server : Xming Other servers : Xmanager, Cygwin-X, etc ... Connect to experiment server Host : 'linda.kumoh.ac.kr' SSH with X11 forwarding

Environments - Server Implemented in server – Recommend using this x86 emulator Bochs : Ready on experiment server You can get customized auto installation source from experiment server QEMU (Faster than Bochs) Pintos utilities Build from pintos source code Other basic utilities GCC compiler set, GDB, Perl

Pintos set up linda.kumoh.ac.kr 접속 Pintos 압축 푼 다음 pintos 실행 BOCHS 이미 설치되어 있음. (서버에 BOCHS 재설치 하지 말 것) Pintos 압축 풀기 $tar zxvf pintos.tar.gz Pintos 압축 푼 다음 $pintos/src/thread 로 이동 $make : 결과로 현재 디렉토리에 (src/thread) build라는 디렉토리 생성됨 pintos 실행 $pintos/src/threads$ pintos –v -- run alarm-multiple

Tutorial Environments setup Test execution Debugging Methods Installation Configuration Test connection Test execution Build source code Execution on Pintos runtime (Bochs) Debugging Methods Version control Simple process (import, checkout, commit, update)

Pintos set up

Tutorial Environments setup Test execution Debugging Methods Installation Configuration Test connection Test execution Build source code Execution on Pintos runtime (Bochs) Debugging Methods Version control Simple process (import, checkout, commit, update)

Debug methods printf() – Traditional log based debug Assertion – Using ASSERT macro Backtraces – Find location in source GDB – Step-by-Step debugging Remote debugging to localhost (need 2 console) Modifying Bochs – Debug Triple Faults

Tags - 1 함수나 전역변수에 쉽게 이동할 수 있는 인덱스 파일 Vi와 연동해서 사용할 수 있다. Make `tags` file & set for VI

Tags - 2 이동하고자 하는 함수나 전역변수에 캐롯을 두고 Ctrl+] 바로 전 단계로 이동하고자 할 때는 Ctrl+T

gdb - 1 Pintos는 기존의 GDB에 기능을 추가하여 편리한 스크립트를 함께 제공한다. --gdb 옵션과 함께 pintos 를 실행하며, 또 다른 터미널의 build 디렉토리에서 pintos-gdb를 실행한다. $pintos --gdb --gdb-port=1234 –v -- run alarm-multiple Gdb의 사용법 참조 사이트 http://www.gnu.org/software/gdb/documentation/

gdb - 2 Execute pintos with '--gdb' option user@linda:~/pintos/src/threads/build$ pintos --gdb -v --gdb-port=1234 -- run alarm-multiple --gdb-Port=1234 포트 번호를 지정하여 디버깅 출력 화면

gdb - 3 Execute gdb by pintos (In another terminal) user@linda:~/pintos/src/threads/build$ pintos-gdb kernel.o gdb 화면

포트 번호 충돌 가능성이 존재하므로 netstat 명령으로 해당 포트의 오픈 여부를 확인 gdb - 4 Connect to gdb session (gdb) target remote localhost:1234  지정한 포트 번호 Setup break point (gdb) break run_test Continue execution of code (It will pause at breakpoint) (gdb) continue 포트 번호 충돌 가능성이 존재하므로 netstat 명령으로 해당 포트의 오픈 여부를 확인

gdb - 5 출력 화면 gdb 화면

Tutorial Environments setup Test execution Debugging Methods Installation Configuration Test connection Test execution Build source code Execution on Pintos runtime (Bochs) Debugging Methods Version control Simple process (import, checkout, commit, update)

Version Control Goal CVS and Subversion Keywords Cooperation development, Avoid version mixing, Improve code shareablity, Solving conflicts, Management of change histories, Blame, Automatic daily build, etc ... CVS and Subversion Keywords Repository, Module, Import, Checkout, Revision, Commit, Update, Lock, Tag, Branch, Release See more information on “Revision_control” in Wikipedia

svn Compelling replacement for CVS in the open source community Change set revision, Fast execution, Atomic commit, Reduce network traffic, Configurable each Project, Easy to extends, Support many protocol, Clean source code, Similar usage with CVS Ready on experiment server Support 'file' and 'svn+ssh' protocol Each team have to elect source manager Recommend Microsoft Windows User to use 'tortoisesvn' (http://tortoisesvn.tigris.org/)

svn Create svn directory Create svn repository Import module baseline user@linda:~$ mkdir svn Create svn repository user@linda:~$ svnadmin create svn/pintos Import module baseline user@linda:~$ ls pintos svn user@linda:~$ svn import pintos file:///home/jkang/svn/pintos/ (user@linda:~$ svn import pintos file://`pwd`/svn/pintos/) ... Adding pintos/src/examples/Makefile Adding pintos/src/examples/.cvsignore Committed revision 1. jkang@linda:~$

svn Delete original source Checkout from repository user@linda:~$ ls pintos svn user@linda:~$ rm -rf pintos user@linda:~$ ls svn Checkout from repository user@linda:~$ svn checkout file://`pwd`/svn/pintos pintos ... A pintos/src/examples/Makefile A pintos/src/examples/.cvsignore Checked out revision 1. user@linda:~$ ls pintos svn

svn Edit source code (Edit 'pintos/src/LICENSE' file) Commit If change set has new files, must execute 'svn add' before commit user@linda:~$ svn commit pintos Sending pintos/src/LICENSE Transmitting file data . Committed revision 2. user@linda:~$ Update (Different location and revision) user@linda:~$ svn update pintos U pintos/src/LICENSE Updated to revision 2. user@linda:~$

Thank you