Introduction to Software Systems Unix C + GNU HTML Perl Python
|
|
- Malcolm Warren
- 6 years ago
- Views:
Transcription
1 Introduction to Software Systems Unix Comp-206 : Introduction to Software Systems Lecture Week 1 Joseph Vybihal Computer Science McGill University
2 Announcements Instructor coordinates Course outline Participation Web CT discussions, assignments, mail, lectures 2
3 Unix 3
4 Why COMP 206? Application programs are no longer created from a single programming language. Database languages, off the shelf libraries, and the internet has changed programming forever. This courses asks you to build a web store, a single application, made from:, CGI, Java, C,,, Bash and Unix! 4
5 Why COMP 206? No longer green screens and simple command-line prompts Windows & Apple Unix and Linux Minis & Mainframes 5 (also robots, POS real-time)?
6 Why COMP 206? How software inter-plays... Libraries Process inter-communication Networks Multiple languages Operating Systems How to use software tools... Team programming Debugging Code optimization Code generators The idea of a software SYSTEM... Single application Multiple languages Multiple tools Multiple operating systems Network connectivity Multiple hardware architectures 6
7 Official Course Description Comprehensive overview of programming in C, use of system calls and libraries, debugging and testing of code; use of developmental tools like make, version control systems.
8 My Course Description Introduction to Software Systems is a course about the various types of techniques and tools used to build software.... serves as your introduction to the C programming language, Unix operating system, and internte programming.... gives you tools to be more productive during your undergraduate studies. gives you the opportunity to develop complex integrated software projects. 8
9 Course Content The course will cover the following topics: Unix operating system Shell Scripting C Programming (and related techniques & tools)? C Libraries Debuggers and Profilers Source Control, CSS and CGI and Web scripting (not exactly in that order)? 9
10 Knowledge of Unix This course assumes you have some basic knowledge of Unix (and the school labs). login into your account, copying a file, editing a file, etc If you don't, I highly suggest you attend one of the SOCS Unix seminars, to be held in the Trottier Building, 3rd floor, Room 3120 (Lab 2). Check the SOCS web site for tutorial times We will also do our own tutorials and review in class 10
11 Part 1 What are Software Systems?
12 What is it? Software Systems Which are the systems? What systems do you think makeup a web site? A software system is The software development environment The software execution environment The application program system 12
13 Software Systems Development Environment System Compiler Library Code generators Version control and optimization software Execution Environment System Interpreters Operating Systems Network communication features Hardware available Number of CPUs Program System Compiled (some in C, some in Pascal)? Scripted (some in Unix, some in or )? Interpreted (some in, some in Java)? Inter-communication (network and OS provided)? How do they interplay? 13
14 A Software System Definition Unix A group of programs created to interact with one another to solve a common application goal. Examples of programs working together: An object instantiated from another program A system call to the OS A web request to a server 14
15 Software System Boundaries The location where one subsystem interacts with another subsystem. Think of this as an internet application Where is it? and How does it inter-communicate? 15
16 What is Software? Software is a collection of instructions (often grouped as functions and libraries) that allow a computer to complete a specific task. Although these instructions can be written in different languages, they are eventually converted to a machine language. 16
17 C C++ Java Fortran Ada N : 1 Assembler 1 : 1 Numbered codes (machine language)? Circuits Everything in the end is the same... 17
18 Computer Programming Computer Programming is the craft (art) of writing the computer instructions that accomplishes a specific task. The difficulty of computer programming depends heavily on the task itself and the tools that are used to help the programmer. One of the keys to being a successful programmer is knowing which tool to use in each different situation. Not all programming language were designed to do the same thing. 18
19 Name that Programming Unix Java C C++ Basic Ada Lisp Scheme Javascript AppleScript Ocaml D and so on... Language State their purpose... 19
20 Definition (strong form): A System A program constructed in such a way that it is complete in itself. It requires no external calls to other software. Internally, the system is composed of modules or objects that, like a system are complete in themselves, but provide public access methods that allow interconnections between modules/objects. Example: the compiling process, os environment, oo-programming 20
21 What is an Operating System? An operating system is a piece of software that allows us to interact with a computer without having to know the inner working of a computer. Its primary function is to manage the computer's resources. An operating system also provides us with libraries to interact with these resources. 21
22 Name that Operating System Dos Windows Solaris Linux FreeBSD BeOS FreeDos HP-UX AIX MacOs X What is speacial about them? 22
23 What is a Library? A library is a piece of software specially packaged to be used by other software. A library provides specific functionalities, thus avoiding the need for the programmer to build the functionalities him or herself. 23
24 Library Examples On Unix, the Standard IO library provides functionality to open files and write to them. Without it, a programmer would need to write code to use the hard disk itself in assembler. On Windows, DirectX allows a developer to write display graphics. Without it, a programmer would need to write code to access the video card directly. 24
25 Libraries and the OS From Compiler Or 3 rd party From OS Software Libraries Operating System Drivers Hardware High-level libraries (in C or assembler)? Low-level libraries (in assembler)? 25
26 Part 2 Run-time Environments To understand software systems, one must also appreciate and exploit the run-time environments applications execute within.
27 The Run-time Environment Software You program this You take advantage of this Libraries Operating System Drivers Hardware The run-time environment 27
28 The Development Environment The development environment Comparison Language Tools Compiler Software Libraries Operating System Drivers Hardware The run-time environment These may also come from the compiler or a third party. 28
29 Different run-time environments
30 Still important to know Unix Single CPU Single Process Examples: MSDOS, CPM, ProDOS, MiniUnix Properties: command-line prompt only one program runs at any time Architecture: Advantages: Direct hardware control Low OS security TSR Ability Real-time systems OS video drivers kernel interface User Space Zero Heap Run-time Stack Code Data C:>dir 30
31 Single CPU Multi-Process Examples: Windows, Unix, Linux, Mac OS Properties: command-line prompt or windowed interface more than one program can run at same time Architecture: Advantages: Spawning, Killing, status OS Hardware Services Inter-process communication OS ptr drivers kernel time slice To graphics card interface C:>dir User Space Heap Run-time Stack Code Data Heap Run-time Stack Code Data C:>dir Zero P1 P2 31
32 Multi-CPU Multi-Process Examples: Windows NT Family, Unix Pro Family Properties: command-line prompt or windowed interface more than one program can run at same time Schedules and divides processes between CPUs Architecture: Advantages: True Divide & Conquer Large programs / data Master / Worker processes OS ptr User Space Zero drivers kernel time slice interface CPU management Method 1: give a Pi to a CPUj for entire execution life Method 2: divide Pi into parts and share parts with CPUs Method 3: pool of CPUs time-sliced with pool of Pi s 32
33 Batch Processing Examples: AS400 (simulated in DOS, Windows and Unix)? Properties: Program execution is managed by a simple OS script language User activates script, then script takes over Advantages: Scripts are text files interpreted by the OS Pseudo-new OS commands Automate manual processes (backup)? Execution environment auto-setup Architecture: OS ptr User Space Zero drivers kernel time slice interface CPU management interpreter Setup OS environment: map drives, check hardware Setup program s execution environment: validate, copy files Run program multiple times for each input data set Clean up: cancel maps, delete temporary files, do backups 33
34 Distributed Processing Examples: Java,, and Properties: Uses a network to share resources and execute processes on different computers Architecture: PC / Server interface PC / Server run-time clients Advantages: Not CPU dependent Spawn process across network Access data across network Server / Client architecture Master / Worker architecture 34
35 Code Migration Processing Examples: Experimental Properties: Process Migration When you execute a program on your PC and your PC is too slow, or too busy or does not have enough memory the OS will automatically use the network to download your program to another computer to execute on (invisible to you) recursively implemented. Object Migration Advantages: The pseudo-infinite computer Same idea but with each object or module of your program. 35
36 Questions How do we code to take advantage of these run-time environments? Single process Multi-process Multi-CPU Distributed processing What features do we have access to in one environment and not the other? 36
37 On your own At Home
38 Try the following Using your two most favorite operating system environments, identify the libraries and tools provided by each one. Then answer the following: Which one gives you better libraries and tools? Is the development environment optimized for a particular type of application programming? After compiling a program, which development environment generates big and heavy code (measured in bytes after compiling)? Does this effect your judgement on which is a better development environment or effect your view on its usefulness? Is GUI or command-line better? Why? 38
39 Part 3 Software Development Techniques
40 Integrated Programming Unix Microsoft Visual Programming Borland Builder and Studio Environments (Borland Demo)? Free non-integrated versions on the web (just google it)? Eclipse (this is installed in the Trottier labs)? Windowed environment that permits you to manage and compile many source files at once. Handles access control and version control. Handles modification management as well. demo 40
41 Command-line Programming Unix Command-line prompt Environments Individual programs: Editor program Compiler program Debugger program Project builder program Our course focuses on this. demo 41
42 Single Source File Programming The entire program exists within a single source file There is only a single user File is stored in a single directory Manipulated using (command-line programming): vi filename gcc filename > error_messages a.out more error_messages 42
43 Multiple Source File Programming Each source file is organized around an object or a module Assumes multiple programmers Issues: Access Control (who can edit the file)? Version Control (access to older/differnt version of code) Manipulated using: vi filename_i make project > error_messages a.out more error_messages 43
44 Source File Management Techniques
45 Manual Directory Organization Single Programmer Project - Directory / Folder Structure Projects Project1 Archive Documents Backup Build1 Zip old builds increment Description of what needs to be programmed : Project2 Archive - long-term backup (history)? Backup - short-term temporary files 45
46 Manual Directory Organization Team Programming Project - Directory / Folder Structure Projects Project1 Project2 : Development Programmer A Archive Documents Backup Build1 Programmer B : Integration Archive Documents Logs Build Zip old builds increment Merge, one programmer at a time, only changed files. After the merge, must compile and make sure the entire project still runs correctly. This is either the responsibility of the programmer who did the merge or a special integration programmer. 46
47 Modifications Management (Writing code so that it is easier to determine what went wrong in a program and how we might fix it)?
48 Comments as Documentation Why write a programmer s manual when you can do that through comments? Per method, function, object, source file // Method Name: Version: // Programmer : // Created : // Purpose : // Inputs : // Outputs : // Notes : // Modification Log // ============= // DATE NAME REASON/DESCRIPTION In-line comments (descriptive and flow)? 48
49 // Step 1: Get input from the user for(int I = 0; I<10; I++) scanf( %d, ages[i]); // Step 2: Sort values using bubble sort In-line flow comments Blank lines, to put concepts into block and help readability for(int I=0; I<10; I++)? { Good variable name for (int j=0; j<10; j++)? { if (ages[i]>ages[j]) swap(&ages[i], &ages[j]); // swap trades the values } } // Step 3: Print out the results to the screen Constant indentation for(int I=0. I<10; I++) printf( %d\n,ages[i]); In-line explanations 49
50 Errors to fix Log Files Filename, description, line number Integration history Date, by who, problems/fixes/comments Validation testing Filename/object/form, what to do, expected result 50
51 Automated Project Management (later in course)? Project / Make files RCS Revision Control Systems Modifications Management Techniques 51
52 Part 4 Operating Systems (the OS)?
53 Question What is an OS? What does it do? Does is have responsibilities? How does it do it (how is it programmed)? 53
54 The Operating System 54
55 Services provided by the OS Process management Allows applications to run simultaneously Memory management Manages the allocation of memory Disk and file systems Manages the writing to disk of files. Networking Allows inter-computer communication. Security Provides authentication, privacy and protection. Device Drivers Allows the use of hardware in a generic fashion. Graphic User Interface (and command-line interface)? Provides a visual interface to interact with the computer. 55
56 Process management The first generation of operating systems only allowed one process to run at a time. A multi-tasking operating system allows multiple task to run at a time. Most computers only have 1 CPU, the multiple task must share this CPU. Most often, the CPU will time-slice the task, so they get a fair amount of CPU time. Computers with multiple CPU can run multiple task at a time. This introduces numerous concurrency and coherence challenges. Any Concurrency examples? 56
57 Memory Management At the hardware level, computer memory is a collection of 0 and 1, stored in volatile silicon chips. At the operating system, computer memory is an array of bytes, where data can be store and later retrieved. The operating system is responsible for allocating blocks of memory to the different processes. When the OS runs out of memory, it can use the hard disk to temporarily store blocks of memory that it does not often use. Do you know what the standard memory organization in the computer is? 57
58 Disk and file systems At the lowest level, a computer disk is a collection of 0 or 1 stored on a magnetic or optical disk. This hardware has no understanding of files and directory. The operating system provides file systems, which describe how files and directory should be stored on the disk. Each operating system feature different file system: Windows : Fat32, NTFS Linux: EXT2, EXT3, XFS, Reiser, etc MacOS X: HFS+ Describe the standard diskette organization, what about CDs? 58
59 Networking At the hardware level, networking is the exchange of 0 and 1 over a communication channel. A network protocol describe how data should be transformed (and encapsulated) before being sent over the network. The OS provides the necessary tool for a computer to join a network and transmit(receive) data over this network. The most common network protocol is TCP/IP. What should the computer do if the channel is noisy? 59
60 Security Operating Systems feature authentication systems which control who can use a computer. They also offer privacy features on many levels: A user/administrator can define which files can be used by which users. A process should not be able to access the memory block of another process. A good operating system will also monitor itself to prevent action which could compromise it s stability: A process should not be able to delete a file which is currently in use. Certain spaces in memory should never be overwritten What should be secured in a public computer? 60
61 Device Drivers Each device connected to the computer has their own different way of communicating with the computer. Device drivers are small pieces of software which allow an external device to communicate with the computer in a generic fashion. Without device drivers, an application would need to deal separately with all the different external hardware it supports. How does one communicate with: the screen, keyboard, or printer? 61
62 Abstraction Unix Graphic User Interface A graphic user interface (also known as a GUI) is a piece of software which allow interaction with the computer using visual components (icons, buttons, scrollbars, etc). These visual components are often referred to as widgets. A GUI also provides libraries which allow the development of new software with these visual components. Before GUIs were distributed with operating system, interaction with the OS was often achieved through a CLI (command-line interface). 62
63 Open vs. Closed Operating Unix Systems An OS is closed (or proprietary) when it owned by a single company. It is often designed to work on a single kind of hardware. An OS it open (or non proprietary) if no single company is responsible for its development. Since many people can work on the code, it is often available on different hardware platforms. 63
64 Open FreeDos Linux FreeBSD OpenBSD Solaris Open or Closed Closed MS Dos MS Windows HP-UX AIX 64
65 On Your Own At Home
66 Try the following Get into a team of 3 to 4 people and think of a way to develop code with multiple programmers that would minimize the need for programmers to modify each other s code. What disciplines would your team of programmers need to follow to insure that this works? What files or logs would you need to keep? Is your technique hard to do? If so, how can you make it easier to work with? 66
Course and Unix Intro
Course and Unix Intro Comp-206 : Introduction to Software Systems Lecture 1 Alexandre Denault Computer Science McGill University Fall 2006 Instructor Alexandre Denault Graduate student, working in the
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationSOFTWARE ARCHITECTURE
1 SOFTWARE ARCHITECTURE Tatsuya Hagino hagino@sfc.keio.ac.jp Slide URL https://vu5.sfc.keio.ac.jp/slide/ 2 Lecture Slide System Please access to: https://vu5.sfc.keio.ac.jp/slide/ Select: Software Architecture
More informationIntroduction to Operating Systems
Introduction to Operating Systems Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls (important!) Types of System Calls (important!) System
More informationChapter 2: Operating-System Structures. Chapter 2: Operating-System Structures. Objectives. Operating System Services
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationObjectives. Chapter 2: Operating-System Structures. 2.1 Operating System Services
Objectives Chapter 2: Operating-System Structures To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system
More informationChapter 2 Operating-System Structures
This chapter will discuss the following concepts: 2.1 Operating System Services 2.2 User Operating System Interface 2.3 System Calls 2.4 System Programs 2.5 Operating System Design and Implementation 2.6
More informationLecture 2 Operating System Structures (chapter 2)
Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 2 Operating System Structures (chapter 2) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2009 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationChapter 2: Operating-System Structures. Operating System Concepts Essentials 8 th Edition
Chapter 2: Operating-System Structures Operating System Concepts Essentials 8 th Edition Silberschatz, Galvin and Gagne 2011 Chapter 2: Operating-System Structures Operating System Services User Operating
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures 2.1 Silberschatz, Galvin and Gagne 2009 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationChapter 2: Operating-System
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services! User Operating System Interface! System Calls! Types of System Calls! System Programs! Operating
More informationINTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung
INTRODUCTION TO OPERATING SYSTEMS Jo, Heeseung TODAY'S TOPICS What is OS? History of OS 2 OPERATING SYSTEM? Computer systems internals 3 WHY DO WE LEARN OS? To graduate? To make a better OS or system Functionality
More informationDownloaded from various sources on the NET
Overview Computers. Hardware components of a Computer. Purpose and functions of computer operating systems. Evolution of computer operating systems. Operating systems available today. Downloaded from various
More informationChapter 2: System Structures
Chapter 2: System Structures Chapter 2: System Structures 2.1 Operating-System Services 2.2 User and Operating-System Interface 2.3 System Calls 2.4 Types of System Calls 2.5 System Programs 2.6 Operating-System
More informationOperating System Services
CSE325 Principles of Operating Systems Operating System Services David Duggan dduggan@sandia.gov January 22, 2013 Reading Assignment 3 Chapter 3, due 01/29 1/23/13 CSE325 - OS Services 2 What Categories
More informationIntroduction to Operating Systems. Jo, Heeseung
Introduction to Operating Systems Jo, Heeseung Today's Topics What is OS? History of OS 2 Operating System? Computer systems internals 3 Why do we learn OS? To graduate? To make a better OS or system Functionality
More informationComputer Principles and Components 1
Computer Principles and Components 1 Course Map This module provides an overview of the hardware and software environment being used throughout the course. Introduction Computer Principles and Components
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on
Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Objectives To describe the services an operating system provides to users, processes, and
More informationChapter 2: System Structures. Operating System Concepts 9 th Edition
Chapter 2: System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs
More informationOperating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy
Operating Systems Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. AL-AZHAR University Website : eaymanelshenawy.wordpress.com Email : eaymanelshenawy@yahoo.com Reference
More informationIntroduction to Linux
Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Sanghoon Han(sanghoon.han@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Announcement (1) Please come
More informationOPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne
OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OVERVIEW An operating system is a program that manages the
More informationCS 300 Data Structures
CS 300 Data Structures Introduction 1 Topics Data Structures Linux C Programming Software Development Tools Software Development Methods 2 UNIX/Linux/GNU UNIX is an Operating System (OS) 1969 at Bell Labs
More informationChapter 2. Operating-System Structures
Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationCS307: Operating Systems
CS307: Operating Systems Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building 3-513 wuct@cs.sjtu.edu.cn Download Lectures ftp://public.sjtu.edu.cn
More informationCOMP 250. Lecture 36 MISC. - beyond COMP final exam comments
COMP 250 Lecture 36 MISC - beyond COMP 250 - final exam comments Dec 5, 2016 1 202 Intro Program MATH (prereqs for many upper level COMP courses) 206 Software Systems 273 Computer Systems 250 Intro Comp
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationCHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationIntroduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Introduction to Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics What is OS? History of OS 2 What is OS? (1) Application
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 5 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 User Operating System Interface - CLI CLI
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edition
Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationC H A P T E R 1. Introduction to Computers and Programming
C H A P T E R 1 Introduction to Computers and Programming Topics Introduction Hardware and Software How Computers Store Data How a Program Works Using Python Computer Uses What do students use computers
More informationCS420: Operating Systems. OS Services & System Calls
OS Services & System Calls James Moscola Department of Engineering & Computer Science York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Operating
More informationOperating System: Chap2 OS Structure. National Tsing-Hua University 2016, Fall Semester
Operating System: Chap2 OS Structure National Tsing-Hua University 2016, Fall Semester Outline OS Services OS-Application Interface OS Structure Chapter2 OS-Structure Operating System Concepts NTHU LSA
More informationIntroduction to Computer Systems and Operating Systems
Introduction to Computer Systems and Operating Systems Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Topics Covered 1. Computer History 2. Computer System
More informationOperating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services
Operating System Services One set of services for users The other set of services for system operations Operating Systems Structures Notice: This set of slides is based on the notes by Professor Perrone
More informationOperating Systems CS3502 Spring 2018
Operating Systems CS3502 Spring 2018 Presented by Dr. Guoliang Liu Department of Computer Science College of Computing and Software Engineering Kennesaw State University Computer Systems See Appendix G
More informationOperating System Architecture. CS3026 Operating Systems Lecture 03
Operating System Architecture CS3026 Operating Systems Lecture 03 The Role of an Operating System Service provider Provide a set of services to system users Resource allocator Exploit the hardware resources
More informationELEC 377 Operating Systems. Week 1 Class 2
Operating Systems Week 1 Class 2 Labs vs. Assignments The only work to turn in are the labs. In some of the handouts I refer to the labs as assignments. There are no assignments separate from the labs.
More informationOperating Systems Concepts
Operating Systems Concepts Introduction Operating System (OS) An Operating System is the layer of software that manages a computer s resources for its users and their applications. It abstracts the use
More informationToday. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview
Today CSCI 4061 Introduction to s Instructor: Abhishek Chandra OS Evolution Unix Overview Unix Structure Shells and Utilities Calls and APIs 2 Evolution How did the OS evolve? Generation 1: Mono-programming
More informationThe Computer System. Hardware = Physical Computer. Software = Computer Programs. People = End Users & Programmers. people
The Computer System Hardware = Physical Computer The equipment associated with a computer system. hardware software people The set of instructions that tell a computer what to do. Use the power of the
More informationINTRODUCTION TO THE COURSE
1 INTRODUCTION TO THE COURSE KOM3191 Object-Oriented Programming 2 Outline Computer Organization Machine Languages, Assembly Languages and High-Level Languages History of C++ C++ Development Environment
More informationCST Algonquin College 2
Partitions Lab due dates: Labs are due as specified usually on Page1 of the Lab document Lab due dates are expressed as: 10 min before the end of the lab period during a certain week There is a grace period
More informationCSC 453 Operating Systems
CSC 453 Operating Systems Lecture 3: Operating-System Structures Operating System Components Operating systems are large and complex - the only way to manage such a project is to divide it into smaller
More informationUnix API Books. Linux Kernel Books. Assignments and Exams. Grading for CSC 256. Operating Systems 8/31/2018. CSC 256/456 Fall
Prerequisites CSC 2/456: Operating s CSC 252 or equivalent C/C++ programming experience on Unix systems Instructor: Sandhya Dwarkadas TAs: Zhuojia Shen, Mohsen Mohammadi 8/31/2018 CSC 2/456 1 2 Meaning
More informationChapter 2: Operating-System Structures. Operating System Concepts 8 th Edition
Chapter 2: Operating-System Structures Operating System Concepts 8 th Edition Silberschatz, Galvin and Gagne 2009 Chapter 2: Operating-System Structures Different Services of Operating System. System Calls-
More informationCSE 4/521 Introduction to Operating Systems
CSE 4/521 Introduction to Operating Systems Lecture 3 Operating Systems Structures (Operating-System Services, User and Operating-System Interface, System Calls, Types of System Calls, System Programs,
More informationTopics. Hardware and Software. Introduction. Main Memory. The CPU 9/21/2014. Introduction to Computers and Programming
Topics C H A P T E R 1 Introduction to Computers and Programming Introduction Hardware and Software How Computers Store Data Using Python Introduction Computers can be programmed Designed to do any job
More informationC Compilation Model. Comp-206 : Introduction to Software Systems Lecture 9. Alexandre Denault Computer Science McGill University Fall 2006
C Compilation Model Comp-206 : Introduction to Software Systems Lecture 9 Alexandre Denault Computer Science McGill University Fall 2006 Midterm Date: Thursday, October 19th, 2006 Time: from 16h00 to 17h30
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 4, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationToday. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview
Today CSCI 4061 Introduction to s Instructor: Abhishek Chandra OS Evolution Unix Overview Unix Structure Shells and Utilities Calls and APIs 2 Evolution How did the OS evolve? Dependent on hardware and
More informationOutline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012
Eike Ritter 1 Modified: October 16, 2012 Lecture 8: Operating Systems with C/C++ School of Computer Science, University of Birmingham, UK 1 Based on material by Matt Smart and Nick Blundell Outline 1 Concurrent
More informationIntroduction to Computer Systems
Introduction to Computer Systems Today: Welcome to EECS 213 Lecture topics and assignments Next time: Bits & bytes and some Boolean algebra Fabián E. Bustamante, Spring 2010 Welcome to Intro. to Computer
More informationVi & Shell Scripting
Vi & Shell Scripting Comp-206 : Introduction to Week 3 Joseph Vybihal Computer Science McGill University Announcements Sina Meraji's office hours Trottier 3rd floor open area Tuesday 1:30 2:30 PM Thursday
More informationIntroduction to Computer Systems
Introduction to Computer Systems Today:! Welcome to EECS 213! Lecture topics and assignments Next time:! Bits & bytes! and some Boolean algebra Fabián E. Bustamante, 2007 Welcome to Intro. to Computer
More information31268_WEB SYSTEMS LECTURE 1. Operating Systems Part 1
31268_WEB SYSTEMS LECTURE 1 Operating Systems Part 1 What is an operating system? - A piece of software that sits between all programs and the computer s hardware - Manages computer - Runs programs - Interface
More informationWhat are some common categories of system calls? What are common ways of structuring an OS? What are the principles behind OS design and
What are the services provided by an OS? What are system calls? What are some common categories of system calls? What are the principles behind OS design and implementation? What are common ways of structuring
More informationTDDI04, K. Arvidsson, IDA, Linköpings universitet Operating System Structures. Operating System Structures Overview. Operating System Services
TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems Operating System Structures [SGG7] Chapter 2 Copyright Notice: The lecture notes are mainly based on Silberschatz s, Galvin
More informationCMPSC 311- Introduction to Systems Programming Module: Systems Programming
CMPSC 311- Introduction to Systems Programming Module: Systems Programming Professor Patrick McDaniel Fall 2015 WARNING Warning: for those not in the class, there is an unusually large number of people
More informationVersion Control with Git
Version Control with Git Methods & Tools for Software Engineering (MTSE) Fall 2017 Prof. Arie Gurfinkel based on https://git-scm.com/book What is Version (Revision) Control A system for managing changes
More informationIntroduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Introduction to Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Why OS? 2 What is an OS? Software that converts hardware into
More informationIntroduction to Operating Systems (Part II)
Introduction to Operating Systems (Part II) Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/24 1 / 45 Computer
More informationOperating-System Structures
Operating-System Structures System Components Operating System Services System Calls System Programs System Structure System Design and Implementation System Generation 1 Common System Components Process
More informationLecture 1 - Introduction (Class Notes)
Lecture 1 - Introduction (Class Notes) Outline: How does a computer work? Very brief! What is programming? The evolution of programming languages Generations of programming languages Compiled vs. Interpreted
More information! Learn how to think like a computer scientist. ! Learn problem solving. ! Read and write code. ! Understand object oriented programming
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to Computing and Programming with Java: A Multimedia
More informationModule 1 Introduction/OS Overview
Module 1 Introduction/OS Overview Reading: Chapter 1 and 2 (Silberchatz) Objective: Quick overview of computer system organization the processor (CPU), memory, and input/output, architecture and general
More informationOperating-System Structures
Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1 Sana a University,
More informationOPERATING SYSTEMS: Lesson 1: Introduction to Operating Systems
OPERATING SYSTEMS: Lesson 1: Introduction to Jesús Carretero Pérez David Expósito Singh José Daniel García Sánchez Francisco Javier García Blas Florin Isaila 1 Why study? a) OS, and its internals, largely
More informationChapter 1. Introduction to Computers and Java Objects. Background information. » important regardless of programming language. Introduction to Java
Chapter 1 Introduction to Computers and Java Objects Background information» important regardless of programming language Introduction to Java Chapter 1 Java: an Introduction to Computer Science & Programming
More informationMemory Management 9th Week
Department of Electrical Engineering and Information Technology Faculty of Engineering Universitas Gadjah Mada, Indonesia Operating System - TIF 206 Memory Management 9th Week Sunu Wibirama Copyright 2011
More informationChapter 3: Operating-System Structures
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
More informationComputer chip: A very small pieces of silicon or other semi-conducting material onto which integrated circuits are embedded Circuit board: A thin
INTRODUCTION We can divide the parts that make up a computer into three broad categories or subsystem: the central processing unit (CPU), the main memory, and the input/output subsystem. The next three
More informationScientific Computing
Scientific Computing Martin Lotz School of Mathematics The University of Manchester Lecture 1, September 22, 2014 Outline Course Overview Programming Basics The C++ Programming Language Outline Course
More informationTechnical concepts. Some basics of computers today. Comp 399
Technical concepts Some basics of computers today. Comp 399 Admin Anyone new?. http://www.cnn.com/2013/07/12/tech/social-media http://tv.msnbc.com/2013/08/13/pre-trial-hearings- Locard's Exchange Principle
More informationProgramming 1. Lecture 1 COP 3014 Fall August 28, 2017
Programming 1 Lecture 1 COP 3014 Fall 2017 August 28, 2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer. ISA - Instruction Set Architecture: the specific set of
More informationassembler Machine Code Object Files linker Executable File
CSCE A211 Programming Intro What is a Programming Language Assemblers, Compilers, Interpreters A compiler translates programs in high level languages into machine language that can be executed by the computer.
More informationComputer Software A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and
Computer Software A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Applications software. Systems software provides infrastructure
More informationIntroduction to PC Operating Systems
Introduction to PC Operating Systems Operating System Concepts 8th Edition Written by: Abraham Silberschatz, Peter Baer Galvin and Greg Gagne John Wiley & Sons, Inc. ISBN: 978-0-470-12872-5 Chapter 2 Operating-System
More informationCSCA0201 FUNDAMENTALS OF COMPUTING. Chapter 6 Operating Systems
CSCA0201 FUNDAMENTALS OF COMPUTING Chapter 6 Operating Systems 1 1. Operating Systems 2. Types of Operating System 3. Major Functions 4. User Interface 5. Examples of Operating System 2 Operating Systems
More informationLecture 2 - Fundamental Concepts
Lecture 2 - Fundamental Concepts Instructor : Bibhas Ghoshal (bibhas.ghoshal@iiita.ac.in) Autumn Semester, 2015 Bibhas Ghoshal IOSY 332C & IOPS 332C: OS Autumn Semester, 2015 1 / 43 Lecture Outline Operating
More informationLecture 1. A. Sahu and S. V. Rao. Indian Institute of Technology Guwahati
Lecture 1 Introduction to Computing A. Sahu and S. V. Rao Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati 1 Outline Computer System Problem Solving and Flow Chart Linux Command ls, mkdir,
More informationJava and Software Design
Introduction to Java and Software Design Jindal Consulting Chapter 1 Overview of Programming and Problem Solving Slides by Varun Jindal 1 Chapter 1 Topics Computer Programming Programming Life-Cycle Phases
More informationSome popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/os, etc.
An Operating System (OS) is an interface between computer user and computer hardware. An operating system is software which performs all the basic tasks like file management, memory management, process
More informationHigh Performance Computing Lecture 11. Matthew Jacob Indian Institute of Science
High Performance Computing Lecture 11 Matthew Jacob Indian Institute of Science Agenda 1. Program execution: Compilation, Object files, Function call and return, Address space, Data & its representation
More informationOperating-System Structures
Recap Chapter 2: Operating-System Structures Presented By: Dr. El-Sayed M. El-Alfy Note: Most of the slides are compiled from the textbook and its complementary resources From: OS by Tanenbaum, 2008 March
More informationThe Road to CCSv4. Status Update
The Road to CCSv4 Status Update Code Composer Studio v4 Summary What is it? Major upgrade to CCS Major architectural changes Based on Eclipse open source software framework New registration/licensing/updating
More informationOS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure
CSE 451: Operating Systems Spring 2012 Module 3 Operating System Components and Structure Ed Lazowska lazowska@cs.washington.edu Allen Center 570 The OS sits between application programs and the it mediates
More informationCS 390 Chapter 2 Homework Solutions
CS 390 Chapter 2 Homework Solutions 2.1 What is the purpose of... System calls are used by user-level programs to request a service from the operating system. 2.5 What is the purpose of... The purpose
More informationProgramming Concepts: IDEs, Debug. Paulo Penteado. (http://phdcomics.com/comics/archive.php?
Programming Concepts: IDEs, Debug Paulo Penteado http://www.ppenteado.net/pc/ (http://phdcomics.com/comics/archive.php?comicid=1690) IDEs Interactive Development Environments Exist for every language (even
More informationChris Riesbeck, Fall Introduction to Computer Systems
Chris Riesbeck, Fall 2011 Introduction to Computer Systems Welcome to Intro. to Computer Systems Everything you need to know http://www.cs.northwestern.edu/academics/courses/213/ Instructor: Chris Riesbeck
More informationEXPERIMENT 1. FAMILIARITY WITH DEBUG, x86 REGISTERS and MACHINE INSTRUCTIONS
EXPERIMENT 1 FAMILIARITY WITH DEBUG, x86 REGISTERS and MACHINE INSTRUCTIONS Pre-lab: This lab introduces you to a software tool known as DEBUG. Before the lab session, read the first two sections of chapter
More informationLecture 1 Introduction (Chapter 1 of Textbook)
Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 1 Introduction (Chapter 1 of Textbook) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The slides
More informationChapter 2: System Structures
Chapter 2: Operating System Structures Operating System Services System Calls Chapter 2: System Structures System Programs Operating System Design and Implementation Operating System Structure Virtual
More informationFour Components of a Computer System
Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources
More informationLecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter
Lecture Topics Today: Operating System Overview (Stallings, chapter 2.1-2.4, 2.8-2.10) Next: Processes (Stallings, chapter 3.1-3.6) 1 Announcements Consulting hours posted Self-Study Exercise #3 posted
More informationElements of Computers and Programming Dr. William C. Bulko. What is a Computer?
Elements of Computers and Programming Dr. William C. Bulko What is a Computer? 2017 What is a Computer? A typical computer consists of: a CPU memory a hard disk a monitor and one or more communication
More informationToday. Review. Unix as an OS case study Intro to Shell Scripting. What is an Operating System? What are its goals? How do we evaluate it?
Today Unix as an OS case study Intro to Shell Scripting Make sure the computer is in Linux If not, restart, holding down ALT key Login! Posted slides contain material not explicitly covered in class 1
More information