분류 전체보기 202

[OpenGL][Python] 삼각형 만들기

삼각형 만들기 삼각형 만들기 OpenGL에서 모든 3D 물체는 삼각형으로 이루어진다. OpenGL에서 가장 기본되는 단위는 정점, 선, 삼각형으로 이를 통해서 우리가 보는 컴퓨터 그래픽을 구현한다. 따라서 이번 게시물에서는 삼각형 생성을 다룬다. import import glfw from OpenGL.GL import * import OpenGL.GL.shaders import numpy opengl을 사용하기 위한 import 구문이다 glfw : Window를 생성하기 위해 사용 OpenGL.GL : OpenGL 사용을 위해 사용 OpenGL.GL.shaders : Shader 사용을 위해 사용 numpy : 형변환을 위해 사용 main() 코드에 대한 설명은 주석으로 대체한다. def main():..

[OpenGL] OpenGL이란 무엇인가?

OpenGL이란 무엇인가 ? OpenGL OPenGL이란 Open Graphics Library의 약자로 그래픽 처리를 위한 API이다. 즉 그래픽 하드웨어 제어를 위한 소프트웨어 인터페이스이다. 높은 이식성과 빠른 실행속도를 가진 3D 그래픽 & 모델링 API이다. --> 이름과는 다르게 Library가 아닌 API임에 주목해야 한다. 이때 운영체제는 OpenGL의 인터페이스를 제공하고, GPU는 OpenGL Implementation인 그래픽 카드 드라이버를 제공한다. OpenGL의 특징 장점 Cross Platform : Windows, OS X, Linux, IOS, Android 등 플랫폼에 구제박지 않고 사용할 수 있다. Language Independent : C, Python, Java, ..

[운영체제] 11. 디스크 관리 (Disk Management)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Disk Management and Scheduling Disk Structure logical block 디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들 주소를 가진 1차원 배열처럼 취급 정보를 전송하는 최소 단위 Secotr Logical Block이 물리적인 디스크에 매핑된 위치 Secotr 0은 최외각 실린더의 첫 트랙에 있는 첫 번째 섹터이다. Disk Scheduling Access Time의 구성 Seek Time 헤드를 해당 실린더로 움직이는데 걸리는 시간 Rotational Latency 헤드가 원하는 섹터에 도달하기까지 걸리는 회전지연시간 Transfer Time 실제 데이터의 전송 시간 Disk Bandw..

[운영체제] 10. 파일 시스템 (File System)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. File Systems FIle and File Systems File A named Collection of related information 일반적으로 비휘발성의 보조기억장치에 저장 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해 줌 Operation : Create, Read, Write, Reposition (lseek), Delete, Open, Close File Attribute (Metadata) 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들 파일 이름, 유형, 저장된 위치, 파일 사이즈 접근 권한 (읽기/쓰기/실행), 시간(생성/변경/사용), 소유자 등 File Sy..

[네트워크][HTTP] 2. URI와 웹 브라우저 요청 흐름

본 게시물은 김영한님의 HTTP 웹 기본 지식 강의를 듣고 정리, 요약한 것입니다. 더 자세히 알고 싶으시면 아래의 링크의 강의를 추천드립니다. https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC# URI와 웹 브라우저 요청 흐름 URI (Uniform Resource Identifier) URI, URL, URN 이란 ? URI는 로케이터(Locator), 이름(Name) 또는 둘다 추가로 분류될 수 있다. 즉 URL과 URN은 URI에 포함되는 개념이고, 이는 자원을 식별하기 위한 방법을 의미한다. 그렇다면 URI라는 단어는 어떤 뜻을 가지고 있을까 ? Uniform : 리소스를 식별하기 위한 통일된 방..

[운영체제] 9. 가상 메모리 (Virtual Memory)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Virtual Memory Demand Paging 실제로 필요할 때 page를 메모리에 올리는 것 I/O 양의 감소 Memory 사용량 감소 빠른 응답 시간 더 많은 사용자 수용 Valid / Invalid bit의 사용 Invalid의 의미 사용되지 않는 주소 영역인 경우 페이지가 물리적 메모리에 없는 경우 처음에는 모든 page entry가 invalid로 초기화 address translation 시에 invalid bit이 set되어 있으면 --> Page Fault Page Fault invalid page를 접근하면 MMU가 trap을 발생시킴 kernel mode로 들어가서 page fault handler가 invo..

[운영체제] 8. 메모리 관리 (Memory Management)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Memory Management (메모리 관리) Logical vs Physical Address Logical Address (Virtual Address) 프로세스마다 독립적으로 가지는 주소 공간 각 프로세스마다 0번지부터 시작 CPU가 보는 주소는 Logical Address Physical Address 메모리에 실제 올라가는 위치 주소 바인딩 : 주소를 결정하는 것 Symbolic Address --> Logical Address --> Physical Address 주소 바인딩 (Address Binding) Compile time binding 물리적 메모리 주소가 컴파일 시 알려짐 시작 위치 변경시 재컴파일 컴파일러는..

[운영체제] 7. 교착상태 (Dead Lock)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Deadlock (교착상태) Deadlock : 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Resource (자원) 하드웨어, 소프트웨어 등을 포함하는 개념 프로세스가 자원을 사용하는 절차 : Request, Allocate, Use, Release Deadlock 발생의 4가지 조건 Mutual Exclusion (상호배제) 매 순간 하나의 프로세스만이 자원을 사용할 수 있음 No Preemption (비선점) 프로세스는 자원을 스스로 내어놓을 뿐 강제로 빼앗기지 않음 Hold and Wait (점유대기) 자원을 가진 프로세스가 다른 자원을 기다릴 때 보유 자원을 놓지 않고 계속 가지고 있음 Circular..

[네트워크][HTTP] 1. 인터넷 네트워크

본 게시물은 김영한님의 HTTP 웹 기본 지식 강의를 듣고 정리, 요약한 것입니다. 더 자세히 알고 싶으시면 아래의 링크의 강의를 추천드립니다. https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC# 들어가며 모든 것이 HTTP 기반 위에서 동작 : 우리가 사용하는 거의 모든 서비스들이 HTTP 기반하에 사용되고 있음 개발자는 평생 HTTP 기반위에서 개발해야한다. 언젠가 한번은 HTTP 정리를 해야한다. 위와 같은 이유로 영한님의 강의를 듣고 스스로 정리를 해보고자 합니다. 인터넷 네트워크 목차 인터넷 통신 IP (Internet Protocol) TCP, UDP PORT DNS 인터넷 통신 인터넷에서 서버..

[운영체제] 6. 프로세스 동기화 (Process Synchronization)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Process Synchronization[Concurrency Control] - 병행 제어, 프로세스 동기화 데이터의 접근 저장소의 데이터 연산할 데이터 전송 연산 수행 연산 결과 반환 : 데이터를 읽고 쓰기 때문에 데이터의 동기화가 필요하다. Race Condition 여러 프로세스가 하나의 데이터를 공유하고, 연산을 하려고 할 때 경쟁 상태가 생길 수 있다. 즉 하나의 데이터에 대한 여러 연산 요청이 있을 때는 이를 조절해 줘야한다는 것이다. ex) Multiprocessor System, 공유메모리를 사용하는 프로세스들, 커널 내부 데이터를 접근하는 루틴들 간의 충돌 등등 프로그램적 해결법의 충족 조건 Mutual Excl..