广告
返回顶部
首页 > 资讯 > 后端开发 > Python >solaris学习3:启动过程
  • 844
分享到

solaris学习3:启动过程

过程solaris 2023-01-31 06:01:58 844人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

   #---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title oracle Solaris 10 8/11 s10x_u10wos_17b X86 find

 
 #---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title oracle Solaris 10 8/11 s10x_u10wos_17b X86
findroot (rootfs0,2,a)
kernel /platfORM/i86pc/multiboot
module /platform/i86pc/boot_arcHive
#---------------------END BOOTADM--------------------
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris failsafe
findroot (rootfs0,2,a)
kernel /boot/multiboot kernel/unix -s
module /boot/x86.miniroot-safe
#---------------------END BOOTADM--------------------
title windows
        rootnoverify (hd0,0)
        chainloader +1
 
 以上是solaris10的启动,正常启动重root下的/platform下调用文件,而failsafe则从/boot下调用引导文件。两者不一样,还没对solaris的引导机制理解,估测与linux可能有点不一样。等理解后再补充。

  现在有点时间来写些solaris的启动过程了,首先说说上面的solaris grub的启动菜单。

1、 menu.lst
       活动的grub menu.lst文件才能对OS启作用,其他的menu.lst文件对系统不起任何作用,这里就有个问题了,活动的menu.lst文件在哪里,即OS启动时会调用那个menu.lst?用命令bootadm查看:
 
 
 至于menu.lst文件中的solaris 启动文件,只有x86架构的solaris才有grub引导,solaris的内核文件在/platform下。而windows的部分,我发现一个有趣的现象:我在我的笔记本安装solaris,没有系统(全部重新分区了),只是将第一个主分区format成ntfs,放入grub、menu.lst等一些引导文件,第二个主分区为fat32,放入solaris的iso文件,然后用硬盘安装方式安装完毕后,呵呵,solaris的menu.lst也有windows的引导部分,看来solaris是检测到某个主分区为dos格式的,就会在menu.lst创建windows的引导部分。
另外failsafe是什么?我的理解是单用户模式的迷你引导boot,不需要root密码(区别单用户模式的关键),将/dev/dsk/c0d0s0 mounted,提供基本的修复命令。
 
2、 solaris引导过程(以sparc为例,没有grub引导)
  1. 引导PROM(简单理解就是加电硬件自检过程): x86架构为BIOS将运行自检诊断,验证硬件和内存,未发现硬件错误则进入自动引导过程。sparc架构类似,主机加电后,prom运行POST自检硬件,如果无错误,并且auto-boot为true,则进入自动引导过程。呵呵,这样说的太简单了,由于x86没什么说的,就以sparc架构说说:
  •   POST自检硬件和内存,通过后下一步(此时可以进入OK模式,即命令行模式操作一些启动设置)
  •   显示主机ID等信息:如cpu类型和速度,PROM版本号NVRAM sn号,网卡MAC,主机ID等
  • 读取PROM参数boot-device确定启动设备
  • 读取启动设备的0扇区的disk label(即VTOC)
  • 查找启动程序(grub启动的sector1~15内容)
  2. 引导程序过程
  •  bootlk将ufsboot加载到内存
  •  ufsboot加载内核:有两个内核,genunix是独立于平台的通用内核文件,unix是平台特定的内核文件。ufsboot将两个内核加载进内存,两个内核一起形成后来系统运行的内核。内核文件在:x86 /etc/`uname -m`/kernel   x64 /etc/`uname -m`/kernel/sparc9

         内核其他目录有:/kernel   /usr/kernel

         内核目录的子目录:drv  设备驱动  exec 可执行的文件  fs 文件系统类型 misc虚拟模块(usb、cdrom等) sched 调度 strmod 流模块(用户和设备间连接) sys 系统接口定义

      3.  内核初始化过程

  •     内核读取/etc/system文件(内核参数配置文件)
  •     内核初始化自己加载模块,内核用ufsboot命令加载文件,当挂载跟“/”完成后,内核unmap ufsboot program
  • 内核启动/etc/init进程,/etc/init 是 /sbin/init的link。

     4.   init过程

          init读取/etc/inittab,确定运行级别,solaris的级别是串行的,即先runlevel 1 在runlevel 2 ,再到runlevel 3。至于运行级别在下面说明。

      5.  svc.startd过程

          启动各种系统服务

  3、 运行级别

          各种系统的默认运行级别:redhat  5  solaris  3   Mac os x 3   AIX 2等
 
 solaris的运行级别有8种
