
데이터는 어디에 저장되는가? => 바로 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 등) 프로그램 카..
🤓HTTP란? HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜 프로토콜: 컴퓨터 내부 or 컴퓨터 상에서 데이터 교환 방식을 정의하는 규칙 체계 🔅 HTTP 문제점 HTTP는 평문 통신이기 때문에 중간에서 도청이 가능하다. 통신 자체를 암호화(SSL or TLS) 라는 다른 프로토콜을 조합함으로써 HTTP 통신 내용을 암호화할 수 있다. 콘텐츠를 암호화 말 그대로 HTTP를 사용해서 운반하는 내용인 콘첸츠만 암호화하는 것이다. 암호화해서 전송하면 받은 측에서는 그 암호를 해독하여 출력하는 처리가 필요하다. TCP/IP 구조의 통신은 모두 통신 경로 상에서 엿볼 수 있다. 패킷을 수집하는 것만으로 도청할 수 있다. 따라서 암호화하여 통신해야 한다. 통신 상대를 확인하지 않기 때문에 위장이..

오늘은 4계층 프로토콜 중 하나인 UDP 프로토콜에 대해서 알아보자 🤗 UDP (User Datagram Protocol) 프로토콜 전송 방식이 너무 단순해서 서비스의 신뢰성이 낮다. 뎅터그램 도착 순서가 바뀌거나 중복, 누락되기도 한다. 일반적으로 오류의 검사와 수정이 필요 없는 프로그램에서 수행할 것으로 가정한다. UDP 구조 어떤 프로그램이 UDP프로토콜을 사용할까? DNS 서버 도메인을 물어보면 IP를 알려준다. www.naver.com을 입력하게 되면, 이 도메인 주소의 ip주소를 알려주는 것이 DNS서버이다. 이 때 UDP 프로토콜을 사용해서 알려주게 된다. tftp 서버 파일전송 프로그램 UDP로 파일을 공유한다. RIP 프로토콜 라우팅 정보를 공유한다.
- Total
- Today
- Yesterday
- BFS
- cs공부
- 완전탐색
- dfs
- allauth
- 파이썬
- 소셜로그인
- 5397
- Network
- DP
- SQL
- OS
- Python
- 동적프로그래밍
- 운영체제
- 4계층
- IPv4
- 인텔리제이
- SQLD
- intellij
- 알고리즘
- 프로그래머스
- 코테
- 네트워크
- 다대다매핑
- 코딩테스트
- 백준
- 브루트포스
- cs
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |