| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- operating system
- IAM Federation
- python
- network
- AWS 사고 사례 분석
- C
- AWS 인프라 분석
- AWS IAM Role
- programmers
- 침입 차단 시스템(IPS)
- reversing.kr
- AWS 3 Tier Architecture
- AWS 보안 아키텍처 분석
- AWS 인프라 아키텍처
- 운영체제
- 드림핵
- AWS
- AWS 보안 사고 사례 모음
- 리버싱
- AWS 침해 사고 사례 분석
- Amazon S3
- AWS 침해사고 사례 분석
- AWS 아키텍처 분석
- dreamhack
- 네트워크
- TryHackMe
- 프로그래머스
- reversing
- terraform
- AWS Active Directory
- Today
- Total
목록Operating System (9)
lhywk 님의 블로그
1. 파일의 기본 개념 및 분류1-1 파일의 정의개념적: 정보의 집합.물리적: 저장 매체에 기록된 바이트의 나열.1-2 파일의 유형텍스트 파일: ASCII나 유니코드로 구성되어 사람이 읽을 수 있는 파일.이진 파일: 0과 1의 이진 데이터로 인코딩 되어 전용 소프트웨어가 필요한 파일(hwp, exe jpg 등).1-3 파일 식별 방법사용자: 확장자(.txt, .jpg)를 통해 구분.운영체제: 파일 헤더에 포함된 매직 넘버(Magic Number) 또는 시그니처를 통해 실제 파일 형식을 확인. 2. 블록 단위 및 레코드 저장 방식블록논리적인 데이터 저장 단위디스크(보조기억장치)와 주기억장치(RAM) 사이에서 데이터를 전송할 때 사용하는 기본 단위이다.하나의 파일은 여러 개의 레코드로 구성되며, 이 레코드들..
1. 스케줄링 유형장기 스케줄링: 시스템에 새로운 프로세스를 추가할지 결정하여 다중 프로그래밍의 정도(degree of multiprogramming)를 조절한다.중기 스케줄링: 메모리 부족 시 프로세스를 디스크로 내보내거나(Swap-out), 다시 메모리로 가져오는(Swap-in) 스와퍼(Swapper) 역할을 한다.단기 스케줄링: 준비 큐에 있는 프로세스 중 CPU를 점유할 다음 프로세스를 결정하는 CPU 스케줄링이다.입출력(I/O) 스케줄링: 입출력 장치의 대기 목록 중 다음에 처리할 요청을 선택한다. 2. 장기 스케줄링새 프로세스가 시스템에 진입하는 것을 허용할지 여부를 결정한다.멀티프로그래밍의 정도를 결정한다. 새로운 프로세스를 언제 시스템에 진입시킬지는 다음과 같은 요소를 고려하여 결정한다.시..
1. 가상메모리의 특성 및 개념1.1 특성논리 주소와 물리 주소의 분리: 프로세스는 논리 주소(logical address)를 참조하며, 실행 시점에 물리 주소(physical address)로 동적 변환된다.비연속적 할당: 주소 공간이 블록(페이지/세그먼트)으로 분할되어 주기억장치의 인접하지 않은 위치에 배치될 수 있다.부분 적재(Partial Loading): 프로세스의 일부 블록만 적재해도 실행 가능하다.적재집합(Resident Set): 현재 주기억장치에 적재된 블록들의 집합이다.메모리 접근 오류(Memory Access Fault): 적재되지 않은 블록 참조 시 발생하며, 이를 '페이지 폴트'라고 한다.1.2 가상메모리와 물리메모리가상메모리: 디스크의 방대한 공간을 활용한 프로세스 관점의 전체 ..
1. 메모리 관리의 개요 및 요구조건1-1 메모리 관리의 정의다중 프로그래밍 환경에서 한정된 주기억장치(RAM)를 여러 프로세스에 동적으로 할당하고 배치하는 운영체제의 기능이.1-2 메모리 관리의 5가지 요구조건재배치 (Relocation): 프로세스가 메모리 내 어느 위치에 있더라도 정상 실행되도록 지원.보호 (Protection): 타 프로세스나 OS 영역 침범 방지.공유 (Sharing): 공통 코드/데이터를 여러 프로세스가 함께 사용하도록 허용.논리적 구성 (Logical Organization): 프로그램을 모듈/세그먼트 단위로 관리 및 맵핑.물리적 구성 (Physical Organization): RAM과 디스크 간의 데이터 이동(스와핑 등) 관리. 2. 연속 메모리 할당 기법프로그램 전체가 ..
1. 교착상태(Deadlock)의 정의와 원리1.1 교착상태의 정의교착상태: 2개 이상의 프로세스가 서로 상대방이 가진 자원을 기다리며 무한히 대기하는 영속적인 블록(block) 상태를 의미.발생 상황: 프로세스들이 공유 자원을 놓고 경쟁하거나 통신하는 과정에서 발생.네 대의 차가 교차로에 진입하여 각각 앞차의 구역이 비기를 기다리는 상황과 같다. 모든 차가 한 구역을 점유하고 다음 구역을 원형으로 대기(1→2→3→4→1)하면 아무도 움직일 수 없다.1.2 결합 진행 다이어그램 (Joint Progress Diagram)두 프로세스(P, Q)의 실행 경로를 시각화하여 교착상태 발생 가능성을 분석하는 도구.축: X축은 프로세스 P의 진행, Y축은 프로세스 Q의 진행을 나타냄.금지 영역: 자원(A, B)이 ..
1. 병행성병행성은 여러 프로세스나 쓰레드가 동시에 번갈아 실행되는 환경에서 나타난다.실행 환경:멀티프로그래밍 (Multiprogramming): 단일 CPU에서 여러 프로세스를 인터리빙(Interleaving) 방식으로 번갈아 실행.멀티프로세싱 (Multiprocessing): 멀티코어 시스템에서 프로세스들을 물리적으로 동시에 오버랩핑(Overlapping)하여 실행.분산 처리 (Distributed Processing): 네트워크로 연결된 여러 컴퓨터가 작업을 분담.주요 발생 문제:경쟁 상태 (Race Condition): 공유 데이터에 동시 접근 시 실행 순서에 따라 결과가 변하는 현상. 교착 상태 (Deadlock): 프로세스들이 서로의 자원을 기다리며 무한 대기하는 상태. 기아 상태 (Starv..
1. 프로세스와 쓰레드과거의 프로세스는 자원 관리와 실행을 동시에 담당하는 무거운 프로세스(Heavyweight Process)였다. 현대 운영체제는 이를 효율적으로 관리하기 위해 두 역할을 분리했다.프로세스: 자원 소유의 단위. 메모리(코드, 데이터), 파일, 시스템 자원을 담는 컨테이너 역할.쓰레드: 실행의 단위. 프로세스 내에서 실제 CPU를 할당받아 코드를 수행하는 제어 흐름. 경량 프로세스(Lightweight Process)라고도 불린다.2. 프로세스와 쓰레드의 4가지 모델운영체제는 프로세스와 쓰레드의 개수에 따라 네 가지 방식으로 나뉜다.단일 프로세스, 단일 쓰레드: 가장 전통적인 방식 (예: MS-DOS).단일 프로세스, 다수 쓰레드: 우리가 흔히 말하는 멀티쓰레딩(예: 웹 브라우저, 워드..
1. 프로세스의 정의 및 구조1-1. 프로세스(Process)의 개념정의: 실행 중인 프로그램. 정적인 프로그램 파일이 메모리에 적재되어 동적으로 활동하는 상태를 의미.특징: PC(Program Counter), 레지스터 상태, 할당된 자원 등을 포함하는 동적 개체(Active Entity)이자 '활동의 단위'. 프로그램 vs 프로세스: 프로그램: 보조기억장치에 저장된 정적인 코드와 데이터의 묶음(Passive). 프로세스: 실행을 위해 메모리에 올라와 CPU를 사용하는 능동적인 상태(Active). 1-2. 프로세스 구성 요소(Process Elements)모든 정보는 보통 프로세스 제어 블록(PCB)이라는 데이터 구조체에 저장.식별자 (Identifier):프로세스 ID(PID): 운영체제가 프로세스..