Operating System Standard Interface Design POSIX

Operating System Standard - POSIX
---------------------------------------------- -------------------------------------------------- ----
title:OS Posix design and interface
author:chinayaosir
blog:http:
//blog.csdn.net/chinayaosir qq:44633197
email:[email protected]
------------- -------------------------------------------------- ------------------------------------
Article Table of Contents
1.1 Introduction
to Posix 1.2 Posix Standard C Header Files
1.3 Posix Review
-------------------------------------------------- -------------------------------------------------
1.1 Introduction to Posix
POSIX is the abbreviation of Portable Operating System Interface of Unix.
Developed by IEEE (Institute of Electrical and Electronic Engineering) and standardized by ANSI and ISO.
The birth of POSIX and the development of Unix are inseparable. Unix was born in Bell Labs in the 1970s and distributed the source code of the V7 version to major universities in the United States for research in the 1980s.
The University of California, Berkeley, developed BSD Unix based on V7.
Later, many commercial manufacturers realized the value of Unix and developed their own Unix based on System V or BSD of Bell Labs. The
more famous ones are Sun OS, AIX, and VMS.
For example, DEC OpenVMS supports POSIX standards, especially IEEE Std. 1003.1-1990 (revised in 1995) or POSIX.1.
POSIX.1 provides a source-level C language application programming interface (API) to operating system service programs, such as Read and write files.
POSIX.1 has been accepted by the International Standards Organization (ISO) as the ISO/IEC 9945-1:1990 standard.


-------------------------------------------------- -------------------------------------------------
1.2 Posix standard C header file (24 items) 
<assert.h> ---------------------- Verifier assertion
<complex.h> ------ ---------------- Complex arithmetic operations are supported
<ctype.h> -------------------------------- Character types
< errno.h> ------------ error code
<fenv.h> ------------ Floating point environment
<float.h> --------------- ------- Floating point constant
<inttypes.h> ------------ Integer format conversion
<iso646.h> ---- ------------------ Substitute relational operator macro
<limits.h> ---------------------- Implement constants
<locale.h> ---------------------- Local classes
<math.h> -------------- -------- math constants
<setjmp.h> ------------ non-local goto
<signal.h> ----- ----------------- signal
<stdarg.h> ---------------------- variadic list
< stdbool.h> ---------------------- Boolean types and values
​​<stddef.h> --------------- ------- Standard Definition
<stdint.h> ------------ Integer
<stdio.h> ------- --------------- Standard I/O library
<stdlib.h> ---------------------- Utilities library function
<string.h> ---------------------- String manipulation
<tgmath.h> ---------------------- Generic type math macros
<time.h> -------------- -------- time and date
<wchar.h> ------------ Extended multibyte and wide character support
<wctype. h> ---------------------- Wide character classification and mapping support

basic header files defined by the POSIX standard (26 items) 
<dirent.h> ---- ------------------ directory entry
<fcntl.h> ---------------------- file control
< fnmatch.h> ------------ filename match type
<glob.h> --------------- ------- pathname pattern matching type
<grp.h> ---------------------- group file
<netdb.h> ---- ------------------ Network Database Operations
<pwd.h> ---------------------- Password File
<regex.h> ---------------------- Regular expression
<tar.h> --------------- ------- tar archive values
​​<termios.h> ------------ terminal I/O
<unistd.h>---------------------- Symbolic constant
<utime.h> -------------------------------- File time
<wordexp.h> ---------------- ------ Word Extension Type
<arpa/inet.h> ---------------------- Internet Definitions
<net/if.h> --- ------------------- Socket local interface
<netinet/in.h> ------------------- --- Internet Address Family
<netinet/tcp.h> ---------------------- Transmission Control Protocol Definition
<sys/mman.h> ---- ------------------ Memory management declarations
<sys/select.h> ---------------------- select function
<sys/socket.h> ------------ Socket interface
<sys/stat.h> -------- -------------- file status
<sys/times.h> ---------------------- process time
<sys/ types.h> ------------ Basic system data types
<sys/un.h> ------------- --------- UNIX domain socket definition
<sys/utsname.h> ---------------------- systemname
<sys/wait.h> ---------------------- process control

XSI extension header file defined by POSIX standard (26 items) 
<cpio.h> ---------------------- cpio archive value
<dlfcn.h> --- ------------------- Dynamic Link
<fmtmsg.h> ---------------------- Message Display Structure
<ftw.h> ------------ File Tree Walkthrough
<iconv.h> -------------- -------- Codeset Conversion Utility
<langinfo.h> ---------------------- Language Information Constants
<libgen.h> -- -------------------- Pattern matching function definition
<monetary.h> --------------------- - Currency Types
<ndbm.h> ------------ Database Operations
<nl_types.h> ------------- --------- Message class
<poll.h> ---------------------- Polling function
<search.h> ---- ------------------ Search table
<strings.h> ---------------------- String manipulation
<syslog.h> ---------------------- System error logging
<ucontext.h>---------------------- User context
<ulimit.h> -------------------------------- User Limits
<utmpx.h> ---------------- ------ User Account Database
<sys/ipc.h> ---------------------- IPC
<sys/msg.h> ---- ------------------ message queue
<sys/resource.h> ------------------- resource operation
<sys /sem.h> ------------ semaphore
<sys/shm.h> -------------- -------- Shared Storage
<sys/statvfs.h> ---------------------- Filesystem Information
<sys/time.h> - --------------------- time type
<sys/timeb.h> -------------------- -- Additional date and time definitions <sys/uio.h> ---------------------- Optional header file defined by the POSIX standard for
vector I/O operations

(8 items) 
<aio.h> ------------ Asynchronous I/O
<mqueue.h> ---------- ------------ message queue
<pthread.h> ------------ thread
<sched.h>---------------------- Execution schedule
<semaphore.h> -------------------------------- Semaphores
<spawn.h> ---------------- ------ Real-time spawn interface
<stropts.h> ---------------------- XSI STREAMS interface
<trace.h> ------ ---------------- Time Tracking
-------------------------------- -------------------------------------------------- -----------------
1.3Posix Comments
The definition of the posix standard header file defines a set of standard C calling interfaces for an operating system, and
ISO's posix guides the operation design and implementers There is a set of reference standards.
The ISO network model standard is designed to be 7 layers, but the actual tcp/ip protocol design and implementation only uses 4 layers. The fewer the layers, the faster the speed!
ISO's C language standard C99, but not all C compilers support it 100%,
ISO's C++ standard, many compilers have not achieved 100%!
ISO SQL99, the implementation of many databases does not 100% meet the
ideal standard and there is always a gap between reality, this is reality,
or the ideal is too perfect, the reality is too skinny,
but the standard ideal and the interface implementation are mutually reinforcing and rely!

Standards promote porting and packaging between software, and the products of large software companies revise standards!

Source: https://blog.csdn.net/chinayaosir/article/details/8978125

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326829940&siteId=291194637