클린코드 책을 읽다가 동시성 전통적인 문제 3가지에 대한 내용이 나와서 다시 정리하게 되었다. 반효경 교수님의 운영체제 강의 내용을 바탕으로 간략하게 다시 정리해본다. 동시성 해결 방식 1 → 2 → 3 으로 갈수록 추상화된 방식으로 프로그래머가 사용하기 편함 1. Test & Set 공유데이터에 접근 및 변경을 하드웨어적으로 atomic(원자적) 하게 실행하개 해줌 2. Semaphore TestAndSet을 추상화한 방식 추상자료형 (내부 구현은 신경쓰지 않고, object, operation 으로 사용) object: 정수(자원의 갯수), S operation: P(자원획득과정), V(자원반납과정) 예시: P(5) → 자원의 갯수: 5, 자원 획득과정 P연산 V연산 사이에 자원을 사용하는 코드가 들..
목록 운영체제 시리즈 1.Intro 운영체제 시리즈 2.시스템 구조 운영체제 시리즈 3. 프로그램 실행 운영체제 시리즈 4. 프로세스(Process) 운영체제 시리즈 5. 프로세스 관리(Process Management) 운영체제 시리즈 6. CPU Scheduling 운영체제 시리즈 7. Synchronization-1 운영체제 시리즈 8. Synchronization -2 운영체제 시리즈 9. Deadlock 운영체제 시리즈 10. Memory management -1 운영체제 시리즈 11. Memory management -2 운영체제 시리즈 12. Virtual memory 운영체제 시리즈 13. File Systems 운영체제 시리즈 14. File System Implementation 운영체..
Web caching 기하급수적으로 늘어나는 인터넷 정보에 신속하게 접근할 수 있게 하는 주요 기술이다. 웹 캐싱이란 웹 사용자에 의해 빈번히 요청되는 데이터를 사용자와 지리적으로 가까운 웹캐시 서버에 보관해 빠른 서비스를 가능하게 하는 기법이다. 컨텐츠 전송 네크워크 (CDN: Contents Delivery Network) 서비스의 활성화로 거리에 따른 캐싱 기법이 필요하게 된 것이다. 웹 캐싱 기법은 웹 캐싱만을 담당하는 프락시서버에 의해 이루어지고 있다. 서비스 지연시간을 줄이고, 네트워크 대역폭 절약, 웹 서버의 부하를 줄이는 역할을 하고 있다. 웹 서버쪽에서는 역방향 프락시 캐시가 사용된다. 웹 캐싱에서는 웹 캐시 교체 알고리즘과 데이터의 일관성 유지 기법이 필요하다. 웹 캐시 교체 알고리즘 ..
Disk Structure Logical block : 디스크 외부에서는 디스크는 일정한 크기의 정보저장공간을 가진 1차원 배열로 취급한다. 논리블럭 단위로 저장되고 전송된다. Sector : 논리블록이 저장되는 디스크 내부의 물리적 위치를 섹터라고 하며 디스크 관리의 최소단위이다. 논리블럭 하나가 섹터 하나와 1:1로 매핑되어 있다. sector 0는 초외곽 실린더의 첫 트랙에 있는 첫번째 섹터이다. platter : 하나의 디스크에서 원판은 하나 또는 여러개 일 수 있다. track : 각 원판은 track으로 구성된다. cylinder : 상대적 위치가 동일한 트랙의 집합을 의미한다. arm : 데이터를 읽고 쓰기 위해서 arm이 해당 섹터가 위치한 실린더로 이동한 뒤 원판이 회전한다. 회전하면서 ..
Allocation of File Data in Disk 디스크에 파일 정보를 어떻게 할당할 것인가를 결정한다. Contiguous Allocation(연속할당) 연속해서 할당하는 방법이다. [장점] - Fast IO : 연속적으로 할당되어 있기 때문에 한 번의 seek 또는 rotation으로 많은 내용을 빠르게 찾을 수 있다. 많은 바이트 transfer용도, realtime file 용도, swapping용도(스와핑은 공간 효율성보다는 속도 효율성이 중요하다) 등으로 사용된다. - Direct access(Random access)가 가능하다. [단점] - 외부조각이 발생한다. - file의 크기를 증가시키는 것이 어렵다. 파일이 커질 것을 대비하여 미리 확보해 놓으면 내부조각이 발생한다. Link..
File File이란 관련된 정보의 모음(a named collection of related information)이다. 비휘발성 보조기억장치(디스크)에 저장된다. 저장장치를 file이라는 논리적 단위로 볼 수 있게 해준다. 연산에는 create, read, write, reposition, delete, open, close 등이 있다. open의 역할은 파일의 metadata를 메모리에 올리는 것이다. File attribute (metadata) 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보를 뜻한다. 저장위치, 파일의 이름 등의 정보가 있다. Directory 파일의 메타데이터 중 일부를 보관하는 일종의 파일이다. 즉, 디렉토리(폴더)도 파일이다. 연산은 search for a fi..
운영체제가 프로세스에게 어떤 식으로 메모리를 할당하는지 알아본다. CPU가 바라보는 메모리 영역을 가상 메모리 영역이라고 한다. 각 프로세스마다 독자적인 0번지부터 시작하는 가상 메모리 공간을 가지게 된다. (메모리 공간이 4기가라면 모든 프로세스는 본인이 4기가를 모두 사용하고 있다고 생각한다.) 메모리를 적재하는 단위에 따라 요구 페이징(demand paging) 방식과 요구 세그먼테이션(demand segmentation)방식으로 나뉘지만 세부적 구현에서는 요구 페이징 기법만이 사용된다. 요구 페이징(Demand paging) 실제로 필요할 때 페이지를 물리적 메모리에 올리는 기법이다. 메모리 사용량이 감소하고, 입출력 오버헤드도 줄어든다. 따라서 빠른 응답시간을 기대할 수 있으며 더 많은 프로세스..
- Total
- Today
- Yesterday
- React
- 모의면접준비
- 글쓰기미션
- java
- 알고리즘
- 코드스쿼드
- OS
- 내부코드
- Transaction
- 인증
- 학습로그
- JS
- javascript
- CS
- Spring
- 우테코수업
- JPA
- 마스터즈코스
- 객체지향
- python
- 운영체제
- 월간회고
- 회고
- TCP/IP
- DB
- 우아한테크코스
- 카카오
- 네트워크
- 개발공부일지
- TIL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |