SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
C-Shell
Mark and Turner
Patterns
• Reactor
• Singleton
• Interpreter
• Factory
• Builder
Shell Reactor
• main function
• while loop, terminates when
user enters “exit”
• Sends user input command to
parser
ShellParser
• Splits up each word in the
passed string based off of “ “
character.
• Pushes into a vector of strings.
• Also controls things such
whether process will run in
background, piping, output.
• Creates a new job from
command.
• T
Job
• Factory
• makeJob() makes a new
process from the commands
• launch() launches the process
in job once they are made
• Job sets up piping for multiple
process
Process
• With each process, a new
process object is created.
• The process is then forked
and exec’ed
• Output is printed to terminal
Shell
• Singleton Pattern- only one
instance
• Holds a lot of the variables we
need to keep global such as
our command vector and
terminal process id
• Mostly consists of accessor
methods
Shell Commands
• ls - lists all files in the directory
• cd - changes directory
• dirs - outputs current directory
path
• exec - execs a process, then
quits
• wait - waits for a process to
finish based off of its pid
• help - displays a small help
menu with valid commands
Some Challenges
• Piping- it took some time to figure out job
management that allowed us to pipe.
• Parsing Special Characters- size_t overflow due
to npos being values as “-1”
• Testing- Finding good use cases to test each
feature as it was implemented.
Demonstration

Mais conteúdo relacionado

Mais procurados

Fluentd v0.14 Overview
Fluentd v0.14 OverviewFluentd v0.14 Overview
Fluentd v0.14 OverviewN Masahiro
 
Akmal Khaleeq Waheed - Challenge 3 p2
Akmal Khaleeq Waheed - Challenge 3 p2Akmal Khaleeq Waheed - Challenge 3 p2
Akmal Khaleeq Waheed - Challenge 3 p2tovmug
 
Remote iOS Devices Server – Scaling iOS
Remote iOS Devices Server – Scaling iOSRemote iOS Devices Server – Scaling iOS
Remote iOS Devices Server – Scaling iOSNick Abalov
 
OB1K - New, Better, Faster, Devops Friendly Java container by Outbrain
OB1K - New, Better, Faster, Devops Friendly Java container by OutbrainOB1K - New, Better, Faster, Devops Friendly Java container by Outbrain
OB1K - New, Better, Faster, Devops Friendly Java container by OutbrainEran Harel
 
Presentation Lfoppiano Pycon
Presentation Lfoppiano PyconPresentation Lfoppiano Pycon
Presentation Lfoppiano PyconLuca Foppiano
 
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd Meetup 2016 - ServerEngine Integration & Windows supportFluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd Meetup 2016 - ServerEngine Integration & Windows supportRitta Narita
 
Binary Studio Academy: Concurrency in C# 5.0
Binary Studio Academy: Concurrency in C# 5.0Binary Studio Academy: Concurrency in C# 5.0
Binary Studio Academy: Concurrency in C# 5.0Binary Studio
 
JActor Cluster Platform
JActor Cluster PlatformJActor Cluster Platform
JActor Cluster PlatformBill La Forge
 
EUC2015 - Load testing XMPP servers with Plain Old Erlang
EUC2015 - Load testing XMPP servers with Plain Old ErlangEUC2015 - Load testing XMPP servers with Plain Old Erlang
EUC2015 - Load testing XMPP servers with Plain Old ErlangPaweł Pikuła
 
Basics of Node.js
Basics of Node.jsBasics of Node.js
Basics of Node.jsAlper Unal
 
Democratizing Serverless
Democratizing ServerlessDemocratizing Serverless
Democratizing ServerlessShaun Smith
 
Robot Evolution
Robot EvolutionRobot Evolution
Robot EvolutionOleg Popov
 

Mais procurados (20)

Keynote - Fluentd meetup v14
Keynote - Fluentd meetup v14Keynote - Fluentd meetup v14
Keynote - Fluentd meetup v14
 
Fluentd v0.14 Overview
Fluentd v0.14 OverviewFluentd v0.14 Overview
Fluentd v0.14 Overview
 
NodeJs
NodeJsNodeJs
NodeJs
 
Akmal Khaleeq Waheed - Challenge 3 p2
Akmal Khaleeq Waheed - Challenge 3 p2Akmal Khaleeq Waheed - Challenge 3 p2
Akmal Khaleeq Waheed - Challenge 3 p2
 
Remote iOS Devices Server – Scaling iOS
Remote iOS Devices Server – Scaling iOSRemote iOS Devices Server – Scaling iOS
Remote iOS Devices Server – Scaling iOS
 
SQL debugging
SQL debuggingSQL debugging
SQL debugging
 
