0% found this document useful (0 votes)
20 views3 pages

CS505 Linux Lab Course Overview

python and linux

Uploaded by

pahadesunanda17
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views3 pages

CS505 Linux Lab Course Overview

python and linux

Uploaded by

pahadesunanda17
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

CS505 Linux (LAB)

Course Outcomes: After completion of the course students will be able to

1. Understand the system calls


2. Compare between ANSI C AND C++ AND POSIX standards
3. Mapping the relationship between UNIX Kernel support for files
4. Understand Kernel support for process creation and termination and memory allocation

Overview of Unix/Linux:-
Concepts, Unix/Linux Installation Process, Hardware Requirements for Unix/Linux,
Advantages of Unix/Linux, Reasons for Popularity and Success of Linux/Unix Operating
System, Features of Linux/Unix Operating System, Kernel, Kernel Functions,

The Shell Basic Commands, Shell Programming:-


Shell Variables, Branching Control Structures, Loop-Control Structure, Continue and break
Statements, Sleep Command, Debugging Script. Use of Linux as web-
server, file server, directory server, application server, DNS server, SMTP server, Firewall,
Proxy server.

File System: -
Definition of File System, Defining Geometry, Disk Controller, Solaris File System, Disk
Based File Systems, Network-Based File Systems, Virtual File systems, UFS File System,
The Boot Block, The Super Block, The Inode, Tuning File System, Repairing File System.

Process Control:-
Viewing a Process, Command to display Process, Process Attributes, Process States, Process
Fields, PS Commands options, PGREP, PRSTAT, CDE Process Manager, Scheduling
Process, Scheduling Priorities, Changing the Priority of a time-sharing process, Killing
Process.

System Security:-
Physical Security, Controlling System Access, Restricted Shells Controlling File Access, File
Access Commands, Access Control List(ACLs), Setting ACL Entries, Modifying ACL
entries on a file, Deleting ACL entries on a file, Restricting FTP, Securing Super User
Access, Restricting Root Access, Monitoring super user Access, TCP Wrappers.

Dynamic Host Configuration Protocol: -


Introduction, DHCP Leased Time, DHCP Scopes, DHCP IP Address, Allocation Types,
Planning DHCP Deployment, DHCP Configuration files, Automatic Startup of DHCP
Server, Configuration of DHCP Clients, Manually Configuring the DHCP.
Case Study: -
Installation of Linux, Customization of Linux, Installation of SAMBA, APACHE, TOMCAT,
Send MAIL, Postfix, Implementation of DNS, LDAP services, Firewall, Proxy server

List of Experiments:-

1. To Study basic & User status Unix/Linux Commands.


2. Study & use of commands for performing arithmetic operations with Unix/Linux.
3. Create a file called [Link] with some lines and display how many lines, words and
characters are present in that file.
4. Append ten more simple lines to the [Link] file created above and split the
appended file into 3 parts. What will be the names of these split files? Display the
contents of each of these files. How many lines will be there on the last file?
5. Given two files each of which contains names of students. Create a program to
display only those names that are found on both the files.
6. Create a program to find out the inode number of any desired file.
7. Study & use of the Command for changing file permissions.
8. Write a pipeline of commands, which displays on the monitor as well as saves the
information about the number of users using the system at present on a file called [Link].
9. Execute shell commands through vi editor.
10. Installation, Configuration & Customizations of Unix/Linux.
11. Write a shell script that accepts any number of arguments and prints them in the reverse
order.
12. Write a shell script to find the smallest of three numbers that are read from the keyboard.
13. Write a shell script that reports the logging in of a specified user within one minute after
he/she logs in. The script automatically terminates if the specified user does not login during a
specified period of time.
14. Installation of SAMBA, APACHE, TOMCAT.
15. Implementation of DNS, LDAP services,
16. Study & installation of Firewall & Proxy server

CS506- Python

List of Experiments (Please Expand it):


1. To write a Python program to find GCD of two numbers.
2. To write a Python Program to find the square root of a number by Newton’s Method.
3. To write a Python program to find the exponentiation of a number.
4. To write a Python Program to find the maximum from a list of numbers.
5. To write a Python Program to perform Linear Search
6. To write a Python Program to perform binary search.
7. To write a Python Program to perform selection sort.
8. To write a Python Program to perform insertion sort.
9. To write a Python Program to perform Merge sort.
10. To write a Python program to find first n prime numbers.
11. To write a Python program to multiply matrices.
12. To write a Python program for command line arguments.
13. To write a Python program to find the most frequent words in a text read from a file.
14. To write a Python program to simulate elliptical orbits in Pygame.
15. To write a Python program to bouncing ball in Pygame.

Common questions

Powered by AI