0     硬件维护模式   控制台访问进入OBP状态     /etc/rc0.d  命令脚本:/sbin/rc0
1    管理状态只有root用户可用  单用户  /etc/rc1.d    命令脚本:/sbin/rc1
2    第一个多用户状态,nfs等网络不可用  多用户  /etc/rc2.d  命令脚本:/sbin/rc2
3     多用户,网络可用     多用户   /etc/rc3.d   命令脚本:/sbin/rc3
4     用户自定义                 没有指定    没有目录
5     关闭电源状态        控制台访问    /etc/rc5.d   命令脚本:/sbin/rc5
6     关闭重启         单用户    /etc/rc6.d    命令脚本:/sbin/rc6
S     管理任务或修复系统文件  控制台访问   /etc/rcS.d  命令脚本:/sbin/rcS
 
每个运行级别在/sbin 目录下都有一个对应的RC脚本,init用这些RC脚本设置变量、测试环境、启动停止其他进程脚本。
 
 
 对于/etc/rC#.d 目录下的脚本文件,K开头为kill,S开头为start,忽略任何其他开头的文件,K、S一定要大写,并且按后面的数字顺序执行,如S10比S12优先。如果用户想在/etc/rc#.d目录自己建个启动脚本,脚本以 .sh结束则不需要start stop参数,否则需要提交start和stop参数。
 
查看运行级别:runlevel  或 who -r
切换运行级别:init n  (linux的命令就有几个:init    telinit  initctl 等 )
 init Q 或 init q  是init进程立即重新读取并处理inittab文件
 
另外有个概念要注意:里程碑
个人理解(摘自网络):指定类型的服务,是一个层次依靠关系,即服务运行到一种状态要依靠其它的服务运行才可以用的以类型依靠状态。
从运行级别来看,就是solaris10用来替代运行级别的概念,比如single-user里程碑相当于运行级别S,multi-user里程碑相当于运行级别2,multi-user-server相当于运行级别3.
有7种milestone,上面列了三种,还有:network  、 name-sevices、sysconfig、devices
 
 
4、 solaris注销:
linux注销在我的blog里说了,那么solaris怎样才能注销呢?开始对其了解不多,不过应该和linux相似,都有桌面运行环境,如gnome、cde、jds等,所以solaris的注销命令为:pkill -9 dtsession  ,是CDE桌面环境,我自己使用是没有问题的,希望大家有指正。那么JDS桌面环境如何注销,命令:pkill -9 Xsession
今天详细测试了下,注销solaris的问题新的理解是:
无论CDE、JDS,结束桌面环境都可以用干掉Xsession进程的方法,自己在JDS中用干掉Xorg的方法也可以注销桌面。
今天又有一个发现:solaris里有个命令whodo,可以查看终端的运行进程记录:

这是在CDE桌面,要注销就结束Xsession、dtsession,在JDS桌面还有gnome-session,结束该进程也可以注销。



 
============================================================================
outlook历史记录清除方
现象:
如图:在收件人处输入字母:h  , 则出现三个收件人的地址 , 有些用户怕出错,不允许
这种情况出现,即输入字母 h 时 , 不会出现三个地址
 
具体方法如下,Outlook 2003 应用测试通过
方法一:
工具 -》 选项 -》 首选参数 -》电子邮件选项 -》高级电子邮件选项
去掉 “填写收件人、抄送人及密件抄送人字段时提示姓名” 的勾选
 
方法二:
C:\Documents and Settings\fuhaixiong\Application Data\Microsoft\Outlook下删除.nk2文件
 
方法三:
直接按delete删除
 
建议用第一种方法

--结束END--

本文标题: solaris学习3:启动过程

