전체 글 54

01. Introduction

Wireless Network의 역사 1896 - 마카로니가 무선 전화를 발명 : 영숫자를 아날로그 시그널로 encoding함, 대서양을 가로질러 전자신호를 보냄 1970 - AT&T와 벨 연구소가 통신위성을 띄움 이후로 무선 기술은 라디오, TV, 휴대전화..를 통해 발전하였으며, 최근에는 무선 네트워킹, 셀룰러 기술, 모바일 앱, IoT기술로 발전하고있음. ex) WLAN, Wi-Fi, ZigBee, RFID... Cellular Telephone cell은 통신의 기본단위로, 이동 통신에서 하나의 기지국이 포괄하는 지역을 가리키는 개념이다. 이동 통신에서는 제한된 주파수 자원을 보다 효율적으로 사용하기 위하여 넓은 지역을 작은 셀로 나누고 셀 중간에 위치한 기지국이 특정 주파수를 사용하여 서비스를 ..

User Mode, Kernel Mode, Interrupt

현대 OS는 사용자 프로그램의 간섭으로부터 운영체제 및 프로세스 제어블록과 같은 주요 운영체제 테이블을 보호하기 위해 User Mode와 Kernel모드를 나누어 관리한다. 따라서 어플리케이션 프로그램들은 직접 I/O 장치에 접근할 수 없다. User Mode -권한을 덜 가진 모드 -사용자 프로그램들이 수행됨 -HW resource에 대해서는 모두 접근 가능 Kernel Mode -더 많은 권한을 가진 모드 -User Mode가 접근할 수 있는 것들 외에 system resource에 대해서도 접근가능 User Mode와 Kernel Mode의 구분 모드 비트(mode bit)로서 구분됨 mode bit가 1 일 경우 user mode, 0일 경우 kernel mode User Mode와 Kernel ..

CS/운영체제 2021.08.27

Process Abstraction / 프로세스 추상화

프로세스 정의 -실행 중인(running) 프로그램 -처리기에 할당되어 수행될 수 있는 개체 프로세스 구성 메모리(Code,Data,Stack) + 레지스터(Program Counter, Stack Pointer) 프로세스 vs 프로그램 1. 프로그램 -disk에 위치 -disk에 위치하는 실행파일(.exe) 2. 프로세스 -memory에 위치 -프로그램이 memory에 올라와 CPU를 할당받고 실행되고 있는 상태 프로세스 생성 -fork()와 같은 system call을 사용해 process를 생성 -프로그램 코드를 메모리로 로드(= 프로세스 자신의 가상주소공간으로 프로그램 코드를 로드) *이 때 disk와의 I/O는 시간이 많이 걸리는 작업이기 때문에, 한꺼번에 전부를 load하지는 않고 가장 먼저 ..

CS/운영체제 2021.08.27

OS , 커널 정의

OS 정의 -운영체제 -자원관리자 -자원을 관리하는 소프트웨어 -하드웨어를 소프트웨어로 추상화 OS 역할 -사용자가 프로그램을 쉽게 사용할 수 있도록 돕는다. :실제로 HW가 어떻게 작동하는지를 숨기고(가상화), 사용자가 간단하게 사용할 수 있는 관리 도구를 제공(추상화)한다. -시스템이 정확하고 효율적으로 작동하는지 확인한다. 커널 정의 핵심 SW로, 기본적으로 메모리에 상주하는 중요한 코어가 되는 SW 프로세스들이 메모리를 공유하고(=가상화) 디바이스와 상호 작용하는 드으이 작업을 대신함으로써 사용자가 프로그램을 쉽게 돌릴 수 있게하는 SW 가상화 vs 추상화 1. 가상화 -메모리를 공유한다. (메모리 측면) -프로세스를 번갈아 수행하여 마치 CPU가 여러개인 것처럼 보이게한다. (프로세스 측면) 2..

CS/운영체제 2021.08.27

모노리틱 커널, 마이크로 커널, 하이퍼바이저

가상화 컴퓨팅에 필요한 물리적 자원을 복제하는 기술 물리적 자원을 복제하여 새로운 가상의 자원을 생성하는 행위 물리적 자원: 어떠한 컴퓨터를 구동하기 위해 반드시 필요한 CPU나 메모리, 디스크, 네트워크 등의 시스템 자원 커널 시스템에 존재하는 자원을 효율적으로 관리하는 자원 관리자 메모리에 항상 상주하고 있는 프로그램(Memory Resident) 자원관리, 메모리관리, 장치관리 1. 자원 관리 커널은 주소공간과 그 안의 자원에 대한 액세스를 중재할 수 있는 보호 매커니즘을 정의함. 또한 프로세스 간 통신과 문맥교환을 담당함. -프로세서 생성 및 소멸 -프로세서 간 통신 -CPU 스케쥴링 동기화 -지한된 자원에 대한 다중 프로세서의 효율적인 관리기법 제공 2. 메모리 관리 커널은 시스템 메모리에 대한..

