본문 바로가기

Computer Science

(35)
반효경 운영체제 - 10. Disk Management & Scheduling Disk Management 디스크에서 저장하는 최소 단위 - 섹터 디스크 외부에서 관리하는 단위 - logical block Disk structure logical block 디스크 외부에서 보는 디스크의 단위 정보 저장 공간들 주소를 가진 1차원 배열처럼 취급 정보를 전송하는 최소 단위 Sector Logical block이 물리적인 디스크에 매핑된 위치 Sector 0은 최외곽 실린더의 첫 트랙에 있는 첫 번째 섹터이다. 부팅과 관련된 정보가 저장 Disk Management physhical formatting(low-level formatting) 디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터들로 나누는 과정 각 섹터는 header + 실제 데이터 + trailer로 구성 header와 trai..
SOP, CORS - CORS 이슈 해결하기 이번 포스팅에서는 웹 애플리케이션의 보안의 핵심 개념인 SOP(Same Origin Policy)와 CORS(Cross-Origin Resource Sharing)에 대해서 살펴보고, . 이 글에서는 SOP와 CORS에 대해 알아보고, 이들이 웹 보안에 어떻게 기여하는지 살펴보겠습니다. Same Origin Policy (SOP)란? SOP는 웹 보안을 위한 가장 기본적인 정책 중 하나입니다. SOP는 브라우저에서 실행되는 스크립트 언어를 통해 동작하며, 웹 페이지의 자원에 접근하는 규칙을 정의합니다. SOP는 동일 출처(Origin)에서 로드된 문서나 스크립트만이 서로 상호작용할 수 있도록 제한합니다. Origin이란 아래 그림처럼, 프로토콜, 호스트, 포트로 구성되며, Origin이 동일하지 않으면 ..
반효경 운영체제 - 9. File System File and File System file 연관된 정보의 집합 - A named collection of related information 일반적으로 비휘발성의 보조기억장치에 저장 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해줌 Operation create, read, write, reposition(파일 포인터의 위치 변경), delete, open(파일의 메타데이터를 메모리에 올려놓는 작업), close File attribute(file metadata) 파일 자체의 내용이 아닌 파일을 관리하기 위한 각종 정보들 파일 이름, 유형, 저장된 위치, 파일 사이즈 접근 권한 (읽기/쓰기/실행), 시간 (생성/변경/사용), 소유자 등 File System 운영체제..
반효경 운영체제 - 8. 가상 메모리 Demand Paging 실제로 필요할 때 page를 메모리에 올리는 것 I/O 양의 감소 Memory 사용량 감소 빠른 응답 시간 더 많은 사용자 수용 Valid/Invalid bit의 사용 Invalid의 의미 사용되지 않는 주소 영역인 경우 페이지가 물리적 메모리에 없는 경우 처음에는 모든 page entry가 invalid로 초기화 address translation 시에 invalid bit이 set되어 있으면 → “Page Fault” 발생 Page fault trap이 발생하여 운영체제로 권한이 넘어간다. Page Fault invalid page를 접근하면 MMU가 trap을 발생시킨다.(page fault trap) Kernel mode로 들어가서 page fault handler가 in..
반효경 운영체제 - 7. 메모리 관리 Logical vs Physical Address Logical Address(Virtual address) 프로세스마다 독립적으로 가지는 주소 공간 각 프로세스마다 0번지부터 시작 CPU가 보는 주소는 logical address임 Physical address 메모리에 실제 올라가는 위치 주소 바인딩 : 주소를 결정하는 것 Symbolic address(변수 이름 등) → Logical Address → Physical Address 주소 바인딩 Compile time binding 물리적 메모리 주소가 컴파일 시 알려짐 시작 위치 변경 시 재컴파일 컴파일러는 절대 코드(absolute code) 생성 실행 파일에 지정된 주소로 메모리에 load해야하므로 매우 비효율적으로 사용하지 않는다. Load ..
반효경 운영체제 - 6. DeadLock 이 포스팅은 반효경 교수님의 운영체제 강의를 수강 후 내용을 정리한 글입니다. Deadlock Deadlock이란? 일련의 프로세스들이 서로가 가진 자원(Resource)을 기다리며 block된 상태이다. Resource 하드웨어 소프트웨어 등을 포함하는 개념 ex) I/O device, CPU cycle, memory, semaphore 등 프로세스가 자원을 사용하는 절차 Request, Allocate, Use, Release Deadlock 발생의 4가지 조건 Mutual Exclusion(상호 배제) 매 순간 하나의 프로세스만이 자원을 사용할 수 있음 No preemption(비선점) 프로세스는 자원을 스스로 내어놓을 뿐 강제로 빼앗기지 않음 Hold and wait(보유대기) 자원을 가진 프로세..
반효경 운영체제 - 5. Process Synchronization 더보기 반효경 교수님의 운영체제 강의를 듣고 내용을 정리한 글입니다. Process Synchronization이란? 데이터의 접근 - 연산 - 결과 저장 과정에 일어나는 순서에 따른 발생할 수 있는 문제, 다시 말하면 Storage box를 여러 개의 execution box가 공유하기 때문에 발생할 수 있는 문제라고 할 수 있다. Race Condition 의미 : 여러 주체가 동시에 하나의 객체에 접근하려고 할 때 원치않는 결과를 얻을 수 있다. 발생 : CPU - Memory 관계, 컴퓨터 내부 - 보조저장장치(디스크), 프로세스 - 프로세스의 주소 공간 등 일반적으로 프로세스는 자신의 주소 공간을 가지므로 문제가 되지 않지만, 시스템콜을 통해 공유 메모리를 사용하는 프로세스의 경우나, 커널 내부..
Socket의 연결 종료와 Timeout 설정하기 - setSoTimeOut Socket 통신에 대해 공부하다가 궁금한 점을 기록한 내용입니다. 틀린 내용이 있다면 편하게 지적해주세요. 스프링에 대해서 학습하다가 간단히 아래와 같은 소켓 통신을 하는 서버 모델을 만들었습니다. 외부로부터 개방되어있는 listen socket은 8080포트로 들어오는 연결을 받아 connection 소켓에 할당합니다. 할당된 소켓은 새로운 스레드에 할당되어 클라이언트와 비동기적으로 통신하고, listenSocket은 다시 새로운 연결을 기다립니다. public class WebServer { public static void main(String args[]) throws Exception { int port = 8080; try (ServerSocket listenSocket = new Serve..