전체 글682 728x90 반응형 [운영체제] 3장 프로세스 - 연습문제 해답 본 글의 해답은 저자가 홈페이지에서 제공하는 해답 위주로 적었고 내용 보충이 필요하다고 생각한 경우 내가 생각하는 답을 추가하였다. 1. 그림 3.30에 표시된 프로그램을 사용하여 LINE A에서 출력되는 내용을 설명하라. 자식이 값 복사본을 업데이트하므로 결과는 여전히 5입니다. 컨트롤이 부모에게 반환되면 그 값은 5로 유지됩니다. 2. 최초의 부모 프로세스를 포함하여 그림 3.31에 표시된 프로그램에 의해 몇 개의 프로세스가 생성되는가? 8개 3. Apple 모바일 iOS 운영체제의 원래 버전은 병행 처리 기법을 제공하지 않았다. 병행 처리로 인해 운영체제에 추가되는 세 가지 주요 문제에 대해 논의하라. CPU 스케줄러는 서로 다른 동시 프로세스를 인식해야 하며 동시 프로세스를 스케줄링하는 적절한 알.. 2022. 6. 6. [운영체제] 2장 운영체제 구조 - 연습문제 해답 2장도 마찬가지로 저자가 홈페이지에서 제공하는 답 위주로 적었고 내용 보충이 필요한 경우 내가 생각하는 답을 추가하였다. 1. 시스템 콜의 목적은 무엇인가? 시스템 콜은 사용자 수준 프로세스가 운영체제의 서비스를 요청할 수 있는 것에 목적이 있습니다. 2. 명령 인터프린터의 목적은 무엇인가? 통상 커널에포함되지 않는 이유는 무엇인가? 명령 인터프린터는 사용자 또는 명령 파일에서 명령을 읽고 일반적으로 하나 이상의 시스템 호출로 변환하여 실행합니다. 명령 인터프리터는 변경될 수 있으므로 일반적으로 커널의 일부가 아닙니다. 3. UNIX 시스템에서 새 프로세스를 시작하기 위해 명령 인터프린터나 셸에서 어떤 시스템 콜이 실행되어야 하는가? 새 프로세스를 시작하려면 fork() 시스템 호출과 exec() 시스템.. 2022. 6. 6. 라이믹스(XE1) 문서 제목을 SQL로 일괄 변경하기 어떤 경우에는 라이믹스(XE1)에서 문서 제목을 일괄로 치환해야하는 경우가 있다. 그 경우에는 아래와 같이 SQL을 작성해서 처리할 수 있다. 1. 문서 목록 확인 아래의 SQL로 어떤 문서들이 어떤 문자열을 가지고 있는지 확인한다. SELECT * FROM rx_documents WHERE title LIKE '%찾을문자열%' 2. 제목이 의도대로 수정되는지 확인 아래의 SQL로 의도한 대로 제목이 수정되는지를 미리 확인한다. SELECT REPLACE(title,'찾을문자열', '') FROM rx_documents WHERE title LIKE '%찾을문자열%' 3. 제목 수정 정상적으로 SQL이 의도대로 작성한다고 생각이 들면 아래의 명령어로 제목을 수정한다. UPDATE rx_documents .. 2022. 6. 6. IPTIME 허브/AP 모드 공유기를 VPN 서버로 사용할 때 포트포워딩이 필요하다. IPTIME 허브/AP 모드 공유기를 VPN 서버로 사용할 때 포트포워딩이 필요한데 L2TP의 경우 아래의 사진처럼 500번 포트를 포트포워딩하면 사용할 수 있다. 보안 이슈가 많은 PPTP는 사용하는 것을 추천하지 않는다. 2022. 5. 29. IPTIME 허브/AP 모드에서 DDNS 설정이 잘 된다. 집에 허브는 없고 공유기만 여러대인 상황이라 공유기를 허브모드로 쓰고 있는데 IPTIME 공유기의 DDNS 기능을 사용하면 어떻게 될지 싶어서 사용해봤다. WAN에 선이 연결되어 있지 않은 IPTIME 공유기가 허브/AP 모드로 활성화되어 있을때 DDNS를 설정하면 외부망과 연결된 라우터의 공인 IP 주소로 DDNS가 등록되는 것을 아래의 사진처럼 확인할 수 있었습니다. 과거에는 내부 사설 IP 주소로 등록되었다고 하는데 개선되었나 봅니다. 참고문서 [1] 김석중, 메인 공유기 밑에 iptime 공유기를 연결해서 iptime DDNS 서버만 쓰는 방법은 없을까요???, 2CPU, 2013년 6월 13일. @2CPU 2022. 5. 29. [CentOS 7/8] HTTPS 서비스를 위해 사설 SSL 인증서 생성하기 HTTPS 등 SSL을 이용한 암호화 통신을 생성하기 위해서는 SSL 인증서가 필요하다. 공인된 SSL 인증서를 쓰는 방법이 가장 좋겠지만 비용이 발생하고 굳이 공인된 SSL이 필요하지 않은 경우 사설(Private) SSL 인증서를 생성하여 사용하는 것이 편리하다. 이 글에서는 CentOS에서 OpenSSL을 이용한 사설 SSL 인증서를 생성하는 법에 대해서 다룬다. 편의를 위해서 아래의 경로에서 작업을 수행한다. 작업 경로: /etc/pki/tls/certs 1. OpenSSL을 설치한다. 아래의 명령어를 입력하여 OpenSSL을 설치한다. yum install openssl openssl version 2. 루트 인증서 키를 생성한다. 아래의 명령어를 입력하여 루트 인증서 키를 생성한다. opens.. 2022. 5. 28. [CentOS] 즉시 재부팅 명령어 CentOS를 즉시 재부팅하는 명령어는 아래와 같다. sudo shutdown -r 대기시간 2022. 3. 16. [GitLab] 보안 향상을 위해 reCAPTCHA를 활성화하자 reCAPTCHA를 활성화 하는 이유 GitLab을 운영하다보면 로그인을 무차별 대입(Brute Force)으로 시도하는 봇이 굉장히 많은 것을 알 수 있다. 안전한 해결방법은 GitLab에 접속가능한 IP 주소를 제한하는 것이겠지만 고정 IP를 사용하는 환경이 아니기에 IP 주소 목록 관리를 위한 지속적인 노력이 발생하므로 사용하기가 어렵다. 대안 중 하나로 로그인할 때 reCAPTCHA를 사용하는 것을 활성화하면 무차별 대입 공격을 어느 정도 막을 수 있다. reCAPTCHA 설정은 'Menu - Admin - Settings - Reporting - Spam and Anti-bot Protection'에서 진행할 수 있다. 2022. 3. 16. GitLab 설치 요구사항(최소사양) Git 서버를 웹 기반으로 편리하게 관리하기 위해 사용할 수 있는 도구 중 하나로 GitLab이 있다. 금전적 여유가 많다면 업체에서 제공하는 Git 서비스를 이용하는 것이 편리하겠지만 비용적으로 부담스러운 부분도 있고 중요한 소스코드를 외부업체에 저장하는 것이다보니 보안적으로 사용이 어려울 경우 대안으로 GitLab으로 Git 서버를 자체 구축하는 방법을 사용한다. 본 글에서는 GitLab 서버를 구축하기 위한 요구사항을 소개한다. 운영체제 요구사항 운영체제에 따라 의존성 패키지 등의 문제로 GitLab 설치가 불가능할 수 있기에 잘 확인하여야 한다. GitLab 공식문서에는 아래와 같이 정리되어 있다. 지원하는 리눅스 배포판 Ubuntu 16.04/18.04/20.04 Debian 9/10 AlmaL.. 2022. 3. 16. [CentOS7] 사설 Git 저장소 구축을 위해 GitLab을 설치하자 GitLab을 쓰는 이유 GitLab은 검증된 웹 기반의 데브옵스 플랫폼이다. GitLab은 Git 저장소 및 CI/CD, 이슈 추적, 보안성 테스트 등의 기능을 갖추었다. GitLab은 자체적으로 호스팅해서 쓸 수 있기에 사설 Git 저장소로 활용하기가 좋다. GitLab 라이센스는 커뮤니티 에디션(Community Edition ,CE)과 엔터프라이즈 에디션(Enterprise Edition, EE) 등이 있는데 커뮤니티 에디션의 경우 무료로 사용이 가능하다. 본 글에서는 GitLab CE를 설치하는 것을 다룬다. GitLab EE를 설치하고 아래와 같이 요금제를 구독하면 CE에는 없는 여러 버전을 사용할 수 있다. 1. 의존성 패키지 설치 및 설정 변경 아래의 명령어로 의존성 패키지를 설치한다. y.. 2022. 3. 15. [GitLab] 지메일을 SMTP 메일 발송 서버로 설정하자 GitLab의 메일 발송 서버를 지메일로 설정하는 이유 GitLab은 여러가지 알림을 메일로 제공하는 기능이 있다. 메일발송 서버를 로컬에 만들어서 사용하는 방법은 사용하기는 간단하지만 보안적인 측면이나 메일 도달성(관리를 하지 않으면 스팸메일로 분류됨)을 고려하면 적합하지 않다. 그러므로 잘 알려진 메일 발송 서비스를 이용하는 것이 장기적으로 봤을 때 유리하다. 무료로 사용할 수 있는 메일 발송 서버로 가장 흔히 사용하는 것 중 하나로 지메일(Gmail)이 있다. 본 글에서는 지메일로 메일 발송을 하기 위해 GitLab SMTP를 설정하는 방법을 설명한다. 1. 지메일 관련 보안 설정을 하고 앱 비밀번호를 발급 받는다. 이 부분은 본 글에서 자세히 설명하지 않는다. 구글 정책과 화면이 자주 바뀌어서 적.. 2022. 3. 15. [GitLab] 회원 가입 신청 승인하기 GitLab의 회원 가입 단계 GitLab은 기본적으로 회원 가입 신청이 가능하고 관리자가 신청을 승인하는 회원 가입 단계가 구성되어 있다. 회원 가입 신청이 있는 경우 'Menu - Admin - Users -> 2FA Disabled'로 가서 아래의 사진처럼 승인할 수 있다. 가입을 승인하는 버튼은 우측의 더보기 아이콘을 누르면 나타난다. 'Approve'를 누르면 위의 사진처럼 최종 승인 화면이 나타난다. 2022. 3. 15. [GitLab] 회원가입 제한하기 GitLab의 회원가입 정책 GitLab은 기본적으로 회원 가입이 가능하도록 설정되어 있다. GitLab의 회원가입 정책 수정 그래서 회원가입을 받지 않을거면 'Menu - Admin - Settings - General - Sign-up restrictions'로 이동하여 'Sign-up enabled' 버튼을 체크 해제하면 된다. 2022. 3. 15. [CentOS 7] 메모리 2GB만으로 GitLab을 구동하지 말자. 메모리가 GitLab에 미치는 영향 GitLab을 메모리에 적재할 공간이 부족해서 가상 메모리를 사용하는데 이 때문에 실행하는데 필요한 시간이 길다. 정상적으로 실행하는 것도 오래 걸리지만 사용자가 다수 있는 경우 사실상 사용이 어렵다. 실험 해보니까 전체 메모리가 1,837MB인데 대부분의 메모리가 GitLab 관련 프로그램 구동에 사용된다. 결론은 메모리 2GB에서 GitLab은 못 쓴다. 메모리를 증설해서 다시 설치하니 잘 동작한다. 메모리가 최소 4GB는 되어야 정상적으로 사용가능하다. 2022. 3. 15. [CentOS] Crontab을 통해 프로그램 스케줄링 CentOS에서 매일 정해진 시간에 프로그램을 구동하고 싶다면 crontab을 이용하여 프로그램 스케쥴을 설정할 수 있다. 1. 프로그램 스케줄 등록 아래의 명령어를 입력하여 프로그램 스케줄 등록 프로그램을 실행한다. crontab -e 아래의 명령어를 입력하여 프로그램 스케줄을 설정한다. '분 시 일 월 요일 명령어'로 구분해서 입력하면 된다. 모든 조건에 해당하게 설정하려면 '*'를 사용하면 된다. '분'은 0부터 59까지 설정할 수 있으며 '시'는 0부터 23까지 설정할 수 있다. '일'은 1부터 31일까지, '월'은 1부터 12까지, 요일은 0부터 7까지 설정할 수 있다. 0과 7은 일요일이며 1은 월요일, 2는 화요일이다. 2. 프로그램 스케줄 목록 확인 아래의 명령어를 입력하여 등록한 프로그램.. 2022. 3. 5. 컴퓨터 네트워크 연구자가 시뮬레이터로 NS-3를 써야하는 이유 필자는 NS-3를 왜 썼는가? 연구실에서 생활할 때 신입생으로부터 많이 받았던 질문 중 하나로 'NS-3를 왜 추천하시는거에요?'가 있었다. 그 당시에 내가 생각하던 NS-3를 써야하는 이유로 적당히 답을 했었던 기억이 난다. 나또한 석사과정 신입생일 때 '컴퓨터 네트워크 시뮬레이터로 NS-2와 NS-3 중에 뭘 쓰는게 좋을까요?'라고 선배에게 물어봤었다. 내가 석사과정 신입생일 때 대부분의 선배들은 NS-2 기반으로 연구를 했었고 몇명의 입학년도가 가까운 선배들만 NS-3를 쓰고 있었다. 선배들로부터 받은 각종 연구 자료들은 NS-2와 NS-3가 혼재되어 있었는데 나는 이 중에 어떤 것에 집중할 지를 고민을 했었다. 고민한 결과 나는 다음과 같은 이유로 NS-3를 주로 썼다. NS-3는 2011년부터 .. 2022. 2. 24. 테더(Tether, USDT) 개요와 설립인물, 경영진, 관련회사 테더(Tether) 개요 테더는 암호화폐 중 하나로 명목화폐와 1:1 비율로 교환할 수 있는 스테이블코인(Stable coin)이다. 1테더는 항상 1달러의 가치를 지니고 있다. 테더는 테더 리미티드(Tether Limited)가 만든 암호화폐이며 홍콩의 암호화폐 거래소인 비트파이넥스(Bitfinex)가 발행하였다. 미국 달러에 페그된 테더를 USDT라고 하며 유로에 페그된 테더를 EURT, 중국 역외 인민폐에 페그된 것을 CNHT, 금에 페그된 것을 XAUT라고 부른다. * 페그(Peg): 페그는 특정 국가의 통화에 자국 통화의 환율을 고정해 두는 페그 제도(peg system)를 줄여서 부르는 경제 용어이다. 설립인물과 경영진 테더 유한회사는는 현재 비트코인 재단의 회장인 브록 피어스(Brock Pi.. 2022. 2. 24. 블록체인 기반 에너지 거래 시스템 동향 분석 블록체인 기반 응용의 한 분야로 에너지 거래가 있다. 미국과 일본, 네덜란드 등 전세계에서 이러한 거래에 관심을 가지고 서비스를 구축하여 시범운영 중이다. 현재는 블록체인 기반 에너지 거래 서비스를 시범구축하고 경제성을 판단하는 수준이다. P2P(Peer-to-Peer) 기반 에너지 거래 시스템의 장점 중앙서버 기반 서비스가 아니고 참여자 간에 네트워크를 형성해서 거래를 하므로 거래 수수료가 없거나 최소화할 수 있고 생산자와 소비자의 시장 참여 절차가 간소화 되어 참여자들의 적극적인 시장 참여를 유도할 수 있는 장점이 있다고 말한다[1]. 국내·외 동향 국내에는 한국전력공사가 미래창조과학부와 한국정보화진흥원의 '사물인터넷 활성화 기반조성 시범사업 블록체인 분야'에서 지원을 받아 2017년부터 '세대 간에.. 2022. 2. 23. 프로슈머(Prosumer) 정의와 등장 정의 프로슈머(Prosumer)는 미래학자 앨빈 토플러(Alvin Tofler)가 정의한 용어로 생산자(Producer)와 소비자(Consumer)의 역할을 둘 다 할 수 있는 주체를 말한다. 최근에 나타나는 프로슈머의 형태 중 우리 근처에서 쉽게 볼 수 있는 것은 태양광전기발전을 설치(생산)한 가정에서 사용(소비)하고 남은 전기를 한전이나 주변 가정에 판매하는 형태이다. 위키피디아에 따르면 개념 자체는 1972년에 마샬 맥루한(Herbert Marshall McLuhan)과 베링턴 네빗(Barrington Nevitt)이 쓴 책 '현대를 이해한다(Take Today)'에서 '전기 기술의 발달로 소비자가 생산자가 될 수 있다.'라는 말로 처음 등장했다고 한다[1]. 근데 내가 조사해보니 마샬 맥루한이 1.. 2022. 2. 23. [Amazon Linux 2] 아파치 웹서버(Apache HTTPD) 2.4 설치하는법 아마존 리눅스(Amazon Linux) 2에서 웹 서비스를 제공하기 위해서 설치할 수 있는 서버 중에 아파치 웹서버(Apache HTTPD)가 있다. 본 글에서는 아마존 리눅스 2에서 아파치 웹서버 2.4를 설치하는 방법을 소개한다. 1. 의존성 라이브러리 패키지 설치 아파치 웹서버를 운용할 때 활용되는 의존성 라이브러리를 아래의 명령어로 설치한다. yum install -y libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel 2. 아파치 웹서버 설치 아래의 명령어를 입력하여 YUM((Yellow dog Updater, Modified)으로 설치가능한 아파치 웹서버 버전을 확인한다. 2.4.52가 설치가능한 것으로 나타나는데 설.. 2022. 2. 21. 이전 1 ··· 24 25 26 27 28 29 30 ··· 35 다음