SlideShare a Scribd company logo
1 of 16
An introduction to
computer
Science
- Operating System 03
2017. 03. 31
황태욱
01 File System
02 Main Memory Management
CONTENTS
03 Further Study
1.1 FAT
Window File System
FAT(File Allocation Table) & NTFS(New Technology File System)
1.2 FAT file System
부트 레코드
파일 할당 테이블
루트 디렉터리
…
클러스터1
클러스터2
클러스터3
클러스터n
시스템 영역 데이터 영역
1.3 UNIX(Linux) file System
부트
블럭
수퍼
블럭
… …
inode list 데이터 블럭
부트 블록: 운영체제를 주기억장치로 올리는 역할을 하는 프로그램이
들어있는 영역, 윈도우의 부트레코드와 유사
슈퍼블럭: 디스크에 대한 다양한 정보를 저장하고 있는 곳으로, 전체 블록의
수, 블록의 크기, 사용 중인 블록의 수, 사용할 수 있는 블록의 번호,
Inode 리스트의 크기, 사용할 수 있는 inode의 번호 등의 정보를 저장한다
Inode 리스트: inode들을 모아놓은 곳, 한 블록에 여러 개의 inode를 저장하고
있다
데이터 블록: 일반적인 파일과 디렉토리 그리고 간접 블록을 저장하는 영역
1.4 Unix file system
inode(Index Node) 파일에 대한 다양한 정보를 저장하는 곳으로 파일마다
하나씩 부여 된다
파일형식
접근 권한
파일 소유자
파일 크기
변경 시간
접근 시간
:
파일 위치
:
10개의 직접 블록 포인터
단일 간접 블록 포인터
이중 간접 블록 포인터
삼중 간접 블록 포인터
2.1 DATA Structure
데이터 구조(data structure)란 program에 의해 쉽게 이용되도록 구성된
데이터들간의 논리적인 관계
자료구조(資料構造, data structure)는 전산학에서 자료를 효율적으로 이용할 수
있도록 컴퓨터에 저장하는 방법이다. 신중히 선택한 자료구조는 보다
효율적인 알고리즘을 사용할 수 있게 한다. 이러한 자료구조의 선택문제는
대개 추상적 자료구조의 선택으로부터 시작하는 경우가 많다. 효과적으로 설계된
자료구조는 실행시간 혹은 메모리 용량과 같은 자원을 최소한으로 사용하면서
연산을 수행하도록 해준다
배열: Array
연결 리스트: Linked List
스택: Stack
큐: Queue
트리: Tree
등이 대표적인 자료 구조이다.
2.2 배열 Array
Array: 같은 Type의 데이터형의 요소들이 동일한 크기로 순서를 갖고 나열되어
있는 집합
C언어의 경우 크기가 n인 arr의 첫번째 요소는 arr[0] … arr[n-1]
이때 arr을 배열이름, [ ]에 들어가는 숫자 또는 변수를 첨자 라고 한다.
다차원 배열
Arr[n][m] 과 같이 표현하고 n 차원까지 확장 가능하다
2.2 선형 리스트 : Linear List
순서에 의해 나열된 데이터가 여러 개인 구조
- 일요일, 월요일, 화요일, 수요일, 목요일, 금요일, 토요일
- 빨강, 주황, 노랑, 초록, 파랑, 남색, 보라
연속리스트와 연결리스트가 있음
연속리스트(contiguous list)는 배열을 이용
연결 리스트(Linked list)는 포인터를 이용
연속리스트 – 삽입과 삭제: 각 데이터를 옮기는 작업이 필요
연결 리스트 – 노드라는 개념을 활용
데이터 영역
포인터 영역
해드 포인터: Head Pointer가 존재하며, 끝에는 NULL로 표현
2.3 Linked List
Singly Linked List : 마지막 노드는 NULL
Circular Linked List : 마지막 노드는 다시 첫번째 노드
Doubly Linked List : 이전 노드 접근을 허용하기 위해 각 포인터는 양쪽을 가르킴
Doubly circular Linked List: 이중 연결 리스트에서 맨 마지막 노드가 맨 처음
노드를 가르키는 구조
2.4 Stack
Stack을 배열로 구현할 수 있고, Linked List로 구현할 수 있다
이때 Stack Pointer 역할로 별도 변수를 배정한다 (TOP 등)
Linked List 구현 Stack은 Main Memory 용량이 허용하는 한 데이터를
삽입 할 수 있다는 장점이 있다.
2.5 Queue
Queue: FIFO – Fist In First Out
배열, Linked List로 구현 가능
배열일 경우 2개의 변수로 구현 (Front, Rear)
2.6 Tree (data sturcture)
Tree: 계층 구조를 표현하기에 적합
Link – 노드와 노드를 연결하는 선
Leaf node / Terminal node : 마지막에 위치한 노드 node
2.7 Tree (data sturcture)
Binary Tree : 모든 노드들의 자식 노드가 두 개 이하인 트리
- Complete Binary tree
- Full binary Tree
순회: Traversal – 이진 노드의 모든 트리를 순서대로 한번씩 방문하는 것
- Preorder [노드방문 – 왼쪽 서브 트리 방문 – 오른쪽 서브 트리 방문]
- inorder[왼쪽 서브 트리 방문 – 노드방문 - 오른쪽 서브 트리 방문]
- postorder[왼쪽 서브 트리 방문 – 오른쪽 서브 트리 방문 - 노드방문]
이진탐색트리: Binary Search Tree
- 같은 데이터를 갖는 노드는 없어야 한다
- 왼쪽 서브트리에 있는 모든 데이터는 현재 노드의 데이터보다 작고
오른쪽 서브 트리에 있는 모든 데이터는 현재 노드의 데이터 보다
크다
- 왼쪽 서브트리 < 노드 < 오른쪽 서브트리
3. Further Study
자료구조 구현
http://robodream.tistory.com/192
1의 보수 2의 보수
http://sk3010.tistory.com/entry/%EB%94%94%EC%A7%80%ED%84%B8-%EC%
Q&A
For further details, please contact us by e-mail
황태욱 : taewook.hwang@gmail.com
010.9576.5105
Kakao: Aldemaya