CS/운영체제 2021.08.25

Python Flask url_for()

url을 다른 url로 리다이렉트 할 때 사용한다. 따라서 url을 동적으로 처리하는데 유용하다. 기본적으로 `url_for`함수는 엔드포인트 함수명을 인자로 받는다. 따라서 이동하고자 하는 라우트의 함수 이름을 url_for() 내에 적어줘야한다. @app.route('/index') def index(): return render_template('index.html', posts=posts) Flask 블로그 이 때 인자 전달도 가능하다. @app.route('/guest/') def hello(guest): return 'guest name :%s' % guest redirect(url_for('hello', guest=name)) 또한 `url_for`함수로 `static` 폴더 내에 있는 리소..

Dev/Flask 2021.07.22

Python Flask Routing

route(): 함수와 URL을 연결해주는 파이썬 데코레이터 /login 경로에서는 로그인 기능을, /login/signup 경로에서는 회원가입 기능을 수행하려할 때 url에 따라 필요한 함수가 달라진다. 이 때 url에 따라 알맞는 함수를 연결해주는 것이 route함수의 역할이다. 정적 페이지 라우팅과 동적 페이지 라우팅 방식이 존재한다. [Python Flask] # 02 파이썬 플라스크 라우팅 # 02 플라스크 라우팅 # 이전 글 : https://dsz08082.blog.me/221798632183 ## 다룬 내용 : 플라스크 정의... blog.naver.com

Dev/Flask 2021.07.21

GitHub 명령어 순서

해당 디렉토리로 이동 git pull origin master // 브랜치 주의 (작업 후) git add . //변경된 파일 추가 git commit -m "메시지 작성" // 변경 파일 확정. head에만 반영된 상태. 아직 원격 서버에는 반영 안됨 git push origin master // 원격 서버에 반영. 이때도 브랜치 주의 git으로 들어가 pull request 처리해주면 됨 //branch 반영 안될 때 git remote update 🔗 git 안내서 git - 간편 안내서 - 어렵지 않아요! rogerdudler.github.io

기록장 2021.07.10

20210705 호스트파일이란

호스트파일은 호스트 이름에 대응하는 IP주소가 저장되어있는 파일이다. 브라우저에 URL을 입력하면, 그 URL 즉 도메인에 해당하는 IP 주소를 DNS 서버를 통해 조회해야하는데, 호스트파일에 특정 사이트의 IP주소를 저장해두면 DNS 서버를 거치지 않고 IP 주소를 얻어올 수 있기 때문에 이 단계를 건너뛸 수 있다. 따라서 인터넷 속도가 향상된다는 단점이 있지만 오히려 해킹에 사용될 수도 있다. ✔️윈도우 호스트 파일 저장 위치 : C:\windows\system32\drivers\etc\hosts ✔️Mac 호스트 파일 저장 위치 : \etc\hosts 내 맥북으로 들어가 본 결과 정말 etc 밑에 hosts파일로 존재한다. 저기서 127.0.0.1은 자기 자신의 컴퓨터 IP주소인데, 특정 웹사이트를..

기록장 2021.07.05

소프트웨어 공모전 회의록 👩‍💻

주제: 온라인 시험 부정행위 방지 s/w, watchU ✏️ 2021-06-22 회의 결과 주제 선정 정도만 기대했으나 시나리오, 역할분담까지 끝마쳤던 아-주! 성공적인 회의였다. 각자 공부해보고 싶었던 부분을 맡아 기능 분담이 잘 이루어진 것 같다. 해리언니가 우리 소프트웨어에 watchU라고 귀여운 이름을 지어줬다. 팀명은 종헌이가 정했다. 치팅멈춰! 다음 회의 전까지 화면 공유 방법-특히 다중 공유기능, 특정 url 접속 차단 방법에 관해 조사해야한다. ✏️ 2021-07-04 회의 결과 ✔️ 얼굴인식기능 teachable machine 사용 안하기로 함 이용자가 직접 teachable machine에 접속하여 이미지를 학습시켜야한다는 한계가 존재하기 때문 다른 방법찾아보기(최대한 AI활용, Ope..

Dev 2021.07.01