카테고리 없음

컴퓨터 공학 20250512 수업 필기

jiwonabc0080 2025. 5. 28. 12:47

Chrome Hot Keys

Tab 관리:각각의 window 로 분리 가능하며,각각의 window 로 분리된 상태에서 하나의 window의 여러 tab으로 합치는 것도 가능함.

Window관리

History(방문기록)(ios에서 동작X):Ctrl+H : 방문기록 확인. / macOS에선 cmd+Y
- Ctrl+Shift+Del : 인터넷사용기록 삭제

Secret Mode

Download : Ctrl + j -> 다운로드 내역 확인

Navigation
F6 : Omnibox (주소검색창)로 이동 / macOS에선 cmd+L

Web Page관련
F5 or Ctrl+R : 현재 페이지 새로고침: macOS와 iOS에선 ctrl 대신 cmd 임.
Ctrl+P : 현재 페이지 인쇄 (PDF저장도 이를 이용): macOS에선 ctrl 대신 cmd 임.

Browser관련

추가: Whale 전용 Hot key

Web Browser
: 가장 널리 사용되는 복잡한 SW 중 하나이면서, 매우 다양한 instruction set을 지원하며 이들을 조합하여 새로운 기능을 추가할 수 있는 일종의 Virtual Machine 또는 Software로만 구현된 Abstract Computer(HTML5 등의 지원)
- Interpreter 또는 VM으로서의 Web browser : Web browser는 이들 다양한 프로그래밍언어(interpreter language)의 source code를 원격지 등에서 읽어들여서 이들을 해석하고 대응하는 instruction들의 집합을 수행하는 interpreter라고 볼 수 있다
- Engine : 프로그램 같이 사용자의 입력에 대한 반응 등을 하기 위해 JavaScript Engine(자바스크립트 엔진)이 추가되어 있음
- JavaScript Engine : JavaScript 코드를 해석하고 실행하는 이 시스템은 단순한 인터프리터를 넘어선 정교한 실행 환경
(*chrome : V8 엔진을 사용, 성능이 우수하다, Safari : Apple의 JavaScriptCore(별칭 Nitro) 엔진을 사용하고 이 엔진은 WebKit 프레임워크의 일부로 iOS와 macOS 기기에서도 사용, Firefox : Mozilla의 SpiderMonkey 엔진을 사용하고 느림, Edge : 2020년 이후 Microsoft는 Edge 브라우저를 Chromium 기반으로 재구축했으며, 현재 Google의 V8 엔진을 사용, Opera :  V8엔진 사용, Chromium : V8 Javascript 엔진 사용)

VM 관점으로 볼 때 JavaScript Engine의 역할
실행환경 : 브라우저 가상머신의 "프로세서" 역할을 담당하며 웹 애플리케이션 코드를 처리
런타임 시스템 : 코드 실행, 메모리 관리, 가비지 컬렉션을 총괄
Bytecode Interpreter: 중간 표현인 bytecode를 실행하는 핵심 컴포넌트
최적화 컴파일러: 자주 사용되는 코드 패턴을 감지하고 최적화
샌드박스 메커니즘: 보안 경계를 형성해 웹 코드가 시스템의 다른 부분에 접근하지 못하도록 제한

Web browser의 중요성
웹 브라우저의 점유 → 인터넷의 점유 (혹은 지배)

Virtual Machine, Web Browser and Bytecode.
Virtual machine(가상머신)
**Byte code : 고수준 프로그래밍 언어로 작성된 source code를 중간 형태로 변환한 code
-특징 : 중간코드, 가상 머신에서 실행, portability, *Java, *Python.
(Java의 경우, source code를 컴파일하여 생성된 .class 파일이 bytecode임, Python의 경우, source code를 컴파일하여 생성된 .pyc 파일이 bytecode임)

virtual machine의 특징 : Machine과 유사하게 작동하며, Bytecode를 실행할 수 있는 환경 제공, 각각의 Virtual machine간에 강한 격리성, 여러 OS를 하나의 물리적 machine에서 동시에 독립적으로 실행.

가져야하는 특징 :
1. 독립성**: 물리적 하드웨어로부터 독립적으로 작동할 수 있어야하며, 자신의 Bytecode를 실행할 수 있어야한다
2.격리성**: 서로 독립적으로 작동해야하며, 같이 동작하는 다른 가상머신이나 호스트 시스템에 영향을 주지 않도록 격리되어야함
3.효율성
4.관리 용이성
5.보안

VM과 Web Browser
1.독립성 : OS에 상관없이 웹 콘텐츠를 일관되게 렌더링하고 실행
2.격리성 : 대부분의 Web Browser는 각 tab과 extensions(확장 프로그램)들을 별도의 process로 처리
3.효율성 : 자원 할당을 최적화하여 사용자의 경험을 극대화
4.관리 용이성 : 개인화된 브라우징 경험을 구성하고 관리
5.보안 

Tima and Meomory
Time Devices (Oscillator, Counte)
Oscillator :  Piezoelectric effect 를 이용하는 Crystal로 만들어진다, crystal에 전기를 가할 경우, 진동이 발생하기 때문에 Crystal에 Feedback회로를 연결하면 일정 시간 간격으로 반복되는 Pulse를 생성 가능
Clock : 단위를 보통 Hz로 표기되며 초당 몇번의 Pulse signal이 반복되는지로 빠르기를 나타냄. 이에 맞춰서 정상적인 동작이 이루어지도록 동기화되는 경우가 대부분이다. 
Latch : Gate를 조합하여 1Bit의 정보를 기억하는 역할을 하는 회로를 의미, 실제 1Bit의 정보를 기억하는데 많이 사용되는 Flip-FLop을 이해하는 과정으로 배우게 됨, 이 Flip-Flop은 “CPU가 명령어와 데이터를 기억하는데 사용하는 Register”로 확장

Or Latch


AND-OR Latch : OR Latch의 Feedback Connection을 OR에 직접 연결하지 않고,
OR 앞에 연결된 AND에 연결하고 동시에 해당 AND에 Reset (Reset입력을 inverter에 연결)을 입력시켜 Reset 기능을 추가한 Latch. 

리셋이 되지 않는 단점을 보완한 것으로 정보의 기억 및, 기억된 정보의 출력, 기억될 정보의 수정이 가능한 가장 간단한 memory