Software and Networks Notes PDF
Document Details
Uploaded by ComplementaryGeranium7826
Università Cattolica del Sacro Cuore
2024
Francesco Tornieri
Tags
Summary
These notes cover different types of software, including system and application software. They also describe operating systems, such as Microsoft Windows, Unix, Mac OS X (Apple), and Linux. The notes also discuss software development, licenses, and computer networks (including client-server and peer-to-peer architectures).
Full Transcript
Facoltà di Economia a.a. 2024/2025 Information Systems Software and Networks Prof. Francesco Tornieri Software and Networks Hardware Software Communication Networks Type of software Software consists of programs or sets of...
Facoltà di Economia a.a. 2024/2025 Information Systems Software and Networks Prof. Francesco Tornieri Software and Networks Hardware Software Communication Networks Type of software Software consists of programs or sets of instructions that enable the computer to perform specific processing functions. System Software A set of programs that control the essential operations needed to manage the computer. (e.g. Network configutation) Application Software Allows the user to perform specific tasks such as writing a letter or playing a game (e.g. Excel) 3 Type of software Operating System Operating Software system (OS) Utility (software integrated in OS) Driver Application Software 4 Type of software Operating System Utility software Antivirus Restore software Backup software Integrated software (e.g. uninstall procedure or disk cleaning) Driver 5 Operating System Operating systems coordinate the interaction between users, application software, hardware, and peripherals Main Functions 1. CPU management 2. Hardware Management 3. File management 4. Task management 5. Application software execution 6. Graphical Interface 6 Operating System Microsoft Windows Unix Mac OS X (Apple) Linux 7 Application Software Personal Productivity Software Vertical Market Software (Industrial), type of software dedicated to performing specific tasks for a specific sector Horizontal Market Software, type of software dedicated to performing specific tasks, which, however, are common to multiple sectors 8 Software Development - Flowchart 02-CASE-STUDY_Flowchart.pdf (Blackboard) https://blackboard.unicatt.it/ultra/courses/_145294_1/outline/file/_5776532_1 9 Software development Source Code: a file containing a set of instructions written in a programming language that must be translated by a translator program to be executed. The source code can be read, corrected, or modified. Object Code: a file containing the Interpreted translation of the source code into (e.g. Python) machine language (binary), which is Compiled understandable only by the computer. (e.g. C/C++) The object code is automatically generated by a translator program and is unmodifiable. 10 Software development DEMO Interpreted (e.g. Python) Compiled (e.g. C/C++) 11 License Free software VS Proprietary License Free Software Software released under a license that allows anyone to use it for its features, as opposed to proprietary software, and different from the open-source concept, focusing on user freedom rather than just source code openness. Free software must ensure four "fundamental freedoms": 1. Freedom to run the program, for any purpose (freedom 0). 2. Freedom to study how the program works and adapt it to your needs (freedom 1). Access to the source code is a prerequisite. 3. Freedom to redistribute copies to help others (freedom 2). 4. Freedom to improve the program and publicly distribute your improvements, so that the entire community benefits (freedom 3). Access to the source code is a prerequisite. Free Software Most famous free software licenses include: GPL BSD License Free Software GPL The GPL is one of the most popular open-source licenses, developed by the Free Software Foundation. It ensures that any modified or distributed version of the software remains under the same GPL license, meaning it must also be open source. This license promotes "copyleft," meaning derivative works must retain the same freedoms, ensuring ongoing free use, distribution, and modification. Free Software BSD The BSD License is more permissive than the GPL and allows modified code to be redistributed under a proprietary license. Users can freely modify and redistribute the software, and they are not required to keep it open-source, allowing it to be integrated into proprietary projects. This flexibility makes the BSD license popular among developers who want more freedom over their code distribution. A small part of OSX (Apple) is based on an opensource OS named FreeBSD (under BSD license) Proprietary License Proprietary licenses restrict the use, modification, and distribution of software. Under these licenses, the software is owned by the company or individual that created it, and users are given limited rights to use the software, typically without access to the source code. Types of proprietary licenses include: Freeware Shareware Full Proprietary License Free Software Freeware Software that is available for use at no cost, but it still remains under the control of the creator. Users can download and use the software freely, but they cannot modify, redistribute, or access the source code. Examples include applications like Adobe Acrobat Reader. Free Software Shareware Software distributed for free initially, often as a trial version, but may require payment for continued use or to unlock additional features. It allows users to "try before they buy," giving them a chance to test the software before committing to a purchase. Shareware is proprietary, meaning users can’t access or alter the source code. Examples include WinRAR and certain antivirus programs. Free Software Full Proprietary License It requires users to purchase the software outright or subscribe to it. The license strictly limits usage to what is permitted by the terms, often restricting the number of devices it can be installed on. Users have no access to the source code, cannot modify the software, and often cannot redistribute it. Examples include Microsoft Office and Adobe Photoshop. Networks Hardware Software Communication Networks Computer Newtork A computer network allows sharing of information and services. It’s a connection between two or more computers through a transmission medium to enable data transmission. Network elements: 1. Two or more computers 2. Physical/Transmission lines 3. Communication protocols Advantages of computer network Improve communications Sharing of peripheral devices Sharing of programs and data Shared access to databases (data) Media Transmission Wired Transmission e cable Twisted pair CoaxialeCable e eFiber Cable Wireless Transmission Infrared Bluetooth Wi-Fi 24 Type of Networks Client/Peer CLIENT-SERVER Architecture A server is a network- connected computer that allows multiple computers (clients) to access data, programs, etc. 27 P2P (PEER TO PEER) Architecture A peer is a computer that can both request and provide services. 28 TCP/IP TCP/IP Protocol (Transmission Control Protocol/Internet Protocol) A router is an electronic device in a packet-switched network that manages the routing of data, divided into packets, between different networks. 29 DNS and URL A DNS is a system that allows a non-numeric address to be associated with an IP address. IPV4 FQDN 20.157.123.20 www.unicatt.it. URL Zone https://www.unicatt.it Protocol Hostname Domain 30 Circuit Switching A circuit (either a physical circuit, a portion of bandwidth, or a time interval) is assigned to two communicating users for the entire duration of the connection, and no other user can use it during that period. Messaggio Message NodoNode Network 31 Packet switching Before being sent, the message is divided into smaller-sized packets, and each packet is given a header to make it an autonomous entity. The header contains, among other information, the sender and receiver addresses and the sequence number that indicates its position within the message. Each packet is an independent informational entity and follows a route to its destination based on the current state of the network. Message= 1+2+3+4 Packet Advantage: Congestion at certain nodes or on the network can be avoided by routing packets through different paths. 32 Cloud Computing Paradigm for delivering computing resources, such as storage, processing, or data transmission, characterized by on-demand availability over the Internet from a pool of pre-existing and configurable resources (Mell & Grance, 2011). 33 Cloud Computing Type of cloud computing: Software as a Service (SaaS): provides access to software applications hosted on a remote server. Data as a Service (DaaS): makes data available via the web, allowing users to access it through any application as if it were stored on a local drive. Hardware as a Service (HaaS): offers the use of hardware resources remotely; a remote computer processes data sent by the user. Platform as a Service (PaaS): instead of a single program, a remote software platform is provided, which may consist of various services, programs, libraries, etc. Infrastructure as a Service (IaaS): provides fundamental computing resources such as hardware, storage, and networks on a pay-per-use basis, allowing users to run and manage their own software and applications. 34 Cloud Computing ADVANTAGES DISADVANTAGES From an economic perspective: Dependence on the Internet Reduction of initial fixed costs Dependence on the Greater flexibility service provider Increased focus on core business Cybersecurity and privacy From a technical perspective: risks Higher scalability Cloud access on the go Security Independence from peripherals 35