ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 운영체제 개요
    운영체제보안 2024. 10. 11. 22:45

    운영체제는 ~

    - 하드웨어와 어플리케이션, 유저 간 인터페이스를 제공

    - 하드웨어와 소프트웨어 자원을 관리

    - 컴퓨터 프로그램을 위한 일반적인 서비스 제공

     

    OS는 자원을 관리함 == 자원 관리자

    리소스: 하드웨어(메모리, CPU 등), 소프트웨어(스택, 힙, 페이지 테이블), 파일, 폴더, 데이터(정보)

     

    1. 자원관리자

    2. 앱이 잘 돌아갈 수 있는 기능 제공

     

    OS Services (= Functions of OS)

    1. Program Execution

    - CPU 스케줄링, 프로세스 상태 전이 : 레디 / 러닝 / 웨이팅

    - execve(), fork(), wait(), exit()

     

    2. Memory Management

    - mmap(), mprotect(), madvise()

     

    3. I/O Operation

    - ioctl(), mknod()

     

    4. 파일 시스템 관리

    - creat(), open(), read(), write(), unlink()

     

    5. IPC와 같은 커뮤니케이션

    - Shared memory, Message passing, 세마포어

    - pipe(), flock(), futex()

     

    6. Error detection & handling

     

    7. 프로세스 관리

    8. 메인 메모리 관리

    9. 세컨터리 스토리지 관리

    10. 파일 관리

    11. I/O 시스템 관리

    12. 네트워킹

    13. 커맨드 라인 인터프리터 시스템 .. shell, CLI, GUI


    Muli-user OS

    멀티 유저 OS는 컴퓨터 자원을 유저에게 시간을 쪼개서 나눠줌

    타임 쉐어링 => 라운드 로빈

    형평성에 좋음

     

    * I/O 작업은 인터럽트로 신호주게 하고 그 때는 CPU 다른 일 함

     

    자원 할당

    동시, 병렬적으로 러닝 중인 멀티플 유저나 멀티플 태스크에 자원을 할당해야 함

    * 메인 메모리에 프로세스가 두 개 이상 있으면 멀티플 태스크

     

    OS는 정확하고 효율적이고 쓰기 쉽도록 시스템이 운영되도록 할 책임이 있음

    => 쉐어링과 프로텍션의 개념

    쉐어링을 하면 효율적이지만, 보호를 해야하는 경우도 분명히 있음

     

    Accoounting

    육하원칙에 따라 무슨 자원을 사용했는지 추적 .. 로깅

    클라우드에서는 과금을 위해서

    보안에서는 침입 탐지를 위해 사용

     

    Sharing

    - 멀티 유저

    - 멀티 태스킹: 둘 이상의 프로세스가 동시적으로 작동해야 함

    - 멀티 프로세싱: 2개 이상의 CPU에서 프로세스가 런

    - 멀티스레딩: 한 프로스램의 다른 부분이 동시적으로 작동할 수 있도록 함

     

    멀티 프로세싱

    CPU나 코어가 여러 개인 것을 의미

    물리적인 병렬 처리를 의미

    SMP == 시메트릭 멀티 프로세싱

    실질적으로 병렬 처리가 되는 것이고 멀티 태스킹은 CPU가 하나여도 가능하다는게 차이

     

    멀티 스레딩

    한 프로세스 내에서 여러 개의 제어 흐름을 만드는 것

    * 스레드의 후보: 함수

     

    Protection

    가치있는 자원에 대해 접근을 통제하는 메커니즘

    - 정보를 보호하기 위해 OS가 지원하는 메커니즘

     

    쉐어링 vs 프로텍션

    모든 오브젝트(자원)은 쉐어링과 프로텍션이 둘 다 필요

    - 프로세스

    - 파일 (데이터, 정보)

    - 메모리, 디스크

    - I/O 디바이스

    - 네트워크 디바이스

    ....


    분리된 시간 상에서 함수들이 실행되는 경우

    => 보호 필요 없음

     

    격리는 주체들이 물리적으로 분리된 상태에서 작동함을 의미

     

    공유할 수 있는 건 완전히 공유해야 하고,

    하지 않은 거라면 완전히 분리해야 함 (public, private)

     

    많이 쓰는 방법: 접근을 제한하면서 공유


    프로세스와 파일

    프로세스

    - 주체

    - 실행 단위

    - PID, PCB

    * 프로그램은 힙이나 스택이 없음

     

    파일

    - 객체

    - 정보 저장 / 처리 단위

    - inode number, inode

    '운영체제보안' 카테고리의 다른 글

    Trusted OS  (0) 2024.10.12
    Threats and Security Issues related to OS  (0) 2024.10.12
    Security Goals  (0) 2024.10.12
    Protection & Security  (0) 2024.10.12
    Protection in OS  (0) 2024.10.12
Designed by Tistory.