
용어정리 프로세스 실행중인 프로그램을 의미한다. 메모리에 정보가 올라와 CPU가 실행 가능한 프로그램이 되어 OS가 관리하는 상태이다. 스레드 프로그램의 실행 단위이다. 프로세스에서 실제 작업을 수행하는 단위이다. (기본적으로 프로세스가 있다는 것은 1개 이상의 커널레벨 스레드를 가진다는 것과 동일하다.) 스레드는 같은 프로그램 내의 code, data, heap 영역 등 주소공간의 일부를 공유한다. PC(Program Counter), 레지스터셋, stack 영역을 독자적으로 가진다. 따라서 context switch가 일어날 때, 교체되는 자원이 적다. OS가 존재를 알고 관리하는 커널 레벨 스레드와 OS가 존재를 모르고 프로세스가 자체 관리하는 사용자 레벨 스레드로 나뉜다. Task 프로세스를 추상..

1. 운영체제 입장에서 보면 프로세스도 스레드의 일종이 아닐까? --> NO 헷갈렸던 부분이 커널 레벨 스레드라는 부분을 읽고 프로세스도 스레드의 일종인가?라는 생각을 하게 됐었다. 스레드는 커널 레벨 스레드, 사용자 레벨 스레드로 나눌 수 있다. 커널 레벨 스레드는 OS가 스레드의 존재를 알고 직접 관리하는 스레드이고, 사용자 레벨 스레드는 OS가 스레드의 존재를 모르고 프로세스 자체에서 관리하는 스레드이다. 프로세스가 생성되면 적어도 1개 이상의 커널 레벨 스레드가 생성된다. 각종 설명을 듣고 내가 다시 이해한 부분은 다음과 같다. 커널 레벨 스레드는 프로세스가 커널과 소통하는 창구와 비슷하다고 이해했다. 커널 레벨 스레드가 유효성 있게 사용되는 환경은 멀티코어 환경에서다. CPU는 한 번에 하나의 ..
목록 운영체제 시리즈 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
- 회고
- javascript
- 마스터즈코스
- 글쓰기미션
- JS
- 운영체제
- 우아한테크코스
- Spring
- CS
- 네트워크
- DB
- 코드스쿼드
- OS
- TIL
- 우테코수업
- java
- 카카오
- 내부코드
- TCP/IP
- React
- JPA
- 알고리즘
- 학습로그
- Transaction
- 객체지향
- 모의면접준비
- 개발공부일지
- python
- 월간회고
- 인증
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |