introduction to unix
play

Introduction to Unix Dalhousie University Winter 2019 Overview - PowerPoint PPT Presentation

CSCI 2132: Software Development Norbert Zeh Faculty of Computer Science Introduction to Unix Dalhousie University Winter 2019 Overview Refresh our knowledge of operating systems Learn about Unix-style operating systems Learn about


  1. CSCI 2132: Software Development Norbert Zeh Faculty of Computer Science Introduction to Unix Dalhousie University Winter 2019

  2. Overview • Refresh our knowledge of operating systems • Learn about Unix-style operating systems • Learn about the Unix shell as a command line interface (CLI) • Learn about the file system • Learn about command line tools and 
 some software development tools

  3. Some Functions of an Operating System • Provide an interface between applications and hardware • Read keyboard, write to screen, read/write disk, talk to printer, communicate with network card, … • Hide complexity of controlling hardware from applications • Protect hardware from user and programming errors • Manage hardware resources • CPU time, memory access, disk space, … • Protect user programs and data from each other (security) • Support inter-process communication, sharing • Provide resource sharing among users, processes

  4. Overview of Unix-Style Architecture o n p i r t o a g c r i l a p m p s A n g i s t y a s r t e e p m O Users Hardware Onion skin model

  5. A More Detailed Onion Skin Model A p p l i c a t i o n p l r l m e o c e t a s l y l h g s S r S a r n m e e K l s Hard ware L i b r s a e r i y t i l r i o t U u t i n e s Adapted from W.R. Stevens and S.A. Rago. Advanced Programming in the UNIX Environment.

  6. UNIX’s predecessor: Multics • Multics OS started in 1964 • Developed by Ken Thompson, Dennis Ritchie, and others • Collaboration between MIT, AT&T (Bell Labs), and GE for GE-645 computer • Advanced system with many features and idea of “computing utility” • Hardware did not keep up with software, so it was slow and expensive to run • AT&T withdrew from the project • Ken Thompson started to work on a new system

  7. UNIX: 1969– 1969 Implemented for a PDP-9 on a GE system 1970–1973 PDP-11, C language, implemented in C, called it UNIX (Brian Kernighan) 1973–1979 Source code available to universities, PDP-11, very popular very quickly 1980s Commercialization: System V, BSD, GNU (1985) 1991 Linux (Linus Torvalds), GNU/Linux, new code, distributions Other UNIX/Linux-based OSs: Chrome, Android, macOS, …

  8. More About UNIX History • More in Nemeth et al., UNIX and Linux System Administration Handbook , section “A Brief History of System Administration” • UNIX had many advanced features from the early days, such as concurrent execution

  9. Unix Philosophy • Write programs that • Process text streams (universal interface) • Work together (so they can be easily combined) • Do one thing and do it well • Allows for simple, elegant, and robust solutions • Programs (utilities) can be sequenced using pipes • Typical user is a programmer • Can decompose problems into subproblems • Used to concise syntax • Understands data flow

  10. Pipelines • Pipes specify that the output of one process is to be used as the input to another process: Data Data Data Data Process 1 Process 2 Process 3 Example: who | sort • The symbol | is called “pipe” • Pipes can combine any sequence of processes that take text input and produce text output

  11. Another Unix Characteristic • (Almost) any data that can be manipulated is a file : • Actual files • Terminal I/O (keyboard, screen, ...) • Hardware control (network cards, peripherals, ...) • Kernel settings • That data is manipulated by processes : • User programs • Kernel processes

  12. Some Resources the OS Manages • Central processing unit (CPU) • Random access memory (RAM) • Read-only memory (ROM) • Disk memory (hard disk, CD drives, …) • Graphics card • Network card • Peripherals (keyboard, monitor, mouse, …)

  13. Some Important Unix/OS Concepts Collection of data 
 File (Sequence of bytes) • Stored on disk, CD, Amazon S3, ... • On Unix, also keyboard and screen File that stores machine code that can be loaded into Program memory and run A running program Process Determine who is allowed to interact with a file/ Owner of a file or process process and in which way and file permissions Hierarchical directory structure Place in the directory hierarchy where the file is found Location of a file Reference point for file accesses made by the process Location of a process 
 (Working directory) Unix’s interface for the creation, modification, and System calls destruction of files and processes

  14. UNIX Directory Hierarchy / (root directory) home bin nzeh mhe vlado sort who file.txt sort file.txt File Process

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend