내가 만드는 개발자 교안/Computer Science (16) 썸네일형 리스트형 Every CS - 운영체제(OS) 05 - 파일 시스템 파일 시스템보저기억장치의 정보를 파일 및 디렉터리의 형태로 저장하고 관리할 수 있도록 하는 운영체제 내부 프로그램파일과 디렉터리파일파일의 구성 파일의 이름, 파일을 실행하기 위한 정보, 속성(메타데이터, 파일과 관련한 부가 정보)파일을 다루는 모든 작업은 운영체제에 의해 이루어진다. 응용 프로그램은 임의로 파일을 할당받아 조작하고 저장할 수 없고, 파일을 다루는 시스템 콜을 이용해야 한다.파일 디스크립터프로세스가 파일을 식별할 수 있는 정보open()의 반환값 및 write()의 인자가 된다.디렉터리 (폴더)관리 방식 : 트리 구조 디렉터리루트 디렉터리와 서브 디렉터리로 구성되며, 슬래시(/)로 구분되는 경로를 사용하여 표시한다.경로 : 디렉터리 정보를 활용해 파일 위치를 특정하는 정보디렉터리 엔트리 :.. Every CS - 운영체제(OS) 04 - 가상 메모리 가상 메모리서론CPU와 프로세스들이 메모리의 몇 번지에 무엇이 저장되어있는지 알고 있지 않다.CPU의 저장공간이 메모리의 저장공간보다 훨씬 작기 때문이다.물리 주소와 논리 주소물리 주소 : 메모리의 하드웨어 상 실제 주소논리 주소 : 프로세스마다 부여되는 0번지부터 시작하는 주소 체계 ※ 논리 주소는 중복이 발생될 수 있음논리 주소는 가상의 주소이기 때문에 실제 주소인 하드웨어 상의 메모리와 상호작용하기 위해서는 반드시 논리 주소와 물리 주소간의 변환이 이루어져야 한다.이를 위해서 존재하는 하드웨어를 메모리 관리 장치(MMU - Memory Management Unit)가 있다.스와핑과 연속 메모리 할당스와핑메모리에 적재된 프로세스 중 실행되지 않는 프로세스가 있을 수 있다.이러한 프로세스들을 임시.. Every CS - 운영체제(OS) 03 - CPU 스케줄링 CPU 스케줄링개념 정리CPU 스케줄링 : 다양한 프로세스와 스레드에 CPU의 사용을 배분하는 방법CPU 스케줄링 알고리즘 : CPU 스케줄링의 절차CPU 스케줄러 : CPU 스케줄링 알고리즘을 결정하고 수행하는 운영체제의 일부분1. CPU 스케줄링우선순위모든 프로세스는 CPU의 자원을 필요로 하기 때문에 운영체제는 공정하고 합리적인 방법으로 CPU의 자원을 프로세스에 할당해야 한다.따라서 운영체제는 프로세스별 우선순위를 판단하여 PCB에 명시하고, 우선순위가 높은 프로세스에 CPU의 자원을 더 빨리, 더 많이 할당한다.윈도우의 Process Explorer에서 소프트웨어의 Prioriy 항목을 확인할 수 있다.우선순위 할당 방법1. CPU 활용률 : 전체 CPU의 가동 시간 중 작업을 처리하는 시간의 .. Every CS - 운영체제(OS) 02 - 프로세스와 스레드 운영체제 02 - 프로세스와 스레드프로세스의 유형 : 포그라운드 프로세스, 백그라운드 프로세스프로세스를 구성하는 메모리 : 커널 영역, 사용자 영역(스택 영역, 힙 영역, 데이터 영역, 코드 영역)1. 사용자 영역프로그램 실행 중 크기가 변하지 않는 정적 할당 영역 : 코드 영역, 데이터 영역1. 코드 영역 실행 가능한 명령어가 저장되는 공간 CPU가 읽고 실행할 명령어가 있는 read-only 공간2. 데이터 영역 프로그램이 실행되는 동안 유지할 데이터가 저장되는 공간 주로 정적 변수, 전역 변수가 저장된다.크기가 변할 수 있는 동적 할당 영역 : 힙 영역, 스택 영역1. 힙 영역프로그램을 만드는 사용자가 직접 할당 가능한 저장 공간프로그램 실행 중 자유롭게 사용 가능함.메모리를 .. Every CS - 운영체제(OS) 01 - 운영체제의 역할 및 실행 운영체제 01 - 운영체제의 역할 및 실행운영체제는 2가지의 핵심 기능이 있다.자원 할당 및 관리프로세스 및 스레드 관리운영체제의 역할자원이란?자원(Resource) : 프로그램 실행에 마땅히 필요한 요소데이터, 부품 등CPU관리 : CPU 스케줄링실행 중인 모든 프로그램을 공정하고 합리적으로 CPU를 할당 받도록 CPU의 할당 순서와 사용 시간을 결정하는 것메모리 관리 : 가상 메모리실제 물리적인 메모리 크기보다 더 큰 메모리를 이용할 수 있도록 하는 기술파일/디렉터리 관리 : 파일 시스템보조기억장치를 효율적으로 관리하기 위해 내부 정보를 파일 및 폴더 단위로 접근 및 관리할 수 있도록 만드는 내부 프로그램프로세스 및 스레드 관리프로세스 : 실행 중인 프로그램스레드 : 프로세스를 이루는 실행의 단위동시.. Every CS - Network 04 - HTTP 1. HTTP 개요HTTP란 무엇인가?HTTP(HyperText Transfer Protocol)이란 웹 상에서 클라이언트와 서버 간에 데이터를 주고받기 위한 프로토콜주로 웹 브라우저(클라이언트)가 웹 서버에 요청을 본내고, 서버가 그에 대한 응답을 반환하는 방식으로 동작한다.역할데이터 전송 : 텍스트, 이미지, 동영상 등 다양한 형태의 데이터를 전송상태 관리 : 클라이언트와 서버 간의 상호작용 상태를 관리표준화 : 웹 통신의 표준을 제공하여 다양한 기기와 애플리케이션 간의 호환성 보장클라이언트-서버 모델클라이언트요청을 보내는 주체 (보통 웹 브라우저)서버요청을 받아 처리하고 응답을 보내는 주체 (웹 서버, 개발자의 백엔드서버)동작 방식클라이언트가 특정 서버에 특정 리소스 요청서버가 요청을 처리하고 적절.. 이전 1 2 다음