学习日志---Linux打卡1

直接操作硬件的,由cpu的特权指令集去操作,一般的操作都是普通指令集。cpu有指令集,不同的cpu可能指令集都不同。

API:Application Programing Interface

ABI: Application Binary Interface

ANSI:

编译前的是调用API,编译后的是ABI,程序在哪里编译就在哪里运行。

预处理->编译->汇编->链接

dll: Dynamic Link Libraries动态链接库   window上

so: shared object             Linux上

在链接阶段,会把相应的库文件加载到内存才能运行程序。

操作系统自己本身有很多标准库可以供上层调用,一般为C。进程的创建,一般是请求shell,shell作为父进程建立子进程运行。

Linux: GNU/Linux
    递归缩写:GNU is NOT Uinx
        GPL, GPLv2, GPLv3, LGPL 版权还是归别人所有,开源只是可以用
        BSD
        Apache

版权:copyright, copyleft

@课外扩展:了解这些开源协定;

最常用的几个版本的Linux:
    Redhat, SuSE, Debian

程序包管理器:
    一个程序通常有四类文件:二进制程序、配置文件、库文件(供给别人)、帮助文件

dpkg,debian的一种程序包管理器;
    rpm:redhat研发的,也是一种程序包管理工具。

知识:
    X86-64, CentOS 6.4 32bits, test-3.2.1-CetnOS5.x86.rpm
    这个意思是使用centos5的32位的机器编译,与前面的centos6版本不匹配,也不会安装成功,因为很有可能库不同。
    X86-64, CentOS 6.4 32bits, test-3.2.1-el6.x86_64.rpm
    后面的el6.64表示在centos6的64位系统上编译的,会用到centos64位操作系统的库。

应用程序访问内核时有的可以调用库,有的可以直接调用,称为系统调用。
shell是一个外壳,能够让用户通过它可以调用应用程序在内核上运行。
Linux的内核源代码是支持所有平台的,但是编译后就指定支持的平台了,因为其支持的库不同,cpu指令也有所不同。

文件系统:File System
    是在内核上的,与硬件打交道。是内核的一部分,对外提供系统调用。
网络模块也是内核的一个子功能模块,因为内核才能访问网卡,如果在应用层的话,每次多次都系统调用,速度太慢。

通用软件
    Kernel(内核):
        内核的功能:
            文件系统
            网络协议栈
            进程管理
            加密/解密
            驱动程序:如插入一个新的硬盘,内核会加载驱动程序(对应应用驱动会在os里已有),去操作该硬盘,因此驱动程序如有毒危害会很大。

操作系统与进程在CPU上的切换关系:
    在CPU上,操作系统与应用程序在不停的切换,操作系统选取任务列表的进程进入cpu执行,执行完后操作系统再占据cpu,选取下一个,如果在执行进程中有操作硬件的操作,例如cpu的特权指令(如创建文件等),则进程让给操作系统占据cpu,完成特权操作,操作系统完成后返回给进程,然后进程再继续执行。

应用软件

Linux的基本内容:
    系统管理:网络、文件(创建、删除、移动、权限)、用户、文件系统、加密/解密、内核(编译)、启动过程、程序包管理;
    网络服务管理:Web(apache, nginx, mysql, php)、NFS/samba/ftp(文件服务)、Postfix/Dovecot(邮件服务)、网络安全(iptables,
                    tcp_wrapper)、DNS(基于此实现CDN);
    MySQL: CRUD、索引、存储引擎、备份、恢复、复制、集群、分片;
    集群:LB(负载均衡集群)、HA(高可用集群)、GFS(全局文件系统);
    高扩展的Web: nginx、haproxy、keepalived、tomcat、分布式文件系统、CDN、NoSQL
    虚拟化(基于硬件):xen, kvm, lxc/openvz(容器类的虚拟化实现方案)
    IaaS: Openstack(云虚拟化)等;
    自动化运维:自动化管理,监控,puppet,python编程等;
    大规模并行处理平台:hadoop实现机制,配置和使用;
    系统原理及优化

红帽公司:RHCSA、RHCE、RHCA

时间: 2024-12-29 23:18:28

学习日志---Linux打卡1的相关文章

学习日志---linux打卡2

