UNIX Is an Operating System Which Has Been Implemented and Utilized for Many Years And
Total Page:16
File Type:pdf, Size:1020Kb
UNIX
UNIX is an operating system which has been implemented and utilized for many years and exhibits some common concepts where memory management, file management, process management, and security are implemented and maintained.
The primary function of memory management is to ensure that there is a system in place whereby the memory structure of physical memory – usually defined as
Random Access Memory (RAM) – is optimized as much as possible to that data can be allocated and removed from RAM in the most effective manner. While it is possible for a system to utilize physical storage to provide additional memory then the operating system will need to manage and allocate memory management between both the physical memory as well as the virtual memory that may be allocated across other storage devices for example.
UNIX shares certain similarities with other operating systems in terms of memory management, with the application of the Hardware Abstraction Layer (HAL) being used to manage system dependent tasks while the rest of the system in terms of the kernel for example being separated accordingly. In order to ensure that unused memory is released in an efficient manner then UNIX will utilize specific Daemons – similar to conventional system services to flush pages as well as perform other memory maintenance tasks. Shadow paging is also utilized within the UNIX platform as this allows original objects in memory to effectively be copied and it is this copied object on which the pages and memory will be modified, rather than the original object. One of the more unique implementations of UNIX when compared with other operating systems relates to the way in which virtual memory is handled, as there is a designated Swap partition on any such system allocated and managed through the operating system rather than the application.
The file management system implemented and utilized within UNIX relates to the file system which is in use and allows for the relevant organization of operating system components, configuration files and user files while also providing a secure and stable repository and in a similar way to other operating system components there has been substantial development of this function in order to provide improvements and enhancements to the file system while also increasing the support options in the context of new hardware.
The UNIX file system can be referred to as either UFS (UNIX File System),
Berkeley Fast File System or the BSD Fast File System (FFS) and is comprised of the following:
Boot blocks at the beginning of the partition – these are initialized separately
from the file system;
‘Super block’ which provides the identification of the file system as well as the
geometry and behavioural characteristics of the file system;
Cylinder groups, each of which is comprised of:
o Backup of the super block
o Header with information about the cylinder group; o Inodes (data structures) which store all the information about file system
objects;
o Data blocks which are the sequence of bits and bytes making up the
information
The file system is also indicative as to how security would be managed through the application of appropriate permissions and access control. The security model is based on files being owned by users or groups accordingly and they can each be granted read, write, and execute permissions for the files as required. Each file permission is defined using 10 bits. There are several special permission bits within
Linux, encompassing the SUID (Set UserID), SGID (Set GroupID), and Sticky Bit. SUID is set where the command should always executed with the user ID of the user owner rather than the user who is executing it. SGID can be set either on folders or the command so that they utilize the Group ID of the group owner rather than the user who is executing a command or attempting access for example.
Within the UNIX operating system there is a specific way of designating the way in which programs will be run and managed. Whenever a program is executed the operating system will create a specific environment which will contain all necessary elements so that the program can be run. In order to track this program, the operating system will create a new process which will be assigned a unique process ID through which the instance of the program can be identified and managed. Bibliography Andersen, P. (2005). Just Enough UNIX. McGraw-Hill.
Edinburgh, U. o. (n.d.). UNIXhelp for Users. Retrieved from UNIXhelp for Users: http://unixhelp.ed.ac.uk/
Newham, C. (2005). Learning the bash Shell: Unix Shell Programming. O'Reilly Media.
Peek, J., Powers, S., O'Reilly, T., & Loukides, M. (2002). Unix Power Tools. O'Reilly Media.
Robbins, A. (2005). UNIX in a Nutshell. O'Reilly Media.