OB1K - New, Better, Faster, Devops Friendly Java container by Outbrain
OB1K - New, Better, Faster, Devops Friendly Java container by OutbrainOB1K - New, Better, Faster, Devops Friendly Java container by Outbrain
OB1K - New, Better, Faster, Devops Friendly Java container by Outbrain
 
Presentation Lfoppiano Pycon
Presentation Lfoppiano PyconPresentation Lfoppiano Pycon
Presentation Lfoppiano Pycon
 
Introduction to Reactive Java
Introduction to Reactive JavaIntroduction to Reactive Java
Introduction to Reactive Java
 
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd Meetup 2016 - ServerEngine Integration & Windows supportFluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
 
rsyslog meets docker
rsyslog meets dockerrsyslog meets docker
rsyslog meets docker
 
Reactive Java (GeeCON 2014)
Reactive Java (GeeCON 2014)Reactive Java (GeeCON 2014)
Reactive Java (GeeCON 2014)
 
Binary Studio Academy: Concurrency in C# 5.0
Binary Studio Academy: Concurrency in C# 5.0Binary Studio Academy: Concurrency in C# 5.0
Binary Studio Academy: Concurrency in C# 5.0
 
Owin
OwinOwin
Owin
 
JActor Cluster Platform
JActor Cluster PlatformJActor Cluster Platform
JActor Cluster Platform
 
EUC2015 - Load testing XMPP servers with Plain Old Erlang
EUC2015 - Load testing XMPP servers with Plain Old ErlangEUC2015 - Load testing XMPP servers with Plain Old Erlang
EUC2015 - Load testing XMPP servers with Plain Old Erlang
 
Inter-process communication on steroids
Inter-process communication on steroidsInter-process communication on steroids
Inter-process communication on steroids
 
Basics of Node.js
Basics of Node.jsBasics of Node.js
Basics of Node.js
 
Democratizing Serverless
Democratizing ServerlessDemocratizing Serverless
Democratizing Serverless
 
Robot Evolution
Robot EvolutionRobot Evolution
Robot Evolution
 

Destaque

Gastro intestinal surgery opd
Gastro intestinal surgery opdGastro intestinal surgery opd
Gastro intestinal surgery opdnisaiims
 
Communication Skills in High-Stake Environment
Communication Skills in High-Stake EnvironmentCommunication Skills in High-Stake Environment
Communication Skills in High-Stake Environmentnisaiims
 
Emergency sonography. Empowering resuscitation
Emergency sonography. Empowering resuscitation   Emergency sonography. Empowering resuscitation
Emergency sonography. Empowering resuscitation nisaiims
 
1 s2.0-s0016236111006958-main
1 s2.0-s0016236111006958-main1 s2.0-s0016236111006958-main
1 s2.0-s0016236111006958-mainesteban3pp
 
chuyên dịch vụ giúp việc văn phòng cao cấp ở hồ chí minh
chuyên dịch vụ giúp việc văn phòng cao cấp ở hồ chí minhchuyên dịch vụ giúp việc văn phòng cao cấp ở hồ chí minh
chuyên dịch vụ giúp việc văn phòng cao cấp ở hồ chí minhdarrick325
 
chuyên dịch vụ giúp việc gia đình chuyên nghiệp sài gòn
chuyên dịch vụ giúp việc gia đình chuyên nghiệp sài gònchuyên dịch vụ giúp việc gia đình chuyên nghiệp sài gòn
chuyên dịch vụ giúp việc gia đình chuyên nghiệp sài gònsara869
 
GBM--multicentric (1)
GBM--multicentric (1)GBM--multicentric (1)
GBM--multicentric (1)Amit Ghosh
 
Rencontres de Biarritz 2016 - Le Programme
Rencontres de Biarritz 2016 - Le ProgrammeRencontres de Biarritz 2016 - Le Programme
Rencontres de Biarritz 2016 - Le ProgrammeGuillaume Barucq
 
CREATING AN ULTRASOUND TEAM
CREATING AN ULTRASOUND TEAMCREATING AN ULTRASOUND TEAM
CREATING AN ULTRASOUND TEAMnisaiims
 
Refleksi etika professioanal
Refleksi etika professioanalRefleksi etika professioanal
Refleksi etika professioanalyeesan
 
Paediatric medicine opd workflow(1)
Paediatric medicine opd workflow(1)Paediatric medicine opd workflow(1)
Paediatric medicine opd workflow(1)nisaiims
 
chuyên dịch vụ giúp việc theo tháng cao cấp sài gòn
chuyên dịch vụ giúp việc theo tháng cao cấp sài gònchuyên dịch vụ giúp việc theo tháng cao cấp sài gòn
chuyên dịch vụ giúp việc theo tháng cao cấp sài gònarnulfo238
 
