일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터분석
- rnn
- 오블완
- html/css
- JDBC
- JSP/Servlet
- 순환신경망
- CSS
- 중학수학
- 정보처리기사실기
- 컴퓨터구조
- 자바스크립트심화
- 연습문제
- 자바
- SQL
- 컴퓨터비전
- 상속
- 파이썬
- c언어
- JSP
- 딥러닝
- 디버깅
- 자바스크립트
- 중학1-1
- 데이터베이스
- 머신러닝
- 혼공머신
- 자바 실습
- 개발일기
- 정보처리기사필기
- Today
- Total
목록알고리즘 및 자료 관리/컴퓨터 구조 & 운영체제 (55)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
운영체제 마지막 공부가 될 것 같다. 이어서 파일 시스템 학습을 진행해보겠다. 파일 시스템 살펴보기다양한 파일 시스템이 있지만 여러 전공서에서 공통으로 소개하는 파일 시스템은 크게 두 가지이다. 하나는 USB 메모리, SD 카드 등의 저용량 저장 장치에서 사용되는 FAT 파일 시스템이고, 다른 하나는 유닉스 계열 운영체제이서 사용되는 유닉스 파일 시스템이다. 이 그림은 연결 할당을 단순화한 그림이다. 가령 파일 a가 네 개의 블록으로 이루어져 있고 a를 구성하는 데이터는 4, 8, 3, 5번 블록에 걸쳐 저장되었다고 해보자. 4번 블록이 8번을, 8번 블록이 3번을 가리키고 있다. 이런 방식은 임의 접근의 성능이 좋지 못하고, 이들 중 하나라도 문제가 발생하면 이후의 블록에는 접근할 수 없다.하지만 ..
드디어 마지막 단원이다. 여기까지 오느라 정말 수고가 많았다. 오늘은 그런 내게 잘했다고 말해주고 싶었다. 그럼 바로 이어서 공부를 시작해볼 것이다. 앞서 학습한 파일과 디렉터리가 보조기억장치에 저장되며, 파일 시스템은 이들이 어떻게 접근하는지 학습해보겠다. 파일 시스템에는 다양한 종류가 있고, 하나의 컴퓨터에서 여러 파일 시스템을 사용할 수 있다. 파티셔닝과 포매팅 커다란 서랍 안에 마구잡이로 물건들을 보관하면 필요한 물건을 정돈하는 게 쉽지 않다. 하지만 서랍 안에 칸막이를 설치하여 영역을 나무면 물건들을 정리하기가 조금 더 수월하다. 이렇게 칸막이로 영역을 나누는 작업이 파티셔닝이다. 파티셔닝 작업을 통해 나누어진 영역 하나하나를 파티션이라고 한다. 검색창에 '하드 디스크 파티션 만들기 및 포맷'을..
드디어 마지막 장이다. 언제 이 책을 끝마치나 했는데 계속하다 보면 이런 날이 오는 것 같다. 그것도 5일 만에 말이다. 사실 4일 만에 다 끝내고 싶었으나 그건 무리였다. 5일이라는 시간 동안 컴퓨터 구조와 운영체제에 대해 정말 많은 것들을 배웠다. 이제 2~3개의 포스트만 기록하면 다 마칠 수 있을 것 같다. 파일 시스템은 파일과 디렉터리를 관리한다. 파일 시스템에 관해 본격적인 학습에 앞서 파일 시스템이 관리하는 파일과 디레터리에 대해 학습해보겠다. 이번 절에서는 파일 시스템을 본격적으로 학습하기에 앞서 파일과 디렉터리에 대해 학습해 보겠다. 파일우리가 일상적으로 컴퓨터를 이용할 때 파일 단위로 이용한다. 파일의 형식, 위치. 크기 등 파일과 관련된 다양한 정보들이 나타난다. 이러한 정보가..
다시 힘을 내서 남은 1시간 동안 공부를 진행해보려고 한다. 이 내용은 가상 메모리 두 번째 장에 추가 내용으로 실려있었던 내용이었다. 혼자서 공부를 해보려다 너무 어려워서 포기했던 부분이었다. 마침 강의가 있으니 들으면서 정리해 볼 것이다. 페이징의 이점 - 쓰기 시 복사외부 단편화 문제를 해결한다는 점 이외에도 페이징이 제공하는 이점은 다양하다. 대표적인 것이 프로세스 간에 페이지를 공유할 수 있다는 점이다. 대표적인 예시로 쓰기 복사가 있다. 계층적 페이징 여러 단계의 페이지를 둔다는 점에서 다단계 페이지 테이블 기법이라고도 부른다. 프로세스의 페이지 테이블을 여러 개의 페이지로 자르고, 바깥쪽 페이지 테이블을 하나 더 두어 잘린 페이지의 테이블의 페이지들을 가리키게 하는 방식..
14장의 마지막 장인데 이 내용도 만만치 않은 주제이다. 앞선 절에서 페이징의 기본적인 개념에 대해 학습했다면 이번 절에서는 운영체제가 수많은 페이지를 어떻게 관리하는지 학습해 볼 것이다. 이번 절에서는 요구 페이징의 개념과 페이지 교체 알고리즘, 그리고 프레임 할당에 대해 학습하며 운영체제가 이러한 기능을 어떻게 수행하는지 알아보겠다. 요구 페이징 아무런 페이지도 메모리에 적재하지 않은 채 무작정 실행부터 할 수도 있다. 이 경우 프로세스의 첫 명령어를 실행하는 순간부터 페이지 폴트가 계속 발생하게 되고, 실행에 필요한 페이지가 어느 정도 적재된 이후부터는 페이지 폴트 발생 빈도가 떨어진다. 페이지 교체 알고리즘 여기서 연속된 페이지를 생략한 페이지열이 페이지 참조열이다. 연속된 페이지를 생략하는 이유..
이어서 페이징 기법을 학습해볼 것이다. 4교시가 얼마 남지 않았으니 이 단원 학습을 빨리 마치고 싶다. 페이징에서의 주소 변환 페이지 번호는 접근하고자 하는 페이지 번호이다. 페이지 테이블에서 해당 페이지 번호를 찾으면 페이지가 어떤 프레임에 할당되었는지 알 수 있다. 변위는 접근하려는 주소가 프레임의 시작 번지로부터 얼만큼 떨어져 있는지를 알기 위한 정보이다. 논리 주소의 변위와 물리 주소의 변위 값은 같다. 가령 CPU와 페이지 테이블, 메모리 상태가 현재 아래와 같다고 해보자. 하나의 페이지/프레임이 네 개의 주소로 구성되어 있는 간단한 상황을 가정했다.CPU가 접근하게 될 물리 주소는 어디일까? 5번 페이지는 현재 1번 프레임에 있다. 그렇다면 CPU는 1번 프레임, 변위 2에 접근하..
조금 쉬었으니 다시 공부를 시작해 볼 것이다. 페이징은 현대 운영체제 메모리 관리 기법에 있어 가장 중요한 개념이라 해도 과언이 아닐 만큼 중요하다. 페이징이 왜 생겨나게 되었으며, 어떤 원리도 작동하는지 이해해 볼 것이다. 4GB 메모리가 설치된 컴퓨터로는 4GB 이상의 프로그램을 실행할 수 없다. 페이징 기법을 이용하면 물리 메모리보다 큰 프로세스를 실행할 수 있을 뿐만 아니라 외부 단편화 문제도 해결할 수 있다. 페이징이란 외부 단편화는 발생하지 않는다. 프로세스를 이루는 페이지 중 실행에 필요한 일부 페이지만을 메모리에 적재하고, 당장 실행에 필요하지 않은 페이지들은 보조기억장치에 남겨둘 수 있다. 페이지 테이블 CPU로 하여금 페이지 번호만 보고 해당 페이지에 ..
수학 공부도 마쳤고 이제 아침 공부가 3시간도 남지 않았지만 가능하면 14장 학습을 마쳐보려고 한다. 14장은 가상 메모리 단원인데 3개의 절로 이루어져 분량이 정말 많다. 차근차근 학습해 보기로 하자. 이제 고지가 얼마 남지 않았다.운영체제의 가장 핵심적인 역할을 꼽으라 한다면 프로세스 관리와 메모리 관리라 할 정도로 중요한 영역이다. 지금까지 운영체제의 프로세스 관리에 대해 알아보았다면 이번에는 큰 주제를 전환하여 운영체제의 메모리 관리 기법에 대해 알아볼 것이다. 이번 절에서는 기본적인 메모리 관리 기법인 스와핑과 메모리에 프로세스를 할당하는 방식, 그리고 연속 메모리 할당의 부작용인 외부 단편화에 대해 학습해보겠다. 지금까지는 메모리 내에 프로세스들이 연속적으로 배치되는 상황을 가정했다. 위의..
오늘의 마지막 새벽 공부를 시작해본다. 어제 오후에 낮잠을 많이 잔 관계로 오후 5시 반부터 새벽 5시가 넘도록 12시간 연속 공부를 하는 중이다. 중간에 저녁을 먹느라 30분 정도 쉬었을까 나머지는 모두 열공 중이다.앞선 포스트에서 교착 상태가 어떨 때 발생하는지에 대해서 학습했다. 운영체제는 교착 상태를 회피할 수도, 예방할 수도, 검출 후 회복할 수도 있다. 이러한 각각의 해결 방법에 대해 알아보겠다. 운영체제는 애초에 교착상태가 일어나지 않도록 교착 상태 발생 조건에 부합하지 않게 자원을 분배하여 교착 상태를 예방할 수 있다. 교착 상태가 발생하지 않을 정도로 조금씩 자원을 할당하다가 교착 상태의 위험이 있다면 자원을 할당하지 않는 방식으로 교착 상태를 회피할 수도 있다. 그리고 자원을 제약 없..
13장 교착상태에 대해서 공부해보려고 한다. 벌써 새벽 4시가 조금 넘었다. 이 단원만 마치고 오늘 새벽에는 어제 못한 수학 공부도 하고 아침 운동도 하려고 한다. 그러러면 2시간 안에 이 공부를 다 마쳐야 한다. 동시에 실행되는 여러 프로세스는 각자가 필요한 자원을 할당받아 실행된다. 그 과정에서 때로는 프로세스들이 꼼짝도 못하고 정지해 버리는 교착 상태가 발생할 수 있다. 이번 장에서는 교착 상태란 무엇인지, 운영체제는 교착 상태를 어떻게 해결하는지에 대해 알아보겠다. 교착 상태를 해결하는 것 또한 운영체제가 맡는 중요한 임무 중 하나이다. 교착 상태란 무엇이며, 그를 표현하는 자원 할당 그래프와 교착 상태의 발생 원인을 예시를 통해 학습해볼 것이다. 이렇게 교통이 마비되어 버리면 복구되기까지 오랜 ..