精华内容
下载资源
问答
  • 系统调用的概念和类型

    千次阅读 2018-08-15 20:35:28
    系统调用提供了用户程序操作系统内核间的接口。 1.系统用户态 在实际运行过程中,处理机会在系统用户态间切换。相应地,现代多数OS将CPU的指令集分为特权指令非特权指令两类。 (1)特权指令。特权...

    系统调用提供了用户程序和操作系统内核间的接口。

    1.系统态和用户态

    在实际运行过程中,处理机会在系统态和用户态间切换。相应地,现代多数OS将CPU的指令集分为特权指令和非特权指令两类。
    (1)特权指令。特权指令是指在系统态运行的指令,它对内部空间的访问范围基本不受限制,不仅能访问用户空间,也能访问系统空间。
    (2)非特权指令。非特权指令是运行在用户态的指令。应用程序所使用的都是非特权指令,它只能完成一般性的操作和任务,不能对系统中的硬件和软件直接进行访问,对内存的访问范围也局限于用户空间。

    2.系统调用

    系统调用本质上是应用程序请求OS内核完成某功能时的一种过程调用,它与一般的过程调用的几个差别:
    1.运行在不同的系统状态。一般的过程调用其调用程序和被调用程序运行在相同的状态——系统态或用户态,而系统调用最大的差别是:调用程序是运行在用户态,而被调用程序是运行在系统态。
    2.状态的转换。由于系统调用的调用和被调用过程是工作在不同的系统状态,因而不允许由调用过程直接转向被调用过程,需要通过软中断机制,先由用户态转换为系统态,经内核分析后,才能转向相应的系统调用处理程序。
    3.返回问题。在采用了抢占式(剥夺)调度方式的系统中,在被调用过程执行完成后,要对系统中所有要求运行的进程做优先权分析。当调用进程仍具有最高优先级时,才返回到调用进行继续执行;否则,将引起重新调用,以便优先权最高的进程优先执行。
    4.嵌套调用。像一般过程一样,系统调用也可以嵌套进行,即在一个被调用过程的执行期间,还可以利用系统调用命令去调用另一个系统调用。

    3.中断机制

    系统调用是通过中断机制实现的,并且一个操作系统的所有系统调用,都通过同一个中断入口来实现。

    4.系统调用的类型

    对于一般通用的OS而言,系统调用分为三大类:
    1.进程控制类系统调用
    主要用于对进程控制的系统调用有:
    (1)创建和终止进程的系统调用。
    (2)获得和设置进程属性的系统调用。进程的属性包括有进程标识符,进程优先级,最大允许执行时间等。
    (3)等待某事件出现的系统调用。
    2.文件操纵类系统调用
    (1)创建和删除文件
    (2)打开和关闭文件的系统调用
    (3)读和写文件的系统调用
    3.进程通信类系统调用
    在单机处理系统中,OS经常采用消息传递方式和共享存储区方式。
    当采用消息传递方式时,通信前需先打开一个连接。为此,应由源进程发出一条打开连接的系统调用,而目标进程则应利用接受连接的系统调用表示同意进行通信;然后,在源和目标进程之间便开始通信。可以利用发送消息的系统调用或者用接收消息的系统调用来交换信息。通信结束后,还须再利用关闭连接的系统调用结束通信。
    用户在利用共享存储区进行通信之前,须先利用建立共享存储区的系统调用来建立一个共享存储区,再利用建立连接的系统调用将该共享存储区连接到进程自身的虚地址空间上,然后便可以利用读和写共享存储区的系统调用实现相互通信。

    展开全文
  • 系统安全的基本概念和权限控制系统类型

    RBAC:如果把权限的分配卡定在角色级别,则系统各处(也就是每一项资源)只需要判断当前用户是否具有某些角色,此时系统中定义的角色是固定的,不会增删。
    管理力度更细的一种方式是:针对资源定义出系统中所有权限,权限可灵活的分配给不同的角色,角色是可以增删和修改权限!

    权限表示对何种资源可以施加的何种操作!比如"删除用户"权限,资源是用户信息,操作是删除。

    权限可以表述为:对某种资源可以施加什么样的操作,是资源与操作之间的可执行关系表述

     

    Repository的根本立足点在于它是查找和定位聚合根供支持。不管其实现是否涉及数据访问,即使是一个所有领域对象都驻留在内存中的系统,也依然需要Repository!

    展开全文
  • 权限系统的基本概念和架构

    万次阅读 热门讨论 2020-12-21 19:33:06
    权限系统是我们在系统设计应用中一种非常常见...认证就非常简单的,验证完用户名密码就算认证成功,而授权里面的套路就很多了,本文将会详细讲解权限系统中的一些基本概念和设计上面要注意的问题,希望大家能够喜欢。

    简介

    权限系统是我们在系统设计和应用中一种非常常见的系统。一般来说权限系统的功能分为认证和授权两种。认证就非常简单的,验证完用户名密码就算认证成功,而授权里面的套路就很多了,本文将会详细讲解权限系统中的一些基本概念和设计上面要注意的问题,希望大家能够喜欢。

    授权流程

    在授权流程中主要有三个部分,分别是资源管理,权限和策略管理,策略的执行。

    先看下资源管理:

    首先我们需要创建一个资源服务器,然后在资源服务器中创建各种资源,最后对各种资源设置一些scope,scope就是跟资源相关的的一些可执行的操作。

    什么是资源呢?资源可以是一个web页面,一个RESTful资源,一个文件等等。

    举个例子,假如我们有一个图书馆资源服务器,图书馆有一个本《人月神话》的书,那么这本书就被称作资源。接下来我们需要为这个资源定义一些可操作性的scope,或者说策略。比如说只有本校的学生才能够借阅这本书。

    当我们定义好资源之后,就需要对这些资源进行一些权限和策略的设置,这就需要进行权限和策略管理。

    看下权限和策略管理的流程:

    首先是创建策略,然后定义权限,最后将权限和策略进行关联。

    策略就是定义的一些去访问某些资源或者权限的操作,策略是和具体的权限是分离的,策略只制定了在什么情况下可以做(某些事情),或者在某些情况下不能做(某些事情),这些事情就是后面创建的权限。

    比如说,拥有user角色可以做什么事情,就是一种策略。

    策略定义好了,我们就可以创建权限了,权限很好理解,比如:借《人月神话》的书的权限。

    我们把策略和权限组合起来就是:拥有user角色的,可以借《人月神话》这本书。

    通用的策略有很多种,比如说基于属性的访问策略,基于角色的访问策略,基于用户的访问策略,基于上下文的访问策略,基于时间的访问策略,基于规则的访问策略或者其他的自定义策略等。

    通常来说,基于角色的访问策略role-based access control (RBAC)是最常用的。

    我们把用户赋予相应的角色,然后在访问资源的时候根据不同的角色策略来执行不同的permission操作。

    虽然RBAC非常有用,用途也非常广泛,但是它还是有下面的几个缺点:

    1. 资源和角色是强绑定的,如果我们对角色进行一些添加,删除和修改操作,将会影响到所有相关联的资源。
    2. 对于角色的修改则可能需要我们对代码进行修改。
    3. 如果你的应用程序非常大的话,使用RBAC可能会出现一些错误。
    4. RBAC的灵活性不够强,不能够做到更加细粒度的权限控制。

    最后,我们看一下策略的执行。

    策略的执行就是真正的在资源服务器上执行相应的授权工作。一般来说我们在资源服务器中有一个 Policy Enforcement Point (PEP)来和授权服务器进行交互,根据授权服务器返回的授权信息来执行相应的资源操作。

    权限系统的架构

    先看一张权限系统的基本架构图:

    其中有下面几个关键组件:

    • PAP全称是Policy Administration Point,它是一个权限管理的后台页面,我们需要这样的一个后台界面来配置和管理权限和资源。

    • PDP全称是Policy Decision Point,它提供了一些决策策略,通过这些策略将授权请求发送到相应的位置,并根据请求的权限对策略进行相应的决策。

    • PEP全称是Policy Enforcement Point,在不同的资源服务器中执行相应的策略。

    • PIP全称是Policy Information Point,在判断和决策策略的时候,可以从中获取相应的属性信息。

    上图中,Storage就是数据的存储和分类,这里我们主要存储resouce,scope,permission和policy这4种对象。

    resource代表的是要访问的对象,可以是一个或者多个对象的集合。比如说:web程序中的页面等等。资源是受保护的对象,需要为资源配置一些权限。

    每个资源都有一个唯一的标识符,可以代表一个资源或一组资源。 例如,你可以管理一个银行帐户资源,该资源代表并定义了所有银行帐户的一组授权策略。 但是,你也可以使用另一个名为Alice’s Banking Account的资源,该资源代表由单个客户拥有的单个资源,该资源可以具有自己的一组授权策略。

    我们看一个resource的例子:

    上图中,我们将不同的URI定义为resource。并给不同的resource起了唯一的名字。

    Scope是对资源的一系列操作,比如你可以对资源进行读,写或者编辑,删除操作,这些都可以被称之为scope。当然,你也可以指定resource中的某个属性作为scope。

    然后就是Permission,权限将受保护的对象与是否授予访问权限的策略相关联。

    比如我们有下面一个权限:

    X CAN DO Y ON RESOURCE Z
    

    x表示的是一个或者多个用户,角色或者groups,或者是他们的组合。

    Y表示的是对资源的一种操作。

    Z就是资源了,比如/index页面。

    我们可以创建基于resource的permission:

    也可以创建基于scope的permission:

    Policy定义了要授予对象访问权限必须满足的条件。Policy并没有指明要保护的对象,只是指定了访问给定对象必须满足的条件。

    比如上面的Policy,指定了什么样的角色,针对什么样的client,制定出来的什么样的逻辑。

    有了策略就需要一个Policy Provider,Policy Provider主要为我们提供特定策略类型的实现。

    为了做好策略评估的工作,我们还需要一个策略评估引擎,通过这个engine来执行策略的评估工作。

    除此之外,作为一个认证服务器,我们还需要对外提供认证服务,那么最好的办法就是提供OAuth2或者OpenID Connect的token服务。

    另外我们还需要一个Protection API,用于resource server和权限管理服务进行交互。

    本文已收录于 http://www.flydean.com/authorization-service/

    最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!

    欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!

    展开全文
  • MongoDB - 基本概念和数据类型

    千次阅读 2018-07-29 15:05:00
    一、MongoDB基本概念 1、数据库 1)、一个MongoDB中可以建立多个数据库(这点与关系型数据库一致),数据会存储在MongoDB配置中指定的data位置。并且基于MongoDB的shell(MongDB一大特性),会将数据库赋值给全局...

    一、MongoDB基本概念

    1、数据库

        1)、一个MongoDB中可以建立多个数据库(这点与关系型数据库一致),数据会存储在MongoDB配置中指定的data位置。并且基于MongoDB的shell(MongDB一大特性),会将数据库赋值给全局变量db,所以在使用mongo(windows中mongo.exe、lingux中mongo.sh)链接后:

        show dbs          // 展示所以的数据库

        use db_name   // 使用或链接某一个数据库(与关系型数据库一致)

        db                     // 展示当前数据库的名称

        2)、命名要求(UTF-8字符串):1、不能是空字符串  2、不饿能够包含:空格、. 、 $ 、/ 、\ 、空字符  3、应全部小写  4、最多64个字符

        3)、保留的数据库名:

        admin:

         将一个用户添加到admin数据库中,则该用户拥有数据库的所有权限,或者一些特殊的服务器端命令也只能从admin数据库汇中运行。

        local:

            该数据库永远都不能进行复制,且本服务器上的所有集合信息都存储在该数据库中。

        config:

            用于分片的时候,存储分片和段等信息。

    2、文档

        文档是MongoDB的核心概念。Document可以理解为key-value关系的json(其实叫Bson,比json更为强大),当然还可以用JavaScript的方式进行理解。使用Document的时候需要注意以下几点:

        1)、Mongo的Document不仅区分大小写还区分类型:

        {"a": 1} 与{"a": "1"} 是不同的字段            {"a": 3} 与 {"A": 3} 也是不同的字段

        2)、命名要求(UTF_8字符串): 1、键不能含有空字符串,这个字符表示键的结尾 2、. 和 $ 有特殊的意义(保留字)

    3、集合

      1)、动态文档

        集合中没有想关系型数据库中那样去定义可以存储上面key或者什么类型的文档,所以好处就是,当项目需求发生变化的时候,比如需要增加一个字段的时候,只需要在后面的项目中(或者Java映射的对象中)增加字段即可,也不需要对历史数据进行处理(但是可能需要在项目中,做是否有该字段的处理)。

        那么,是不是什么不相关的数据都存储到同一个集合中呢,那时候刚使用mongo的时候就会对这个很不理解,所以需要注意以下几点:

        1、把不相关的文档都放在同一个集合中,对于开发还是维护都是非常不方便的。比如代码里需要将不需要文档进行处理,并且需要查询不相关的数据,并且可能是在该集合中有上亿的数据的情况下。

        2、在一个集合中查询某一类型的文档,每次都需要过了掉不需要类型的文档,特别是在全表扫描的情况下,分开查询多个集合的速度要快的多。

        3、把同一种类型的文档放在同一个集合汇中,数据会更加集中。并且存在很多稀疏字段,在es中是会对性能有所影响的,但是在MongoDB中,稀疏字段的影响并不是很清楚。

        4、索引是按照集合进行定义和管理的,在创建索引时,需要使用文档的特殊结构(特别是在创建唯一索引时)。

     

     2)、命名要求:

        集合名不能包含空字符串

        集合名不能空字符(\0),用于表示集合名的结尾

      集合名不能以 system. 进行开头,为系统集合的前缀名称。system.users集合存储的是数据库的用户信息;system.namespaces 存储的是所有数据库集合的信息。

        用户创建的集合名中不能包含$

     

    二、MongoDB数据类型

    1、null         null表示空值或者不存在的字段           {"a" : null}

    2、布尔型   与java的boolean一样                           {"a" : true}

    3、数值(不区分整数或浮点数)                            {"a" : 1.34}

       但是对于整数类型可以用下面方式表示                {"a" : NumberInt("3")}          表示4字节的整数

                                                                                    {"a" : NumberLong("3")}      表示8字节的整数

     4、字符串   UTF-8的字符串                                   {"a" : "string"}

     5、日期                                                                  {"a" : new Date()}

     6、数组                                                                  {"a" : ["b", "c" , "d", "e"]}

     7、内嵌文档                                                           {"a" : {"b" : "c" , "d" : "e"}}

     8、对象id

        对象id是一个12字节的ID,我文档的唯一表示,对象的默认主键 _id 就是一个对象id

                                                                                    {"a" : ObjectId()}

     9、二进制数据

       可以用UTF-8字符串保存到文档中,不能使用shell进行保存

     10、代码                                                                {"a" : function() { /*     ...      */ }} 

          后续在创建副本集、分片时会经常使用代码类型。

     

    展开全文
  • 数据库系统概念

    万次阅读 多人点赞 2019-03-12 16:50:55
    1.1 文件管理系统坏处 1.2 数据视图 1.3 数据模型 1.4 数据库语言 第二章、关系模型介绍 2.1 关系数据库的结构 2.2 数据库模式 2.3 码 第三章、SQL 3.1 SQL 查询语言概览 3.2 SQL数据定义 3.2.1基本类型 ...
  • 程序员必知的 89 个操作系统核心概念

    万次阅读 多人点赞 2020-03-31 19:13:39
    操作系统(Operating System,OS):是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理...
  • 人们在使用计算机解决客观世界中存在的具体问题时,通常过程如下:首先通过对客观世界的认知形成印象和概念从而得到了信息,在此基础上建立概念模型,它必须能够如实地反映客观世界中的事物以及事物间的联系;...
  • 地理信息系统(GIS)基本概念

    千次阅读 2006-03-13 18:29:00
    它是在计算机软件硬件支持下,运用系统工程信息科学的理论,科学管理综合分析具有空间内涵的地理数据,以提供对规划、管理、决策研究所需信息的空间信息系统。gis有以下子系统:数据输入子系统,数据存储...
  • 系统调用概念

    千次阅读 2015-11-18 14:53:09
    “操作系统”通常包含以下两种含义: 1、表示完整的软件包,包括用来管理计算机资源的核心层软件,以及附带的所有标准软件工具,诸如命令行解释器、...因此就有内核态用户态的概念。执行硬件指令可以在两种状态间
  • 引用监控器 安全内核及其设计原则 可信计算基 系统边界安全周界 可信软件与不可信软件 主体、客体访问控制矩阵 安全策略与安全建模 安全功能安全保证 安全体系结构
  • Linux系统分区概念

    千次阅读 2015-05-19 15:26:01
    在常用的PC系统中,硬盘在安装某个操作系统之前,都需要对硬盘进行分区,所以我们需要清晰的掌握分区概念,避免操作失误导致数据丢失。按照分区类型划分,硬盘分区可分为主分区、扩展分区逻辑分区。 主分区 主分区...
  • 信息系统分析与设计课程心得

    万次阅读 2017-02-28 13:41:39
    一、绪论1概念1.1信息要了解信息系统,首先要了解信息的概念。信息是我们理解世界的重要概念,我对它的定义是:信息是对客观事物及其相互关系的反映,它使事物的不确定性减少。知识、信息、数据是具有层次性关系的...
  • [操作系统] 文件系统基本概念

    千次阅读 2017-12-08 11:09:51
    文件系统基本概念 为什么要使用文件系统 什么是文件 文件命名 文件结构 文件类型 文件存取 文件属性 目录系统 路径名
  • Linux 系统编程 -进程概念

    万次阅读 多人点赞 2021-06-07 20:16:56
    Linux系统编程-进程篇冯诺依曼体系结构冯诺依曼的两个重要思想当代计算机的三级缓存操作系统操作系统概念操作系统的组成操作系统作用Linux下的操作系统体系进程进程概念进程特性进程的组成进程与程序区别进程控制...
  • 操作系统概念学习笔记 2 系统中断

    千次阅读 多人点赞 2015-04-26 13:00:54
    操作系统概念学习笔记 2系统中断概述现代操作系统是中断驱动的。如果没有进程可执行,没有I/O设备可服务,没有用户可响应,那么操作系统就会安静的等待事件的发生。事件的发生几乎总是通过中断或者陷阱来表征的。...
  • 操作系统概念 学习笔记

    万次阅读 多人点赞 2019-03-26 23:01:14
    1.1 操作系统 1.1.1 用户视角 1.1.2 系统视角 1.1.3 定义操作系统 1.2 计算机系统组织 1.2.1 计算机系统操作 1.2.2 存储结构 1.2.3 I/O结构 1.3 计算机系统体系结构 1.4 .操作系统结构 1.5 操作系统操作 ...
  • 银行核心系统概念入门简介

    万次阅读 多人点赞 2013-02-06 14:17:44
    银行核心系统入门简介     本文的目标读者是准备从事银行核心系统开发、维护的从业人员。请注意,是“准备”,换句话说,可以理解为一份对科技人员,尤其是对新入门的科技人员业务知识方面的培训手册,旨在让...
  • MongoDB学习(二):数据类型和基本概念  本文地址: http://www.cnblogs.com/egger/archive/2013/04/27/3047191.html 欢迎转载 ,请保留此链接๑•́ ₃•̀๑! 数据类型 基本数据类型  MongoDB...
  • 支付系统-概念与架构

    千次阅读 2019-04-09 13:58:46
    一、什么是支付系统 ... 今天,进入了互联网时代的我们,商业行为也一同进行了数字化与信息化的演变,成为今天的「电子商务」。 支付系统伴随着电子商务的出现而出现,为各类电子商务经营活动实现在线收付...
  • 系统体系结构-概念和框架

    万次阅读 2008-06-29 23:26:00
    系统体系结构的概念任何复杂的系统都需要一个体系结构来提供其演化的一个战略性环境描述。体系结构提供了对组成系统的组件或构造块的描述以及这些组件间复杂的内部关系。 虽然体系结构对系统设计至关重要,但过去...
  • 系统架构师学习笔记-信息系统基础知识

    千次阅读 多人点赞 2019-01-25 19:44:52
    信息系统:一种以处理信息为目的的专门的系统类型信息系统的生命周期:规划、分析、设计、实施、维护;   信息化基础 客户关系管理(CRM):客户服务与支持、 客户群维系、 商机管理; ...
  • 这些操作系统概念,保你没听过!

    千次阅读 多人点赞 2020-02-10 12:40:45
    操作系统概念 大部分操作系统提供了特定的基础概念抽象,例如进程、地址空间、文件等,它们是需要理解的核心内容。下面我们会简要介绍一些基本概念,为了说明这些概念,我们会不时的从 UNIX 中提出示例,相同的...
  • CRM系统概念与项目开发流程

    千次阅读 2020-12-25 09:00:25
    客户关系管理的定义是:企业为提高核心竞争力,利用相应的信息技术以及互联网技术来协调企业与顾客间在销售、营销服务上的交互,从而提升其管理方式,向客户提供创新式的个性化的客户交互服务的过程。...
  • 文件系统结构(File System Structure)磁盘提供大量的外存空间来维持文件系统。磁盘的下述两个特点使得其成为存储多个文件的方便介质。...②创建数据结构算法来将逻辑文件系统映射到物理外存设备上。
  • 数据库系统概念读书笔记-引言

    千次阅读 2020-03-26 11:15:40
    学习数据库的基本的概念,采用了原书第6版的数据库系统概念,该书的Web站点为http://www.db-book.com。参考内容来自卡内基梅隆 数据库导论 2018,讲师:Andy Pavlo,课程地址:...
  • 文件概念文件是记录在外存上得相关信息的具有名称的集合。其具有连续的逻辑地址空间通常,文件表示数据程序。数据文件可以包括,数字、字符、字符串或二进制。文件可以是自由形式,如文本文件,也可以具有严格的...
  • 数字系统概念

    千次阅读 2007-07-26 13:51:00
    下载第1章数字系统概念数字系统已经成为日常生活的组成部分。我们的周围可以发现无数个数字硬件的例子:自动播音器, C D播放机,电话系统,个人计算机以及视频游戏等等,这样的例子似乎无穷无尽!本章首先从讲解...
  • 文件系统以及硬盘分区概念

    千次阅读 2018-08-23 23:31:43
    文件系统和硬盘分区基本概念介绍 文件系统:是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法数据结构;即在存储设备上组织文件的方法。 从系统角度来看,文件...
  • sap可配置的系统提示信息类型

    万次阅读 2011-10-04 22:27:39
    一、 sap系统的提示方式  sap系统的提示方式有两种:  1. MESSAGE I002(ZFI) with ‘文本1’ ‘文本2’ .  2. MESSAGE ID ' ZFI ' TYPE 'I' NUMBER '002' with ‘文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 605,065
精华内容 242,026
关键字:

信息系统的概念和类型