CSE 278 Study Guide - Fall 2018, Comprehensive Midterm Notes - Internet Protocol Suite, Interaction, Communications Protocol
CSE 278
MIDTERM EXAM
STUDY GUIDE
Fall 2018
CSE 278: Introduction
• COBOL- fundamental programming language in the 1960s
Systems Programming
• Operating systems
• Networks and internet
• Databases
• The world wide web, servers, and clients
Languages
• Web development: HTML, CSS, JavaScript, Java, Python, C#, PHP
• Data analyst: R, SAS, Python
• Artificial Intelligence: Lisp, Prolog, MP
• Game Developers: artists use maya, blender scripts; core developers use c++
• Finance and high speed trading: c++
• Engineers and scientists: c++, fortran
GNU/Linux Intro
• GNU Linux is an operating system that is a collection of software that enables effective
utilization and management.
• This operating system has:
o Kernel that manages core activities; linux free and open source (c/c++)
o Shell- interface user and programs use to reach kernel and utilities
o Utilities- interact with the kernel and perform tasks for the user; examples
include file and process management
• GNU is the utilities, while Linux is the kernel.
• Any software above the operating system is called an application. Examples include:
o Compilers and interpreters
o File management
o Graphical user interfaces
o Network software
• Sometimes there is no clear distinction between the utilities and the applications.
Operating Systems Support
• Multiple users
• Multiprocessing: more than 1 CPU
• Multitasking: doing multiple tasks at once
Linux for Lab
• Will be connecting to database.csi.miamioh.edu
• Use ssh to connect to a remote server in terminal.
• To transfer files, use SFTP and SCP
find more resources at oneclass.com
find more resources at oneclass.com
CSE 278 – GNU/Linux Operating System and GCC
What is an operating system?
• It controls execution of application programs
• An interface between user and hardware
• Collection of programs to do the above
Tasks of an operating system
1. Program execution
a. User interface (API)
b. Process control and scheduling
c. Virtual memory (loading jobs in and out of memory)
2. Memory Management
a. Multiprocessing and multitasking
3. Device management
a. Hardware interrupts
b. Storage and communication
Interactive Shells- 3 ways to interact with the operating system (making a system call)
1. From an interactive shell (commands)
2. From a program (c/c++)
3. From an interpreted script
• There are many shells, and computers may run any at any time. We use the bashshell,
which was derived from the popular bourne shell sh.
Arguments and Options
• To distinguish between a parameter and option, a dash is placed before an option and a
single letter is used for a parameter.
ls -r -t dir
ls -rtd
head -n 5 f12
• Sometimes, long form options are preceded by a double dash and may require an equal.
grep fl –include=’*.pdf’
tar –extract doc.tar
Variables
• Most shells allow the use of variables.
• Set with: var=value
• Access with: $
• A process (program) invoked by a shall, requires certain settings. These settings are
specified in an environment variable.
o Conventionally differentiated from normal variables by UPPERCASE. Seen with
HOME and PWD
• There are system calls a process/program may use to see its environment variables.
• man pages- most functions we use are in these pages (man man)
• We consider:
find more resources at oneclass.com
find more resources at oneclass.com
Document Summary
Cse 278: introduction: cobol- fundamental programming language in the 1960s. Systems programming: operating systems, networks and internet, databases, the world wide web, servers, and clients. Examples include: compilers and interpreters, file management, graphical user interfaces, network software, sometimes there is no clear distinction between the utilities and the applications. Operating systems support: multiple users, multiprocessing: more than 1 cpu, multitasking: doing multiple tasks at once. Linux for lab: will be connecting to database. csi. miamioh. edu, use ssh to connect to a remote server in terminal, to transfer files, use sftp and scp. Cse 278 gnu/linux operating system and gcc. It controls execution of application programs: an interface between user and hardware, collection of programs to do the above. Tasks of an operating system: program execution, user interface (api, process control and scheduling, virtual memory (loading jobs in and out of memory, memory management, multiprocessing and multitasking, device management, hardware interrupts, storage and communication.