알쓸코지
article thumbnail
[OS] 리눅스 스케줄링
CS 2024. 7. 5. 14:03

스케줄링(Scheduling)여러 작업에 CPU 시간을 할당하여 자원을 효율적으로 사용할 수 있도록 하는 메커니즘리눅스는 `선점형 멀티태스킹 시스템`으로, 프로세스의 스레드와 우선순위와 정책에 따라 CPU 시간을 동적으로 할당한다.`선점형 멀티태스킹(Preemptuve Multitasking)`: 운영체제가 필요에 따라 강제로 프로세스의 실행을 중단하여 다른 프로세스에게 CPU를 할당하는 멀티태스킹 방식이를 통해 여러 프로세스가 동시에 실행되는 것처럼 보이게 한다. 스케줄링 유형비선점형(Non-Preemptive) 스케줄링어떤 프로세스가 CPU를 할당받으면 그 프로세스가 종료되거나 자발적으로 중지될 때(주로 I/O에 의해)까지 계속 실행되도록 보장한다.순서대로 처리되므로 실행 순서가 예측 가능하고, 문맥..

article thumbnail
[OS] 서버 가상화
CS 2024. 6. 27. 10:46

가상화(Virtualization)컴퓨팅 리소스를 추상화시켜서1️⃣ 하나의 물리 리소스를 여러 개의 논리 리소스처럼 기능시키거나2️⃣ 여러 개의 물리 리소스를 하나의 논리 리소스처럼 기능하게 하는 것 (가상화를 관리하는) 소프트웨어를 사용하여 컴퓨터 하드웨어 상의 추상화 계층을 구축한다.일반적으로 물리적 머신에서 가상 머신(VM)이라는 다수의 가상 컴퓨터로 만드는 프로세스로 만들고, 각각의 VM은 자체 운영체제를 실행하며 마치 독립적인 컴퓨터인 것처럼 작동한다.물리적 컴퓨터 하드웨어를 보다 효율적으로 활용할 수 있도록 하는 프로세스 VM(Virtual Machine, 가상머신)물리적 하드웨어 시스템에 구축되어 자체 CPU, 메모리, 네트워크 인터페이스 및 스토리지를 갖추고 가상 컴퓨터 시스템으로 작동하는..

article thumbnail
[OS] 접근 통제 정책
CS 2024. 6. 18. 22:03

접근 통제 정책어떤 주체가 언제, 어디서, 어떤 객체에 대하여, 어떠한 행위를 하도록 허용 또는 거부할 것인지를 정의하는 것주체와 객체 사이의 정보의 흐름을 제한하는 것으로 특정 권한을 가진 자만 접근할 수 있도록 하여 객체의 기밀성, 무결성, 가용성을 보장하는 것 임의적 접근 제어(DAC)Discretionary Access Control. 자원의 소유자가 자원의 접근 권한을 결정하는 접근 통제 방식하나의 주체마다 객체에 대한 접근 권한을 부여하는 방식접근 권한을 객체의 소유자가 임의로 지정하는 자율적 정책 ➡️ 유연하다하지만 그만큼 보안 관리가 어렵고, 잘못된 권한 부여로 인해 보안 취약점이 발생할 수 있다.대부분의 파일 시스템은 DAC를 사용한다.파일이나 디렉터리의 소유자는 그 자원에 읽기, 쓰기,..

article thumbnail
[OS] 리눅스 파일 시스템
CS 2024. 6. 11. 22:21

파일 시스템이란?`파일`: 데이터, 프로그램 등을 담는 그릇`파일 시스템`: 그 그릇들을 관리하는 시스템파일에 이름을 붙이고, 저장/탐색을 위해 파일을 어디에 위치시킬 것인지 나타내는 체계파일들이 디스크 상에서 구성되는 방식파일 시스템은 파일들을 관리할 정보가 필요하다. ➡️ `메타데이터`파일의 이름, 확장자, 권한 정보 등 리눅스의 파일 시스템EXT(EXtended File System)리누스는 minix 플랫폼의 불편함을 해결하기 위해 새로운 운영체제인 `리눅스`를 만들었다.Minux 플랫폼 위에서 개발했기 때문에 Minux 파일 시스템을 사용했는데, Minux 파일 시스템을 확장하여 `extfs(Extended File System)`이라는 파일 시스템을 만들었다.성능 향상, 확장성, 기능을 추가하..

article thumbnail
[OS] Swapping과 Paging
CS 2024. 6. 4. 19:31

스와핑(Swapping)메모리에서 사용되지 않는 프로세스를 보조기억장치로 옮겨서 생긴 메모리 상의 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식메인 메모리 공간이 부족할 때 사용한다.`스왑 공간`: 메인 메모리에서 쫓겨난 프로세스들이 저장되는 보조 메모리 영역보조 메모리에 스와핑된 프로세스의 임시 대기열을 형성한다.`스왑 아웃(swap-out)`: 현재 실행되지 않는 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것`스왑 인(swap-in)`: 스왑 영역에 있던 프로세스를 다시 메모리로 옮겨오는 것특징프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리보다 큰 경우에도 프로세스를 동시에 실행할 수 있다.시스템의 유연성을 높이고 가용 메모리를 효율적으로 사용할 수 있게 해준다.프로세스를 스왑시..

article thumbnail
[OS] 뮤텍스와 세마포어
CS 2024. 5. 12. 11:01

임계 구역(Critical Section)공유 자원의 일관성을 보장하기 위해 하나의 프로세스/스레드만 진입해서 실행 가능한 영역`공유 자원`: 여러 프로세스 혹은 스레드가 공유하는 자원ex. 전역 변수, 파일, I/O 장치, 보조기억장치 등임계 구역에 진입하고자 하면, 진입한 프로세스 이외의 다른 프로세스는 대기해야 한다.임계 구역에 동시에 접근하면 자원의 일관성이 깨질 수 있다. 임계 구역 문제임계 구역으로 지정되어야 할 코드 영역이 임계 구역으로 지정되지 않았을 때 발생하는 문제경쟁 상태(Race Condition)여러 프로세스가 공유 자원에 동시에 접근할 때, 접근의 타이밍이나 순서 등이 결괏값에 영향을 줄 수 있는 `경쟁 상태(race condition)`가 발생할 수 있다. 임계 구역 문제 해결..