본문 바로가기

취준기록28

[CS] 리눅스 배경지식 이해 📖 리눅스의 시작 대학에 있는 UNIX 컴퓨터를 집에서 쓰고 싶다는 생각으로 리누스 토발즈(Linus Torvalds)가 개발했다고 한다. 리눅스는 다중 사용자, 다중 작업(시분할 시스템, 멀티 태스킹)을 지원하는 유닉스(UNIX)와 유사한 운영체제를 가지고 있다. ✅ GNU 프로젝트 GNU = Gnu is Not Unix. 유닉스 운영체제를 여러 회사에서 각자 개발, 소스를 공유하지 않는 문화에 반발 리차드 스톨만 : 초기 컴퓨터 개발 공동체의 상호협력적인 문화로 돌아갈 것을 주장하며, 1985년도에 GNU 선언문을 발표 GNU 프로젝트를 지원하기 위해 자유 소프트웨어 재단(FSF) 설립과, GNU 공개 라이선스(GPL)라는 규약을 제공 ✅ GPL 라이선스와 GNU프로젝트 GPL라이선스는 쉽게 얘기하면.. 2023. 3. 3.
[CS] inode 파일 시스템 구조 이해 📖 inode 파일 시스템 구조 이해 inode 방식의 파일 시스템은 기본적으로 블록단위로 이루어져 있다. 수퍼 블록 : 파일 시스템에 대한 정보 및 파티션 정보를 가지고 있다. 아이노드 블록 : 각각의 파일에 대한 상세한 정보가 들어 있다. 데이터 블록 : 실제 데이터가 들어 있다. ✅ inode와 파일 리눅스 시스템에서 각각의 파일은 유일한 inode 고윳값과 inode 기반으로 하는 PCB 같은 자료구조에 의해 주요 정보를 관리한다. 과정을 대략 정리하면 다음과 같다. '파일이름 : inode'로 파일이름은 inode 번호와 매칭 파일 시스템에서는 inode를 기반으로 파일 액세스 inode 기반 메타 데이터 저장 💡 inode 기반 메타데이터에는 어떤 것들이 있을까? inode 기반 메타데이터 에.. 2023. 3. 1.
[CS] 가상 메모리 정리 📖 가상 메모리 개념 이해 ✅ 가상 메모리가 필요한 이유 하나의 프로세스만 실행 가능한 시스템 예를 들어 배치 처리 시스템 같은 경우에는 가상 메모리가 필요가 없다. 하지만 여러 프로세스를 동시 실행하는 시스템 같은 경우에는 메모리 용량 부족 이슈나 프로세스 메모리 영역 간에 침범 이슈가 있을 수 있기 때문에 가상메모리가 필요하다. ✅ 가상 메모리란? 메모리가 실제 메모리보다 많아 보이게 하는 기술 실제 사용하는 메모리는 작다는 점에 착안해서 고안된 기술 프로세스 간 공간 분리로, 프로세스 이슈가 전체 시스템에 영향을 주지 않을 수 있음 가상 메모리 콘셉트 프로세스는 가상 주소를 사용하고, 실제 해당 주소에서 데이터를 읽고 쓸 때만 물리 주소로 바꿔주면 된다. virtual address (가상 주소) .. 2023. 2. 27.
[CSS] CSS Attribute 선택자 정리 HTML의 Attribute 값으로 특정 요소를 선택할 수 있다. 예시 위 같은 HTML 마크업이 있다고 가정을 한다면, CSS에서는 target이라는 속성을 특정해서 선택해 스타일을 줄 수 있다. ✅ 주요 특성 [attr] 해당 attr을 갖고 있는 요소 선택 a[target] : 태그 중 target 속성을 갖고 있는 요소만 선택 [attr=value] attr의 값이 특정 value 인 요소 선택 input[type="submit"] : 태그 중 type 속성의 값이 submit인 요소만 선택 [attr~=value] attr의 값이 특정 value 가 아닌 요소 선택 [attr^=value] ^(캐럿) : value로 시작하는 요소 선택 (prefix) [attr$=value] $(달러) : va.. 2023. 2. 23.