
데이터는 어디에 저장되는가? => 바로 Disk에 저장된다. 오늘은 데이터가 저장되는 Disk에 대해 알아보자 🤗 Disk pack (원판모양의 디스크들의 집합) 데이터 영구 저장 장치이다. => 비휘발성 구성 Sector: 데이터 저장/판독의 물리적 단위이다. Track: Platter 한 면의 중심에서 같은 거리에 있는 sector들의 집합 Cylinder: 같은 반지름을 갖는 track의 집합 Platter: 양면에 자성 물질을 입힌 원형 금속판이다. 데이터의 기록/판독이 가능하다. Surface: Platter의 윗 면과 아랫면 Disk drive Disk pack에 데이터를 기록하거나 판독할 수 있도록 구성된 장치이다. 구성 Head: 디스크 표면에 데이터를 기록/판독한다. Arm: Head를 ..

운영체제의 핵심인 가상메모리에 대해서 알아보자. 가상메모리란? Non-continuous allocation 사용자 프로그램을 여러 개의 block으로 분할하여 실행 시 필요한 block들만 메모리에 적재한다. => 나머지 block들은 swap device에 존재한다. Address Mapping Continuous allocation 상대주소: 프로그램 시작 주소를 0으로 가정한 주소 재배치: 메모리 할당 후, 할당된 주소에 따라 상대 주소들을 조정하는 작업 Non-continuous allocation 가상주소 == 상대주소 논리주소 연속된 메모리 할당을 가정한 주소이다. 실제주소 : 실제 메모리에 적재된 주소 가상주소 => 실제주소로 바꿔주는 것 사용자/프로세스는 실행 프로그램 전체가 메모리에 연..

다음은 운영체제에서 중요한 부분인 메모리 관리 기법이다. 당장 어딘가에 써먹을 수 있는 지식은 아니지만, 나중에 성능을 고려해야 하는 상황이 생겼을 때 사용할 수 있을 것 같다. ㅎㅎ 메모리 종류 메모리의 종류로는 크게 레지스터, 캐시, 메인메모리, 보조기억장치가 있다. 레지스터 > 캐시 > 메인메모리 > 보조기억장치 순으로 속도가 빠르며 가격 또한 비싸다. 레지스터와 캐시는 HW(CPU) 에서 관리하고, 메인메모리와 보조기억장치는 SW(OS)에서 관리된다. 계층구조 Block 보조기억장치와 주기억장치 사이의 데이터 전송 단위(1~4KB) 보조기억장치에서 1bit만 읽는다고 해도 주기억장치에는 block단위로 올라온다. Word 주기억장치와 레지스터 사이의 데이터 전송단위(16~64bit) 32bit, ..
프로세스 동기화란 ? 하나의 공유자원에 여러개의 프로세스가 접근했을 때 데이터의 일관성이 깨지는 것(Race Condition) 을 방지하기 위해서 제어하기 위한 규칙을 프로세스 동기화라고 한다. Race Condition (경쟁 상태) 공유 자원에 대해 여러 프로세스가 동시에 접근을 시도할 때, 데이터의 일관성이 해치는 결과가 발생하는 상태. Critical Section(임계영역) 동시에 접근해서는 안되는 공유 자원에 동시에 접근하는 코드 영역을 Critical Section이라고 한다. Critical Section Problem Critical Section으로 지정되어야 할 코드 영역이 Critical Section으로 지정되지 않았을 때 발생할 수 있는 문제. Requirements(Criti..
CPU 스케줄러란? 프로세스가 생성된 후 종료될 때까지 모든 상태 변화를 조정하는 일을 한다. 모든 프로세스가 공평하게 작업할 수 있도록 하는 것이 본 목적이다. 하지만, 안정성과 효율성을 높이기 위해서 공평성의 일부분을 희생하는 경우도 있다. 스케줄링이 추구하는 목적 공평성: 모든 프로세스가 자원을 공평하게 배정받아야 한다. 특정 프로세스가 배제되어서는 안된다. 효율성: 시스템 자원을 늘리는 시간 없이 스케줄링 해야한다. 안정성: 우선순위를 사용하여 중요한 프로세스가 먼저 처리되도록 해야한다. 반응 시간 보장: 응답이 없는 경우, 사용자는 시스템이 멈춘 것으로 가정하기 때문에 시스템은 적절한 시간 안에 프로세스의 요구에 반응해야 한다. 무한 연기 방지: 특정 프로세스의 작업이 무한이 연기되면 안된다. ..
오늘은 프로세스와 스레드의 차이를 알아보자 🤗 프로세스(Process) 실행 중인 프로그램 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 것 운영체제로부터 주소공간, 파일, 메모리 등을 할당받음 프로세스 제어 블록(PCB) 특정 프로세스에 대한 중요한 정보를 저장 하고 있는 운영체제의 자료구조 프로세스는 CPU를 할당받아서 작업을 처리하다가도 프로세스 전환이 발생하면, 진행하던 작업을 저장하고 CPU를 반환하게 되는데, 이 때 작업 진행 상황을 PCB에 저장한다. (다시 CPU를 할당받게 되면 PCB에 저장되어있던 내용을 불러와서 종료됐던 시점부터 작업 수행) PCB에 저장되는 정보 PID state(new, ready, running, waiting, terminated 등) 프로그램 카..
- Total
- Today
- Yesterday
- dfs
- 운영체제
- 완전탐색
- C++
- 코딩테스트
- allauth
- Python
- OS
- 동적프로그래밍
- cs공부
- BFS
- 소셜로그인
- 백준
- 4계층
- 알고리즘
- SQL
- 다대다매핑
- 네트워크
- DP
- Network
- IPv4
- 코테
- 프로그래머스
- 파이썬
- 브루트포스
- SQLD
- 인텔리제이
- 5397
- cs
- intellij
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |