전체 글 (127) 썸네일형 리스트형 [MySQL] MySQL 기초 컴퓨터에서 mysql의 bin 디렉토리가 존재하는 위치로 이동한 후, mysql -uroot(루트 유저로 사용) -p(패스워드 입력) CREATE DATABASE 명령어를 통해 database 생성 SHOW DATABASES; 명령어를 통해 DB 서버에 존재하는 Database들을 확인 USE 명령어를 통해 사용하려는 DB 선택 SQL - Structured - Query - Language [운영체제] File Systems 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) 메모리 -> 주소를 통해 접근하는 단위 파일 -> 이름을 통해 접근하는 단위 리눅스 같은 OS에서는 단순히 데이터 저장 외에 장치를 관리하기 위해 파일 시스템을 사용 - Operation: 생성, 읽기, 쓰기, reposition, open, close 대게의 파일 읽기 -> 파일의 시작 부분부터. 파일을 한 번 읽으면 파일의 포인터가 다음 위치로 자동 이동. 필요에 따라 파일의 시작 부분, 혹은 현재 위치 포인터 부분이 아니라 특정 부분부터 읽거나 쓰고 싶을 때 그 포인터를 설정하는 연산이 reposition(lseek) 연산 * Open: 파일의 메타 데이터를 디스크에서 메모리로 올려놓음 - File attribute(me.. [운영체제] Virtual memory(2) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) 캐싱 기법: 한정된 빠른 공간에서 데이터를 저장해서 다음에 같은 요청이 오면 느린 메모리까지 가지 않고 속도가 빠른 캐시에서 바로 처리 * cache memory: CPU와 메인 메모리 사이에 존재. * web caching: 브라우저에서 웹서버에 페이지를 요청할 때, 사전에 호출했던 페이지라면 굳이 웹서버까지 가지 않고 캐시에서 바로 가져옴 캐시 replacement에서 시간 제약: replacement에 너무 많은 시간이 소요되면 안 됨. LRU(가장 예전에 참조): 캐시 안에 n개의 데이터가 있을 때, 일단 최근에 호출된 프로세스를 MRU page로 보내면 되기 때문에 시간 복잡도가 O(1)(비교가 필요 없음) LFU(가.. [운영체제] Virtual memory(1) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) Virtual memory -> 전적으로 운영체제가 관리 Demand Paging: 해당 페이지가 요청이 됐을 때, 그때 메모리에 page를 올림 좋은 소프트웨어일수록 방어적인 소프트웨어 한정된 메모리 공간에서, 더 의미 있는(필요한) page를 올리기 위한 기법 -> 응답 시간이 좋아짐 Invalid bit: 1) 논리적 메모리에 존재하는 주소가 물리적 메모리에는 올라가 있지 않을 때 표시 2) 물리적 메모리에서는 할당하지 않는 영역이지만, 논리적 메모리에서만 할당하는 영역일 때에도 표시 address translation을 할 때 찾아간 주소가 invalid bit으로 set되어있으면 "page fault"를 날림. 이렇게.. [운영체제] Memory management(4) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) 1) CPU가 segment table의 번호인 s와, s에서 얼마나 떨어져 있는지 나타내는 offset값 d를 전달. segment table에는 물리적 메모리의 시작으로부터 얼마나 떨어져 있는지 나타내는 base와, 그 엔트리의 크기인 limit 값이 저장되어 있음. STBR(Segment Table Base Register): segment table이 메모리의 어디에 위치해있는지 나타냄(시작 위치) STLR(Segment Table Length Regist): segment table의 전체 길이(크기)인 s의 값. segment는 실제적으로 나눠지는 수가 많지 않음. table을 위한 memory 낭비는 segment.. [운영체제] Memory management(3) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) TLB를 통해 페이지 테이블 접근에 필요한 속도를 효과적으로 줄일 수 있기 때문에 다단계 페이징을 사용해도 실제로 페이지 테이블에 접근하는 데 소요되는 시간이 엄청 크지는 않음. 페이지 테이블-> 사용 가능한 메모리의 크기만큼 존재함. 때문에 사용되지 않는 페이지에 대한 주소 역시 페이지 테이블에는 존재함. 사용 가능한 페이지에 대한 주소에는 valid bit, 사용하지 않는 페이지에 대한 주소에는 invalid bit. 즉, 실제로 물리적 메모리에 올라가지 않는 논리적 주소는 invalid bit가 입력됨 Protection bit: page에 대한 접근 권한. 페이지 테이블 -> 프로세스마다 독립적으로 존재. 본인의 페이지.. [운영체제] Memory management(2) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) page table: 논리적 페이지들이 물리적 메모리의 어느 곳에 위치하는지 저장. 논리적 페이지의 주소만큼 엔트리가 존재 p: 논리적 페이지 번호 d: 해당 페이지에서 얼마나 떨어져 있는지 논리적 주소이든 물리적 주소이든, 어차피 같은 크기의 frame으로 나눠지기 때문에 d의 상대적 위치는 변하지 않음. 페이지 테이블의 용량이 크기 때문에 레지스터에 저장은 불가능. 페이지 테이블은 프로그램마다 존재하는데, 이 페이지 테이블을 메모리에 저장하게 됨. 즉, 메모리에 접근하기 위해 주소가 필요한데 주소 접근을 하려면 메모리에 접근을 해야 하기 때문에 결과적으로 메모리에 두 번 접근하게 됨. 테이블의 시작 위치를 나타내는 PTBR.. [알고리즘] Memory management(1) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) 메모리 = 주소를 통해 접근하는 매체 프로그램은 실행될 때 독자적인 메모리 주소를 가지게 됨. 이게 Logical address(virtual address) 메모리에 실제 올라가는 위치를 Physical address 물리적인 메모리는 0번부터 통으로 관리. 아랫부분에는 커널, 상위 부분에는 여러 프로그램들이 섞여서 존재 프로그램이 실제로 물리적인 메모리의 어떤 주소에 위치할지를 결정하는 것이 주소 바인딩 * Symbolic Address: 프로그래머가 숫자로 된 주소를 사용하지 않고 함수, 변수 등을 이용해서 프로그램을 만들고 또 메모리를 이용하는 것. 이게 컴파일이 되면 숫자 주소인 Logical address가 됨. -.. 이전 1 2 3 4 5 ··· 16 다음