More Related Content

What's hot

[0602 박민근] Direct2D
[0602 박민근] Direct2D[0602 박민근] Direct2D
[0602 박민근] Direct2D흥배 최
 
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)MinGeun Park
 
충돌 알고리즘(collision detection algorithms)
충돌 알고리즘(collision detection algorithms)충돌 알고리즘(collision detection algorithms)
충돌 알고리즘(collision detection algorithms)ssuserbe87d6
 
[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들MinGeun Park
 
유니티 - 물리엔진(Physics Engine) 개념 잡기
유니티 - 물리엔진(Physics Engine) 개념 잡기유니티 - 물리엔진(Physics Engine) 개념 잡기
유니티 - 물리엔진(Physics Engine) 개념 잡기주형 고
 
C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현Bongseok Cho
 
Operating System Concepts Presentation
Operating System Concepts PresentationOperating System Concepts Presentation
Operating System Concepts PresentationNitish Jadia
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019devCAT Studio, NEXON
 
Ndc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABCNdc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABCHo Gyu Lee
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013devCAT Studio, NEXON
 
Game Physics Engine Development (게임 물리 엔진 개발)
Game Physics Engine Development (게임 물리 엔진 개발)Game Physics Engine Development (게임 물리 엔진 개발)
Game Physics Engine Development (게임 물리 엔진 개발)Bongseok Cho
 
Tips and experience_of_dx12_engine_development._ver_1.2
Tips and experience_of_dx12_engine_development._ver_1.2Tips and experience_of_dx12_engine_development._ver_1.2
Tips and experience_of_dx12_engine_development._ver_1.2YEONG-CHEON YOU
 
introduction to operating system
introduction to operating systemintroduction to operating system
introduction to operating systemHAMZA AHMED
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버Heungsub Lee
 
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기Chris Ohk
 
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...taeseon ryu
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현YEONG-CHEON YOU
 
게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPUYEONG-CHEON YOU
 

What's hot (20)

컴퓨터개론02
컴퓨터개론02컴퓨터개론02
컴퓨터개론02
 
[0602 박민근] Direct2D
[0602 박민근] Direct2D[0602 박민근] Direct2D
[0602 박민근] Direct2D
 
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
 
충돌 알고리즘(collision detection algorithms)
충돌 알고리즘(collision detection algorithms)충돌 알고리즘(collision detection algorithms)
충돌 알고리즘(collision detection algorithms)
 
[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들
 
유니티 - 물리엔진(Physics Engine) 개념 잡기
유니티 - 물리엔진(Physics Engine) 개념 잡기유니티 - 물리엔진(Physics Engine) 개념 잡기
유니티 - 물리엔진(Physics Engine) 개념 잡기
 
C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현
 
Operating System Concepts Presentation
Operating System Concepts PresentationOperating System Concepts Presentation
Operating System Concepts Presentation
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
 
Ndc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABCNdc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABC
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013
 
Game Physics Engine Development (게임 물리 엔진 개발)
Game Physics Engine Development (게임 물리 엔진 개발)Game Physics Engine Development (게임 물리 엔진 개발)
Game Physics Engine Development (게임 물리 엔진 개발)
 
Tips and experience_of_dx12_engine_development._ver_1.2
Tips and experience_of_dx12_engine_development._ver_1.2Tips and experience_of_dx12_engine_development._ver_1.2
Tips and experience_of_dx12_engine_development._ver_1.2
 
introduction to operating system
introduction to operating systemintroduction to operating system
introduction to operating system
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
 
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
 
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현
 
Storage Management
Storage ManagementStorage Management
Storage Management
 
게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU
 

Similar to 컴퓨터개론08

자료구조 스택_큐_링크드리스트
자료구조 스택_큐_링크드리스트자료구조 스택_큐_링크드리스트
자료구조 스택_큐_링크드리스트송미 이
 
[SOPT] 데이터 구조 및 알고리즘 스터디 - #04 : 트리 기초, 이진 트리, 우선순위 큐
[SOPT] 데이터 구조 및 알고리즘 스터디 - #04 : 트리 기초, 이진 트리, 우선순위 큐[SOPT] 데이터 구조 및 알고리즘 스터디 - #04 : 트리 기초, 이진 트리, 우선순위 큐
[SOPT] 데이터 구조 및 알고리즘 스터디 - #04 : 트리 기초, 이진 트리, 우선순위 큐S.O.P.T - Shout Our Passion Together
 
자바로 배우는 자료구조
자바로 배우는 자료구조자바로 배우는 자료구조
자바로 배우는 자료구조중선 곽
 
[Swift] Data Structure - Binary Tree
[Swift] Data Structure - Binary Tree[Swift] Data Structure - Binary Tree
[Swift] Data Structure - Binary TreeBill Kim
 
Data Structures
Data StructuresData Structures
Data Structuresskku_npc
 
새로쓴 대용량 데이터베이스 솔루션 1분리형일체형테이블
새로쓴 대용량 데이터베이스 솔루션 1분리형일체형테이블새로쓴 대용량 데이터베이스 솔루션 1분리형일체형테이블
새로쓴 대용량 데이터베이스 솔루션 1분리형일체형테이블Gordon Lee
 
오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝철민 권
 
02. data structure and stl
02. data structure and stl02. data structure and stl
02. data structure and stl승혁 조
 
[Swift] Data Structure - Tree
[Swift] Data Structure - Tree[Swift] Data Structure - Tree
[Swift] Data Structure - TreeBill Kim
 
[Swift] Data Structure Introduction
[Swift] Data Structure Introduction[Swift] Data Structure Introduction
[Swift] Data Structure IntroductionBill Kim
 
16장. XML 사용하기
16장. XML 사용하기16장. XML 사용하기
16장. XML 사용하기SungHoon Jung
 
Python+numpy pandas 1편
Python+numpy pandas 1편Python+numpy pandas 1편
Python+numpy pandas 1편Yong Joon Moon
 
하둡 타입과 포맷
하둡 타입과 포맷하둡 타입과 포맷
하둡 타입과 포맷진호 박
 
[Swift] Data Structure - Array
[Swift] Data Structure - Array[Swift] Data Structure - Array
[Swift] Data Structure - ArrayBill Kim
 
CS Study - Data Structure 자료 구조. Tree 발표자료
CS Study - Data Structure 자료 구조. Tree 발표자료CS Study - Data Structure 자료 구조. Tree 발표자료
CS Study - Data Structure 자료 구조. Tree 발표자료Jiwoo Choi
 

Similar to 컴퓨터개론08 (18)

자료구조 스택_큐_링크드리스트
자료구조 스택_큐_링크드리스트자료구조 스택_큐_링크드리스트
자료구조 스택_큐_링크드리스트
 
[SOPT] 데이터 구조 및 알고리즘 스터디 - #04 : 트리 기초, 이진 트리, 우선순위 큐
[SOPT] 데이터 구조 및 알고리즘 스터디 - #04 : 트리 기초, 이진 트리, 우선순위 큐[SOPT] 데이터 구조 및 알고리즘 스터디 - #04 : 트리 기초, 이진 트리, 우선순위 큐
[SOPT] 데이터 구조 및 알고리즘 스터디 - #04 : 트리 기초, 이진 트리, 우선순위 큐
 
자바로 배우는 자료구조
자바로 배우는 자료구조자바로 배우는 자료구조
자바로 배우는 자료구조
 
[Swift] Data Structure - Binary Tree
[Swift] Data Structure - Binary Tree[Swift] Data Structure - Binary Tree
[Swift] Data Structure - Binary Tree
 
Data Structures
Data StructuresData Structures
Data Structures
 
새로쓴 대용량 데이터베이스 솔루션 1분리형일체형테이블
새로쓴 대용량 데이터베이스 솔루션 1분리형일체형테이블새로쓴 대용량 데이터베이스 솔루션 1분리형일체형테이블
새로쓴 대용량 데이터베이스 솔루션 1분리형일체형테이블
 
elasticsearch
elasticsearchelasticsearch
elasticsearch
 
오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝
 
02. data structure and stl
02. data structure and stl02. data structure and stl
02. data structure and stl
 
[Swift] Data Structure - Tree
[Swift] Data Structure - Tree[Swift] Data Structure - Tree
[Swift] Data Structure - Tree
 
[Swift] Data Structure Introduction
[Swift] Data Structure Introduction[Swift] Data Structure Introduction
[Swift] Data Structure Introduction
 
HBase 훑어보기
HBase 훑어보기HBase 훑어보기
HBase 훑어보기
 
16장. XML 사용하기
16장. XML 사용하기16장. XML 사용하기
16장. XML 사용하기
 
Python+numpy pandas 1편
Python+numpy pandas 1편Python+numpy pandas 1편
Python+numpy pandas 1편
 
하둡 타입과 포맷
하둡 타입과 포맷하둡 타입과 포맷
하둡 타입과 포맷
 
linux1
linux1linux1
linux1
 
[Swift] Data Structure - Array
[Swift] Data Structure - Array[Swift] Data Structure - Array
[Swift] Data Structure - Array
 
CS Study - Data Structure 자료 구조. Tree 발표자료
CS Study - Data Structure 자료 구조. Tree 발표자료CS Study - Data Structure 자료 구조. Tree 발표자료
CS Study - Data Structure 자료 구조. Tree 발표자료
 

More from Edward Hwang

02 특허와 실용신안 제도
02 특허와 실용신안 제도02 특허와 실용신안 제도
02 특허와 실용신안 제도Edward Hwang
 
게임디자인 레벨 밸런싱
게임디자인   레벨 밸런싱게임디자인   레벨 밸런싱
게임디자인 레벨 밸런싱Edward Hwang
 
Understanding of growth hacking 01
Understanding of growth hacking 01Understanding of growth hacking 01
Understanding of growth hacking 01Edward Hwang
 
Understanding of gamification 03
Understanding of gamification 03Understanding of gamification 03
Understanding of gamification 03Edward Hwang
 
게임디자인 게임시스템
게임디자인   게임시스템게임디자인   게임시스템
게임디자인 게임시스템Edward Hwang
 
게임디자인 게임디자인
게임디자인   게임디자인게임디자인   게임디자인
게임디자인 게임디자인Edward Hwang
 
게임디자인 게임제작 및 시나리오
게임디자인   게임제작 및 시나리오게임디자인   게임제작 및 시나리오
게임디자인 게임제작 및 시나리오Edward Hwang
 
게임디자인 게임역사
게임디자인   게임역사게임디자인   게임역사
게임디자인 게임역사Edward Hwang
 
창업아이디어 2015 2학기
창업아이디어 2015 2학기창업아이디어 2015 2학기
창업아이디어 2015 2학기Edward Hwang
 
Understanding of gamification 2015
Understanding of gamification 2015Understanding of gamification 2015
Understanding of gamification 2015Edward Hwang
 
사업계획서 기본요소
사업계획서 기본요소사업계획서 기본요소
사업계획서 기본요소Edward Hwang
 
May 2015 flow chart 익히기
May 2015 flow chart 익히기May 2015 flow chart 익히기
May 2015 flow chart 익히기Edward Hwang
 
창업아이디어
창업아이디어창업아이디어
창업아이디어Edward Hwang
 
앱을 위한 아이디어 2015
앱을 위한 아이디어 2015 앱을 위한 아이디어 2015
앱을 위한 아이디어 2015 Edward Hwang
 
기술 창업 Idea to business
기술 창업 Idea to business기술 창업 Idea to business
기술 창업 Idea to businessEdward Hwang
 
Lean startup 이해하기 황태욱
Lean startup 이해하기   황태욱Lean startup 이해하기   황태욱
Lean startup 이해하기 황태욱Edward Hwang
 

More from Edward Hwang (20)

컴퓨터개론13
컴퓨터개론13컴퓨터개론13
컴퓨터개론13
 
컴퓨터개론12
컴퓨터개론12컴퓨터개론12
컴퓨터개론12
 
컴퓨터개론11
컴퓨터개론11컴퓨터개론11
컴퓨터개론11
 
02 특허와 실용신안 제도
02 특허와 실용신안 제도02 특허와 실용신안 제도
02 특허와 실용신안 제도
 
게임디자인 레벨 밸런싱
게임디자인   레벨 밸런싱게임디자인   레벨 밸런싱
게임디자인 레벨 밸런싱
 
Understanding of growth hacking 01
Understanding of growth hacking 01Understanding of growth hacking 01
Understanding of growth hacking 01
 
Understanding of gamification 03
Understanding of gamification 03Understanding of gamification 03
Understanding of gamification 03
 
게임디자인 게임시스템
게임디자인   게임시스템게임디자인   게임시스템
게임디자인 게임시스템
 
게임디자인 게임디자인
게임디자인   게임디자인게임디자인   게임디자인
게임디자인 게임디자인
 
게임디자인 게임제작 및 시나리오
게임디자인   게임제작 및 시나리오게임디자인   게임제작 및 시나리오
게임디자인 게임제작 및 시나리오
 
게임의 분류
게임의 분류게임의 분류
게임의 분류
 
게임디자인 게임역사
게임디자인   게임역사게임디자인   게임역사
게임디자인 게임역사
 
창업아이디어 2015 2학기
창업아이디어 2015 2학기창업아이디어 2015 2학기
창업아이디어 2015 2학기
 
Understanding of gamification 2015
Understanding of gamification 2015Understanding of gamification 2015
Understanding of gamification 2015
 
사업계획서 기본요소
사업계획서 기본요소사업계획서 기본요소
사업계획서 기본요소
 
May 2015 flow chart 익히기
May 2015 flow chart 익히기May 2015 flow chart 익히기
May 2015 flow chart 익히기
 
창업아이디어
창업아이디어창업아이디어
창업아이디어
 
앱을 위한 아이디어 2015
앱을 위한 아이디어 2015 앱을 위한 아이디어 2015
앱을 위한 아이디어 2015
 
기술 창업 Idea to business
기술 창업 Idea to business기술 창업 Idea to business
기술 창업 Idea to business
 
Lean startup 이해하기 황태욱
Lean startup 이해하기   황태욱Lean startup 이해하기   황태욱
Lean startup 이해하기 황태욱
 

컴퓨터개론08

  • 1. An introduction to computer Science - Operating System 03 2017. 03. 31 황태욱
  • 2. 01 File System 02 Main Memory Management CONTENTS 03 Further Study
  • 3. 1.1 FAT Window File System FAT(File Allocation Table) & NTFS(New Technology File System)
  • 4. 1.2 FAT file System 부트 레코드 파일 할당 테이블 루트 디렉터리 … 클러스터1 클러스터2 클러스터3 클러스터n 시스템 영역 데이터 영역
  • 5. 1.3 UNIX(Linux) file System 부트 블럭 수퍼 블럭 … … inode list 데이터 블럭 부트 블록: 운영체제를 주기억장치로 올리는 역할을 하는 프로그램이 들어있는 영역, 윈도우의 부트레코드와 유사 슈퍼블럭: 디스크에 대한 다양한 정보를 저장하고 있는 곳으로, 전체 블록의 수, 블록의 크기, 사용 중인 블록의 수, 사용할 수 있는 블록의 번호, Inode 리스트의 크기, 사용할 수 있는 inode의 번호 등의 정보를 저장한다 Inode 리스트: inode들을 모아놓은 곳, 한 블록에 여러 개의 inode를 저장하고 있다 데이터 블록: 일반적인 파일과 디렉토리 그리고 간접 블록을 저장하는 영역
  • 6. 1.4 Unix file system inode(Index Node) 파일에 대한 다양한 정보를 저장하는 곳으로 파일마다 하나씩 부여 된다 파일형식 접근 권한 파일 소유자 파일 크기 변경 시간 접근 시간 : 파일 위치 : 10개의 직접 블록 포인터 단일 간접 블록 포인터 이중 간접 블록 포인터 삼중 간접 블록 포인터
  • 7. 2.1 DATA Structure 데이터 구조(data structure)란 program에 의해 쉽게 이용되도록 구성된 데이터들간의 논리적인 관계 자료구조(資料構造, data structure)는 전산학에서 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다. 이러한 자료구조의 선택문제는 대개 추상적 자료구조의 선택으로부터 시작하는 경우가 많다. 효과적으로 설계된 자료구조는 실행시간 혹은 메모리 용량과 같은 자원을 최소한으로 사용하면서 연산을 수행하도록 해준다 배열: Array 연결 리스트: Linked List 스택: Stack 큐: Queue 트리: Tree 등이 대표적인 자료 구조이다.
  • 8. 2.2 배열 Array Array: 같은 Type의 데이터형의 요소들이 동일한 크기로 순서를 갖고 나열되어 있는 집합 C언어의 경우 크기가 n인 arr의 첫번째 요소는 arr[0] … arr[n-1] 이때 arr을 배열이름, [ ]에 들어가는 숫자 또는 변수를 첨자 라고 한다. 다차원 배열 Arr[n][m] 과 같이 표현하고 n 차원까지 확장 가능하다
  • 9. 2.2 선형 리스트 : Linear List 순서에 의해 나열된 데이터가 여러 개인 구조 - 일요일, 월요일, 화요일, 수요일, 목요일, 금요일, 토요일 - 빨강, 주황, 노랑, 초록, 파랑, 남색, 보라 연속리스트와 연결리스트가 있음 연속리스트(contiguous list)는 배열을 이용 연결 리스트(Linked list)는 포인터를 이용 연속리스트 – 삽입과 삭제: 각 데이터를 옮기는 작업이 필요 연결 리스트 – 노드라는 개념을 활용 데이터 영역 포인터 영역 해드 포인터: Head Pointer가 존재하며, 끝에는 NULL로 표현
  • 10. 2.3 Linked List Singly Linked List : 마지막 노드는 NULL Circular Linked List : 마지막 노드는 다시 첫번째 노드 Doubly Linked List : 이전 노드 접근을 허용하기 위해 각 포인터는 양쪽을 가르킴 Doubly circular Linked List: 이중 연결 리스트에서 맨 마지막 노드가 맨 처음 노드를 가르키는 구조
  • 11. 2.4 Stack Stack을 배열로 구현할 수 있고, Linked List로 구현할 수 있다 이때 Stack Pointer 역할로 별도 변수를 배정한다 (TOP 등) Linked List 구현 Stack은 Main Memory 용량이 허용하는 한 데이터를 삽입 할 수 있다는 장점이 있다.
  • 12. 2.5 Queue Queue: FIFO – Fist In First Out 배열, Linked List로 구현 가능 배열일 경우 2개의 변수로 구현 (Front, Rear)
  • 13. 2.6 Tree (data sturcture) Tree: 계층 구조를 표현하기에 적합 Link – 노드와 노드를 연결하는 선 Leaf node / Terminal node : 마지막에 위치한 노드 node
  • 14. 2.7 Tree (data sturcture) Binary Tree : 모든 노드들의 자식 노드가 두 개 이하인 트리 - Complete Binary tree - Full binary Tree 순회: Traversal – 이진 노드의 모든 트리를 순서대로 한번씩 방문하는 것 - Preorder [노드방문 – 왼쪽 서브 트리 방문 – 오른쪽 서브 트리 방문] - inorder[왼쪽 서브 트리 방문 – 노드방문 - 오른쪽 서브 트리 방문] - postorder[왼쪽 서브 트리 방문 – 오른쪽 서브 트리 방문 - 노드방문] 이진탐색트리: Binary Search Tree - 같은 데이터를 갖는 노드는 없어야 한다 - 왼쪽 서브트리에 있는 모든 데이터는 현재 노드의 데이터보다 작고 오른쪽 서브 트리에 있는 모든 데이터는 현재 노드의 데이터 보다 크다 - 왼쪽 서브트리 < 노드 < 오른쪽 서브트리
  • 15. 3. Further Study 자료구조 구현 http://robodream.tistory.com/192 1의 보수 2의 보수 http://sk3010.tistory.com/entry/%EB%94%94%EC%A7%80%ED%84%B8-%EC%
  • 16. Q&A For further details, please contact us by e-mail 황태욱 : taewook.hwang@gmail.com 010.9576.5105 Kakao: Aldemaya