这个是计算机组成: 在系统启动时,除了启动系统空间守护进程以外,在用户空间会启动一个init进程,这是用户空间进程的祖宗进程,由该进程可以启动shell进程(外壳进程),这样就可以由外壳去启动其他的与用户交互的用户进程. 学习记录: Unix: Linux: Unix-like, 类Unix系统 Linux: 内核,linux就是指的核心 GNU自由软件组织:GPL, gcc, emacs, vi, GNU/Linux: 结合,使用内核+其他的应用程序 Linux: www.kernel.org

学习日志---linux打卡10

练习:写一脚本,实现如下功能: 1.让用户通过键盘输入一个用户名 2.如果用户存在,就显示其用户名和UID: 3.否则,就显示用户不存在: #!/bin/bash read -t 10 -p "Enter a username: " userName       -t是等待时间 # userName=${userName:-root}                      不输入则使用默认值 if id $userName &> /dev/null; then use

学习日志---Linux打卡6

回顾: 文件管理:ls, cat, tac, tail, head, more, less, cp, mv, rm, touch, stat, file, nano 用户管理:useradd, usermod, userdel, passwd, groupadd, groupmod, groupdel, id, su, chage, chfn, chsh, newgrp, gpasswd 用户类型: 管理员:0 一般用户:1-65535 系统用户:1-499, 这些用户的作用是系统刚启动是用来启

学习日志---linux打卡11

练习:写一个脚本 1.让用户交互式输入一个用户名,先判定用户是否存在:不存在,则以7为退出码: 2.判断用户的shell是否为/bin/bash:如果是,则显示为"Bash User.",退出码为0; 否则,则显示为"Not Bash User.",退出码为1; #!/bin/bash # read -p "Enter a user name: " userName if ! id $userName &> /dev/null; t

学习日志---linux磁盘格式化

Linux: ext2,3,4这几个文件系统大多数linux都支持 对磁盘进行分区后,通过kpartx和partx指令让内核识别磁盘分区,接下来进行磁盘区的格式化,也就是创建文件系统: 格式化操作其中之一就是对分区创建元数据区和数据区,元数据区存的是inode,每个inode就是一个条目,对应一个文件,inode中还存着文件在数据区对应的块的编号,数据区很多的block,每个block是512个字节,使用时以2的n次方作为单位来使用,每个分区统一以几个block做为一个最小单元来存储数据. 文件

学习日志---linuxの 程序包管理综述

Linux的程序包管理: 应用程序: GPL:源码, POSIX: Portable Operatin System API: 兼容,意味开发库兼容,因此,源代码可跨平台 ABI:兼容,编译后的程序可以跨平台: 不同的平台可执行的二进制程序格式不同,因此编译后的相同程序在不同平台不一定都能运行 库:可执行程序,本身不能作为程序执行入口,但可以被调用 编译好的二进制格式 程序:预编译.编译.汇编.链接 静态: 动态链接:dll(windows), 在linux下,so(shared object)

学习日志---linuxの RPM软件包管理器

rpm包的使用: rpm包命名格式: 源程序:name-version.tar.{gz|bz2|xz}  打包在一起的源码 version: major.minor.release rpm包:name-version-release.arch.rpm  这是打包好的二进制程序了 release:通常包含rpm的制作发行号,还包含适用的OS arch:这个是适用于哪种硬件架构,还有位数 例子:bash-4.3.2-2.el6.x86_64.rpm OS平台: el6: redhat enterpr

学习日志---linuxの yum的解析与使用

rpm软件程序包存在的问题:依赖关系 依赖关系解决方法: 程序包管理器的前端工具:yum (Yellowdog Update Modifier) yum是rpm的补充,为了提升用户体验的工具. yum的核心功能:自动解决依赖关系:X --> Y --> Z 文件服务器(共享rpm包):通过yum所支持的文件共享机制将各rpm包通过文件服务共享 该服务器是一个repository: yum仓库 组成部分: 1.各rpm包; 2.依赖关系.程序包安装后所能够生成文件列表等元数据文件; ftp, h

学习日志---linux 磁盘分区的挂载

挂载管理: GPT分区机制: 在单个硬盘超过2T时,MBR的分区机制就不行了,要使用GPT这个分区机制 SSD:固态硬盘 电气式硬盘,工作特性很好 分区:fdisk, 格式化:创建文件系统 hdparm -i  查看磁盘信息 -I -g  显示磁盘的布局信息 -t  查看磁盘性能 -T /proc/partitions  分区信息 /proc/meminfo   当前内核内存使用情况 /proc/filesystems   当前内核已经识别的文件系统信息 [[email protected] ~