The file system in Unix/Linux supports organization and management of data through a hierarchical directory structure and the use of inodes. Each file system consists of the boot block, superblock, and inodes which store metadata about files. Disk-based and network-based file systems, like UFS and NFS, respectively, allow efficient local and remote storage management. Virtual File Systems (VFS) offer a uniform interface for different file systems, easing data management across different storage types. This structure provides robust data security, efficient storage allocation, and quick file access and retrieval .

In Unix/Linux systems, DHCP is implemented through configuration files that define scopes, lease times, and IP address allocation policies. The DHCP server can be set to start automatically upon booting to ensure clients receive IP configurations promptly. Considerations for DHCP deployment include the network’s size and structure to establish appropriate address pools and avoid conflicts, determining lease durations depending on client turnover, and ensuring network security by restricting unauthorized DHCP requests. Proper planning ensures reliable and efficient IP address distribution across the network .

Shell programming in Unix/Linux systems serves as a command interface that allows users to interact with the system. It provides a way to automate repetitive tasks through scripts, enhancing productivity and system management. Shell programming enables users to use shell scripts to execute a sequence of commands, manage shell variables, implement control structures for decision-making and loop execution, as well as use built-in debugging tools. The significance of shell programming lies in its ability to customize and extend system capabilities easily, offering powerful tools to control system processes and file management effectively .

In Unix/Linux, the relationship between process scheduling and system performance is managed through various scheduling algorithms and priorities. The scheduler determines the process execution order, which directly influences CPU utilization and system responsiveness. Proper scheduling ensures that CPU-intensive and I/O-bound processes receive adequate attention, optimizing performance. By assigning priorities, time-sharing processes are balanced with batch or real-time processes, enhancing the system’s ability to handle multi-tasking efficiently. Adjusting these priorities based on process requirements can achieve optimal load distribution and prevent performance bottlenecks .

Configuring a Unix/Linux system to function as various types of servers involves installing and setting up respective server software and services. For a web server, HTTP server applications like Apache need to be installed and configured. File servers rely on NFS or SMB protocols facilitated by software like Samba. DNS servers require BIND or similar services to handle domain resolutions. Each type of server role in Unix/Linux can be configured through detailed configuration files and tools to manage services. Advantages include cost-effectiveness due to open-source software, flexibility and scalability of server roles, enhanced security features, and strong community support for troubleshooting and updates .

The UNIX kernel facilitates process creation and termination through system calls such as fork(), exec(), and exit(). The fork() system call is used to create a new process, which is a copy of the parent process. The exec() family of functions replaces the current process image with a new process image, effectively allowing the process to switch programs. Termination of processes is handled through the exit() system call, which properly closes the process and deallocates the resources used. This seamless management of processes via system calls showcases the robust process control integrated into the Unix/Linux kernel .

The key features and advantages contributing to Unix/Linux popularity include its robustness, portability, multi-user capabilities, and open-source nature. Unix/Linux systems are reliable and stable, making them ideal for server environments. Their portability allows them to run on different hardware platforms without major rewrites. The open-source nature of Linux, in particular, encourages community development and customization, leading to innovations and broad usage. Additionally, Unix/Linux systems offer powerful networking capabilities and are highly efficient in terms of resource usage, which further enhances their success across diverse computing environments .

The inode in Unix/Linux file systems serves as a data structure that stores metadata about a file, including its size, ownership, permissions, and disk block location. An inode does not contain file name or path information, which allows for efficient management and access of files irrespective of their directory paths. This separation of metadata from file paths enhances system performance in file handling tasks. Inodes are critical for system operation as they enable the consistent tracking and access control of files, playing a fundamental role in maintaining file integrity and security across the Unix/Linux file systems .

The primary differences between ANSI C, C++, and POSIX standards in Unix/Linux systems pertain to their application scopes and function implementations. ANSI C is a standard for the C programming language with a focus on portability and functional language features. C++, on the other hand, builds on C by adding object-oriented programming features. POSIX, unlike ANSI C and C++, is not a programming language standard but a set of standardized APIs designed to ensure compatibility among Unix-like operating systems. POSIX’s relation to Unix/Linux systems is stronger as it standardizes aspects like file handling, process control, and system calls which are essential in Unix/Linux environments .

Unix/Linux systems offer several security measures to restrict unauthorized file access and enhance system security such as file permissions, Access Control Lists (ACLs), and the use of restricted shells. File permissions define read, write, and execute permissions for user, group, and others. ACLs provide more granular file access controls beyond standard permission levels. Restricted shells limit the commands a user may execute, reducing security risks from shell access. System security is further bolstered through controlling superuser access, securing root access, and employing TCP Wrappers to manage network-based service access .

You might also like