本文链接: https://www.lsjlt.com/news/190316.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • solaris学习3:启动过程
       #---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Oracle Solaris 10 8/11 s10x_u10wos_17b X86 find...
    99+
    2023-01-31
    过程 solaris
  • solaris学习笔记3:mount
    mount学习   1.文件系统基本概念,UFS,ZFS,VxFS,WAFL   2./etc/vfstab 预定义挂载文件系统;    /etc/mnttab 已挂载文件系统   3.man mount    man mount_ufs ...
    99+
    2023-01-31
    学习笔记 solaris mount
  • 【python】编程学习练习题--3
      1 #利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:代码:  2    3 from functools import reduce   4 str = '123.456'...
    99+
    2023-01-31
    练习题 python
  • Python3.x学习笔记[3]通过Py
    从网上学到很多东西,xlrd支持Python3.x,所以可以直接pip安装(至于PIP配置快捷方式和使用国内镜像加速下载以后和CX FREEZE以及SUBLIME TEXT3的配置一起发吧)。xlwt则不保持继续支持Python3,官网也...
    99+
    2023-01-31
    学习笔记 Py
  • 华为学习历程(3)
    今天登陆到了[url]www.huawei.com.cn[/url],看了他们网站关于ne80的介绍,感觉ne80还不错,如果和cisco12000拼一下,不知道那个更猛(不禁又在为思科伤心了)。 而后又逛了[url]www.ci...
    99+
    2023-01-31
    华为 历程
  • Python自动化开发学习3
    函数通过函数,可以定义一段代码块,之后通过函数名可以反复调用定义一个函数:def alert():     "打印Hello World"     print("Hello World")使用def来定义函数,第二行建议使用使用文档字符串进...
    99+
    2023-01-31
    Python
  • Python编程学习3:Python 对
    面试遇到一个问题:如何删除一个python对象?下面将介绍python的对象引用和 del删除引用1.  首先介绍下python的对象引用1)Python中不存在传值调用,一切传递的都是对象引用,也可以认为是传址调用。即Python不允许...
    99+
    2023-01-31
    Python
  • flume源码学习3-自动reload配
      在1.5.0的flume版本中开始提供这个功能,判断配置文件的更新时间戳来reload服务原理:1)在启动中使用EventBus.register注册Application对象,同时Application有一个Subscribe的方法h...
    99+
    2023-01-31
    源码 flume reload
  • Python自动化开发学习4-3
    JSON 和 pickle序列化:把数据对象变成字符串的形式,这样可以保存在文件中。反之就是反序列化python自带的str()可以完成序列化,然后eval()可以反序列化,但是我们先把他们忘记。不知道适用范围是多大。我们用json的规范来...
    99+
    2023-01-31
    Python
  • Java 多线程学习总结3
    在上一篇中,我们当然希望a++,b++执行完之后,show方法再来show.我们需要的是“原子”动作,一次性地把a++,b++不间断地执行。在java中是利用“互斥”的方法,互斥谁呢?互斥的是相同对象的加锁代码。如果我们把第一篇的SomeB...
    99+
    2023-01-31
    多线程 Java
  • linux shell编程学习笔记(3)
    1、什么是变量保存变化的数据——变量名:名称固定,由系统预设或用户自定义——变量值:根据用户设置、系统环境变化而变化2、如何定义变量——变量名=变量的值2.1变量名的规则(1)数字、字母、下划线(2)字母区分大小写(3)当变量名相同时,后赋...
    99+
    2023-01-31
    学习笔记 linux shell
  • monggodb学习过程--update
    今天看书看到mongodb权威指南这本书对update这一篇进行了详细详解,因为知识点有点多,所以博客记录一下,如果只是看我觉得明天就忘了。更新文档有两种方式:1,文档替换  2,修改器替换(只是...
    99+
    2022-10-18
  • mongodb的学习过程
        近段时间感觉有点迷茫了,不知道该做什么,今天上班看看自己的监控数据,想想能不能为了读写速度我把数据写入到mongodb里面这种非关系型数据库里面呢,下面开始学习mong...
    99+
    2022-10-18
  • Python 3 学习笔记:流程控制
    程序结构 计算机在解决某个具体问题时,主要有三种形式,分别是顺序控制执行所有语句、选择执行部分语句和循环执行部分语句。根据以上三种解决问题的形式,程序设计过程中,也有三种基本结构,分别为顺序结构、选择结构和循环结构。 顺序控制 顺序结构很好...
    99+
    2023-01-31
    学习笔记 流程 Python
  • SQL SERVER 学习过程(二)
    休息了好长一段时间,这几天照着书本自己慢慢敲的命令,看的再多不如手动去做。 use HrSystem go create table Employees ( Em_id int primary key identity(1,1),--设...
    99+
    2017-07-04
    SQL SERVER 学习过程(二)
  • Python自动化开发学习3-2-匿名函
    下面这部分内容计划应该是第三周讲的,但是应该是当时来不及,第四周上来的内容又比较重要,就放到了第四周讲完后才讲了。匿名函数如果函数值使用一次,并且结构结单(需要一行表达式),就可以使用匿名函数。匿名函数的好处:程序一次行使用,所以不需要定义...
    99+
    2023-01-31
    Python
  • Python自动化开发学习-爬虫3(性能
    讲师的博客:https://www.cnblogs.com/wupeiqi/p/6229292.html在编写爬虫时,性能的消耗主要在IO请求中,当单进程单线程模式下请求URL时必然会引起等待,从而使得请求整体变慢。比如找10个国外的资源...
    99+
    2023-01-31
    爬虫 性能 Python
  • java学习DongTai被动型IAST工具部署过程
    目录01、环境准备 02、快速安装与部署03、初步测试体验我在5月份的时候就申请了洞态IAST企业版内测,算是比较早的一批用户了。聊聊几个我比较在意的问题,比如API接口覆...
    99+
    2022-11-12
  • python学习笔记3—流程控制if、f
    流程控制ifif 语句if expression:    statement(s)elseelse语句:if 语句,else语句if expression:    statement(s)else:    statement(s)elif语...
    99+
    2023-01-31
    学习笔记 流程 python
  • Pycharm学习教程(3) 代码运行调试
    Pycharm代码运行调试,具体内容如下 1、准备工作   (1)Python版本为2.7或者更高版本   (2)已经创建了一个Python工程并且添加了内容,具体参考: Getting Started t...
    99+
    2022-06-04
    代码 教程 Pycharm
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作