chuyên dịch vụ giúp việc quận phú nhuận tại tphcm
chuyên dịch vụ giúp việc quận phú nhuận tại tphcmchuyên dịch vụ giúp việc quận phú nhuận tại tphcm
chuyên dịch vụ giúp việc quận phú nhuận tại tphcmkristle864
 
Akuntansi usaha mikro (2013 trw+or)
Akuntansi usaha mikro (2013 trw+or)Akuntansi usaha mikro (2013 trw+or)
Akuntansi usaha mikro (2013 trw+or)Mila Masduki Masduki
 

Destaque (20)

Gastro intestinal surgery opd
Gastro intestinal surgery opdGastro intestinal surgery opd
Gastro intestinal surgery opd
 
Communication Skills in High-Stake Environment
Communication Skills in High-Stake EnvironmentCommunication Skills in High-Stake Environment
Communication Skills in High-Stake Environment
 
Property Times May 2015
Property Times May 2015Property Times May 2015
Property Times May 2015
 
Property Times eMagazine July 2014
Property Times eMagazine July 2014Property Times eMagazine July 2014
Property Times eMagazine July 2014
 
Emergency sonography. Empowering resuscitation
Emergency sonography. Empowering resuscitation   Emergency sonography. Empowering resuscitation
Emergency sonography. Empowering resuscitation
 
Property Times eMagazine February 2015
Property Times eMagazine February 2015Property Times eMagazine February 2015
Property Times eMagazine February 2015
 
1 s2.0-s0016236111006958-main
1 s2.0-s0016236111006958-main1 s2.0-s0016236111006958-main
1 s2.0-s0016236111006958-main
 
chuyên dịch vụ giúp việc văn phòng cao cấp ở hồ chí minh
chuyên dịch vụ giúp việc văn phòng cao cấp ở hồ chí minhchuyên dịch vụ giúp việc văn phòng cao cấp ở hồ chí minh
chuyên dịch vụ giúp việc văn phòng cao cấp ở hồ chí minh
 
chuyên dịch vụ giúp việc gia đình chuyên nghiệp sài gòn
chuyên dịch vụ giúp việc gia đình chuyên nghiệp sài gònchuyên dịch vụ giúp việc gia đình chuyên nghiệp sài gòn
chuyên dịch vụ giúp việc gia đình chuyên nghiệp sài gòn
 
GBM--multicentric (1)
GBM--multicentric (1)GBM--multicentric (1)
GBM--multicentric (1)
 
Property Times eMagazine march 2015
Property Times eMagazine march 2015Property Times eMagazine march 2015
Property Times eMagazine march 2015
 
Rencontres de Biarritz 2016 - Le Programme
Rencontres de Biarritz 2016 - Le ProgrammeRencontres de Biarritz 2016 - Le Programme
Rencontres de Biarritz 2016 - Le Programme
 
CREATING AN ULTRASOUND TEAM
CREATING AN ULTRASOUND TEAMCREATING AN ULTRASOUND TEAM
CREATING AN ULTRASOUND TEAM
 
Refleksi etika professioanal
Refleksi etika professioanalRefleksi etika professioanal
Refleksi etika professioanal
 
Paediatric medicine opd workflow(1)
Paediatric medicine opd workflow(1)Paediatric medicine opd workflow(1)
Paediatric medicine opd workflow(1)
 
Heiko___Conrad
Heiko___ConradHeiko___Conrad
Heiko___Conrad
 
chuyên dịch vụ giúp việc theo tháng cao cấp sài gòn
chuyên dịch vụ giúp việc theo tháng cao cấp sài gònchuyên dịch vụ giúp việc theo tháng cao cấp sài gòn
chuyên dịch vụ giúp việc theo tháng cao cấp sài gòn
 
chuyên dịch vụ giúp việc quận phú nhuận tại tphcm
chuyên dịch vụ giúp việc quận phú nhuận tại tphcmchuyên dịch vụ giúp việc quận phú nhuận tại tphcm
chuyên dịch vụ giúp việc quận phú nhuận tại tphcm
 
Akuntansi usaha mikro (2013 trw+or)
Akuntansi usaha mikro (2013 trw+or)Akuntansi usaha mikro (2013 trw+or)
Akuntansi usaha mikro (2013 trw+or)
 
Property Times eMagazine January2015
Property Times eMagazine January2015 Property Times eMagazine January2015
Property Times eMagazine January2015
 

Semelhante a Os final project

Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder
 
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons LearnedPerformance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons LearnedTim Callaghan
 
Tanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder
 
Rethinking the debugger
Rethinking the debuggerRethinking the debugger
Rethinking the debuggerIulian Dragos
 
