ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 보호와 보안 그리고 커널 자료구조
    운영체제/개념 2020. 6. 10. 00:24

    컴퓨터 시스템이 다수의 사용자를 가지며 다수의 프로세스의 병렬 수행을 허용한다면 데이터 접근은 반드시 규제 되어야함을 원칙으로 한다.

     

    보호

    보호(protection) 이란 컴퓨터 시스템이 정의한 자원에 대해 프로그램, 프로세스, 사용자들의 접근을 제어하는 기법이다.

    보호로 인해서 서브 시스템간에 잠재적인 오류를 검출해서 전체적인 시스템의 신뢰성을 증가시킬 수 있는 특징이 있으며 보호되지 않는 자원은 권한이 없거나 무자격 사용자에 의해 사용(혹은 오용) 되는 것을 방지 할 수 없다.

    따라서 보호 지향 시스템은 허가 받은 사용자와 그렇지 않은 사용자를 구별하는 방법을 제공하는데 다음 기회에 포스팅 하겠다.

     

    보안

    컴퓨터시스템이 충분한 보호 기능을 가지고 있더라도 여전히 고장나거나 부적절한 접근을 허용할 수도 있다.

    사용자의 인증정보를 강탈하거나, 바이러스, 웜, 서비스 공격(시스템 자원 모조리 소비로 인하여 다른 접근을 차단), 서비스 도용 등 외부 혹은 내부의 의도적인 공격을 방어하는 것이 보안이다.

     

     

    사용자 식별자

    보호와 보안을 제공하기 위해 필요한 공통점은 시스템의 모든 사용자들을 구분할 수 있어야 한다는 것이다.

    대부분의 운영체제들을 사용자의 이름과 연관된 사용자 식별자(uid)의 리스트를 유지한다.

    그러므로 사용자가 프로세스나 스레드를 다룰때 연관될 수 있다.

     

    또한 어떤 상황에서 각 사용자가 아닌 사용자의 집합을 구분해야하는 경우도 있다.

    예를 들어 UNIX 시스템에서 파일의 소유주에게는 모든 연산을 허용하고, 일부 사용자들에게는 읽기 연산만 허용하는 경우 가 존재할 수 있다. 이를 위해서 그룹 이름과 그룹 식별자 리스트로 구현할 수 있다.

     

    또한 때때로 사용자가 원하는 작업을 위해 권한을 상승해야할 때도 존재한다. 프로세스는 종료되거나 특권이 해제하기 전까지 유효 사용자 식별자를 이용해서 작업을 수행한다.

     

     

    커널 자료 구조

    시스템에서 데이터를 조직적으로 구성하는 자료구조가 존재한다.

    간단하게 소개정도로만 기재할 것이며 자세한 것은 구글에 많다

     

    • 배열 - 메인메모리 구조
    • 리스트 - 단일, 이중, 원형 연결리스트 형태가 존재하며 커널에서 가끔 리스트를 그 자체로 사용함
    • 스택 - 후입선출 원칙이며 운영체제가 함수를 호출할 경우 종종 사용
    • 큐 - 선입선출 원칙이며 프린터 작업, cpu에서 수행 대기 중인 태스크들을 구성함
    • 트리 - Linux cpu 스케줄링 알고리즘의 일부로 균형이진 탐색 트리 사용함
    • 해시 함수 - 리스트의 시간복잡도보다 최소 O(1) 이상 좋으며 운영체제에서 광범위하게 사용함 (해시충돌위험도있긴하다)
    • 맵 - 해시를 사용해 해시맵으로 종종 이용하며 패스워드 인증 같은 경우에 사용한다.
    • 비트맵 - 공간효율에 강력하며 디스크 드라이브 같이 대량의 자원의 가용성을 표시할 때 일반적으로 사용한다.

    '운영체제 > 개념' 카테고리의 다른 글

    오픈소스 운영체제  (0) 2020.06.11
    계산 환경  (1) 2020.06.11
    프로세스. 메모리. 저장장치. 관리  (0) 2020.06.08
    운영체제 연산  (0) 2020.06.06
    운영체제 구조  (0) 2020.06.05
Designed by Tistory.