다양한 기록

운영체제 개요 본문

운영체제보안

운영체제 개요

라구넹 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


Multi-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