Building Images
Building ImagesBuilding Images
Building ImagesDawood M.S
 
Inside the Chef Push Jobs Service - ChefConf 2015
Inside the Chef Push Jobs Service - ChefConf 2015 Inside the Chef Push Jobs Service - ChefConf 2015
Inside the Chef Push Jobs Service - ChefConf 2015 Chef
 
Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015Kurt Madel
 
Training Slides: 253 - Filter like a Pro
Training Slides: 253 - Filter like a ProTraining Slides: 253 - Filter like a Pro
Training Slides: 253 - Filter like a ProContinuent
 
MULTI-THREADING in python appalication.pptx
MULTI-THREADING in python appalication.pptxMULTI-THREADING in python appalication.pptx
MULTI-THREADING in python appalication.pptxSaiDhanushM
 
Linux operating system by Quontra Solutions
Linux operating system by Quontra SolutionsLinux operating system by Quontra Solutions
Linux operating system by Quontra SolutionsQUONTRASOLUTIONS
 
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflowTomas Doran
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
 
Redis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis LabsRedis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis LabsRedis Labs
 
Running Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on HadoopRunning Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on Hadoopclairvoyantllc
 
Queick: A Simple Job Queue System for Python
Queick: A Simple Job Queue System for PythonQueick: A Simple Job Queue System for Python
Queick: A Simple Job Queue System for PythonRyota Suenaga
 

Semelhante a Os final project (20)

How we use Twisted in Launchpad
How we use Twisted in LaunchpadHow we use Twisted in Launchpad
How we use Twisted in Launchpad
 
Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)
 
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons LearnedPerformance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons Learned
 
Tanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools short
 
Rethinking the debugger
Rethinking the debuggerRethinking the debugger
Rethinking the debugger
 
Versioning for Developers
Versioning for DevelopersVersioning for Developers
Versioning for Developers
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
Building Images
Building ImagesBuilding Images
Building Images
 
Inside the Chef Push Jobs Service - ChefConf 2015
Inside the Chef Push Jobs Service - ChefConf 2015 Inside the Chef Push Jobs Service - ChefConf 2015
Inside the Chef Push Jobs Service - ChefConf 2015
 
Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015
 
Training Slides: 253 - Filter like a Pro
Training Slides: 253 - Filter like a ProTraining Slides: 253 - Filter like a Pro
Training Slides: 253 - Filter like a Pro
 
MULTI-THREADING in python appalication.pptx
MULTI-THREADING in python appalication.pptxMULTI-THREADING in python appalication.pptx
MULTI-THREADING in python appalication.pptx
 
Linux operating system by Quontra Solutions
Linux operating system by Quontra SolutionsLinux operating system by Quontra Solutions
Linux operating system by Quontra Solutions
 
A Peek into TFRT
A Peek into TFRTA Peek into TFRT
A Peek into TFRT
 
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflow
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
 
Redis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis LabsRedis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis Labs
 
Running Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on HadoopRunning Airflow Workflows as ETL Processes on Hadoop
Running Airflow Workflows as ETL Processes on Hadoop
 
Queick: A Simple Job Queue System for Python
Queick: A Simple Job Queue System for PythonQueick: A Simple Job Queue System for Python
Queick: A Simple Job Queue System for Python
 

Último

GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEselvakumar948
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxNadaHaitham1
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxMuhammadAsimMuhammad6
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdfKamal Acharya
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersMairaAshraf6
 

Último (20)

GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 

Os final project

  • 2. Patterns • Reactor • Singleton • Interpreter • Factory • Builder
  • 3. Shell Reactor • main function • while loop, terminates when user enters “exit” • Sends user input command to parser
  • 4. ShellParser • Splits up each word in the passed string based off of “ “ character. • Pushes into a vector of strings. • Also controls things such whether process will run in background, piping, output. • Creates a new job from command. • T
  • 5. Job • Factory • makeJob() makes a new process from the commands • launch() launches the process in job once they are made • Job sets up piping for multiple process
  • 6. Process • With each process, a new process object is created. • The process is then forked and exec’ed • Output is printed to terminal
  • 7. Shell • Singleton Pattern- only one instance • Holds a lot of the variables we need to keep global such as our command vector and terminal process id • Mostly consists of accessor methods
  • 8. Shell Commands • ls - lists all files in the directory • cd - changes directory • dirs - outputs current directory path • exec - execs a process, then quits • wait - waits for a process to finish based off of its pid • help - displays a small help menu with valid commands
  • 9. Some Challenges • Piping- it took some time to figure out job management that allowed us to pipe. • Parsing Special Characters- size_t overflow due to npos being values as “-1” • Testing- Finding good use cases to test each feature as it was implemented.