본문 바로가기

전체 글

(24)
(15) 인공지능 • 인공지능의 정의– 사람의 생각과 관련된 활동 (의사 결정,문제 해결, 학습과 같은 활동 자동화) (벨만, 1978)– 지능이 요구되는 일을 할 수 있는 기계를 만드는 활동 (커즈와일, 1990)– 인공물이 지능적인 행위를 하도록 하는 것 (닐슨, 1990)– 사람이 하면 더 잘할 수 있는 일을 컴퓨터가 할 수 있도록 하는 활동 (리치와 나이트, 1991)– 지능적인 에이전트를 설계하는 학문 (풀과 맥워쓰, 1998)– 인지하고 추론하고 행동할 수 있도록 하는 컴퓨팅에 관련된 활동 (윌슨, 1992)– 인간의 학습 능력과 추론 능력, 지각 능력, 자연 언어의 이해 능력 등을 컴퓨터 프로그램으로 실현한 기술 (두산 동아 백과사전) • 인공지능의 목표– 인간처럼 만드는 것이 아니라 인간과 유사하게 생각하며..
(14) 소프트웨어공학 * 프로그래밍이 어려운 이유  - 사람이 이해하는거랑 컴퓨터가 이해하는거랑 다르기 때문 * 사람 vs 컴퓨터• 사람:– Interested in modeling the real world – More interested in “what”(무엇을) computer should do than how • 컴퓨터: – Only data it can manipulate is sequences of zeros and ones – Understands low-level “how”(어떻게) instructions. * 소프트웨어 개발의 현실• 요구사항이 애매함• 개발 중 요구사항 변경• 스케일이 더 큽니다   – 다양한 디자인 기술이 필요합니다   – 팀워크가 필요합니다• 개발이 완료된 후 소프트웨어를 변경해야 합니다..
(13) 데이터베이스 * 데이터베이스(DB)를 사용하는 이유• 모든(대규모) 웹사이트를 보면 DB가 있음• Examples:    – UPS / FedEx tracking    – Amazon’s/eBay’s websites    – Wal-Mart’s inventory system    – Dell’s ordering system    – Google’s search engine * 데이터관리 시나리오 예시• 시나리오– You run a movie rental startup. – Your customers rent DVD copies of movies. – Several copies of each movie. • 요구사항– Which DVD disks have a customer rented? – Are any disks ..
(12) 분산시스템 / 클라우드 * 분산시스템– 인터넷에 연결된 여러 컴퓨터들의 처리 능력을 이용하여 메시지를 하나에서 다른 하나로 보냄(message passing)으로써 거대한 계산 문제를 해결하려는 분산처리 모델– 느슨하게 네트워크로 연결된 컴퓨팅 자원들 간에 자원을 공유하는 것이 분산 시스템의 주요 목적임    • CPU, 메모리, 저장장치(HDD, SSD), 네트워크등 모든 물리적 혹은 논리적 자원- 사용 예: 웹서비스, 클라우드 컴퓨팅, P2P, 분산 데이터베이스 등 - 분산 시스템의 물리적 모델• 분산 시스템의 하드웨어 구성요소(컴퓨터와 네트워크)를 추상화하여 상위 계층으로 서비스를 제공해 하위 계층에 대한 지식없이 분산 자원을 사용함 • 분산 시스템의 발전 과정:    – 초기 분산 시스템 [70-80s]: LAN-bas..
(11) 네트워크 * 인터넷 정의          인터넷: 네트워크를 하나로 묶는 기술 (인트라넷이랑 반대)           -LAN 구조(토폴로지)의 종류         - 스타형: 중간에 네트워크 관장하는 시스템을 두고 방사형으로 기기를 연결         - 링형: 모든 기기를 원형으로 연결         - 버스형: 중앙에 데이터가 흐르는 버스를 두고, 여기에 기기를 붙여 네트워크 구성                 - 미국에서 육군, 해군, 공군이 서로 다른 종류의 LAN을 구축하면서 서로 호환이 되지 않아 효율적으로 명령을 전달하기가 어려웠음          - 1960년대 미국 국방성에서 1969년 알파넷(ARPAnet)을 구축함으로써 서로 다른 종류의 LAN을 선으로 연결 * 웹과 검색엔진     - 인터넷..
(10) 통신의 발전 과정 * 통신의 발전 과정             - 통신(communication)이란 한쪽의 정보를 다른 쪽으로 전달하는 것        - 전기가 없던 시절            - 사람을 보내거나 말 같은 이동 수단 사용(많은 시간 소요)            - 위험 신호, 조난 구조 요청 등 급한 메세지를 전송할때는 연기나 봉화 사용             - 최초로 전기를 이용한 통신수단         - 전기선에 미리 정해 놓은 짧은 음과 긴 음을 조합하여 신호 전송             - 전기를 이용하여 먼 거리까지 부호가 아닌 사람의 음성을 전달         - 'tele'는 먼 거리, 'phone'은 음성을 가리킴            - 무선으로 연결한 통신기기         - 워키토키(wa..
(9) 입출력 장치(HDD) & Thread, Lock 입출력 (I/O) 장치 및 파일 시스템입출력 장치• 입출력은 컴퓨터 시스템에 있어서 사용자와의 상호작용을 위한 중요한 도구임   – 입출력 장치의 예: 키보드, 마우스, 디스플레이, 디스크 등•주요 이슈 사항    – 여러 종류의 입출력 장치는 어떻게 컴퓨터 시스템에 통합될 수 있는가?   – 입출력을 효율적으로 할 수 있는 방법은 무엇인가? 입출력 장치와의 상호 작용• 폴링(Polling)과 인터럽트(Interrupt) 방식을 통하여 입출력 장치의 상태 및 데이터를 읽음• 폴링 방식>   – 운영체제는 상태 레지스터를 주기적으로 읽어 입출력 장치가 사용할 수 있는지를 확인함   – 동작 방식이 단순하여 구현하기가 쉽지만 입출력 장치가 사용되는 동안 CPU를 낭비함 • 인터럽트 방식>   – 입출력이 이..
(8) 가상 메모리 가상 메모리 - 메모리가 실제 메모리보다 많아 보이게 하는 기술로 고안된 메모리 기법이다. 중요 목표>• 가상화    – 각 프로세스가 모든 메모리를 소유하고 있는 것처럼 보이게 함       • 프로세스마다 자신의 주소 체계를 가짐   – 프로세스들이 사용하고 있는 모든 메모리의 총합이 컴퓨터가 실제로 가지고 있는 메모리보다 많을 수 있음 • 보호 – 의도치 않게 다른 프로세스의 데이터에 접근하지 않도록 함   – 시스템(커널)이 사용하는 데이터에 접근하지 못하도록 함 • 가상화의 주요 기술  – 주소 변환  – 페이징  – 보호 메모리의구현>• 주요 가상 메모리 기법– 베이스와 바운드(Base and bound)– 세그멘테이션(Segmentation)– 페이지테이블(Page Table)– 멀티 레벨 ..