일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- FIFO
- information hiding
- OSI 7계층
- Waterfall
- 운영체제
- SDLC
- unity
- SJF
- MAC
- 유니티
- AINCAA
- 메카님
- protection
- Trap
- Unity #Indie Game
- Security
- DSP
- 유스케이스
- stride
- 게임개발
- DP
- link layer
- 배경 그림
- STCF
- 컴퓨터 네트워크
- MLFQ
- 게임 개발
- frequency-domain spectrum analysis
- polymorphism
- OWASP
- Today
- Total
목록분류 전체보기 (240)
다양한 기록
제한된 자원(CPU)를 어떻게 프로세스들에게 나누어 줄 것이냐의 이야기 * 단어 : 워크로드 작업의 양 컴퓨터 과학에서는 작업의 양+ 특성 * 단어: 매트릭스 평가 기준. 스케줄링의 경우.. 1. 반환시간(Turnaround Time) : 종료시간 - 도착시간 2. 응답시간(Response Time) : 첫 실행시간 - 도착시간 3. 공평성(Fairness) 4. 처리율(Throughput) 5. Deadline 여기서 반환시간과 응답시간을 중점으로 보게 될 것입니다. * 데드라인이 필요할 정도의 환경이면 애초에 스케줄링을 안 돌리고 프로세스 하나만 쭉 돌리는 게 나을 것입니다. 1. FIFO 프로세스 A, B, C가 동시에 도착하고, 같은 크기의 작업을 가지고 있을 경우 위 이미지의 1번 경우에서는 평..
직접 수행 (Direct Execution) 어떤 프로그램을 수행시키고 OS가 더 간섭을 안하는 상태를 의미합니다. 가장 빠른 건 이 방법인데, 문제가 있습니다. 타임쉐어링이 안되니까 -> 계속 그 프로세스 하나만 실행될 것 프로세스 하나가 독점해버리는 문제가 발생합니다. 그래서 이에 대한 해결책이 제한된 직접 수행 (Limited Direct Execution) 사용하는 방법이 두가지 있습니다. 1. 제한된 명령어. Restrict Operation 일반적인 명령어들은 직접 수행을 하게 해 줍니다. 대신 몇몇 명령어들은 실행해달라고 부탁해야 합니다. OS, 즉 커널은 이에 대해 부탁을 받고 실행을 해줍니다. 시스템 콜 이야기입니다. 유저모드, 커널모드를 왔다갔다 하는게 바로 이 이야기입니다. 이때 상태..
랜섬웨어 공격의 등장까지, 그리고 현재 2005 ~ 2010 페이크 안티바이러스 익스토션 쉽게 이야기하면, 당신은 바이러스에 걸리셨습니다. 이를 해결하려면 돈을 내고 보안 업데이트를 하셔야 됩니다~.. 같이, 바이러스에 실제로 걸렸는지 안걸렸는지는 몰라도 (보통 거짓말이라 "Fake"라 표현) 일단 걸렸다고 하고 돈을 갈취함 2010 ~ 2015 락커 멀웨어 주의: 파일을 암호화하는게 아님 단지 사용하지 못하는 상태로 "락"하는 것 비밀번호로 잠궈버리는 것이 그 예시 2015~ 랜섬웨어 중요 파일을 암호화하고 돈을 뜯어내는 랜섬웨어가 대량 확산 주의: 이전에 랜섬웨어가 없던게 아니라 이때 대량으로 퍼진 것 2019~ 타겟 어택 특정한 인물을 대상으로 함 2중, 3중으로 갈취 (사회공학적 공격*) APT(..
프로세스란? (메모리, CPU에 올라가서) 실행중인 프로그램 필요한 것 - CPU: 레지스터에 대한 정보를 알아야 함. (PC를 알면 어디까지 실행했는지 알 수 있을 것) - 메모리: 어드레스 스페이스 - 텍스트, 데이터, 스택, 힙 - I/O 정보 프로그램의 시작 - 로드: 코드와 스태틱 데이터 가져오고, 이때 사용하는 포맷을 기반으로 함(ELF) 등 보통, 필요한 코드를 싹 들고오지는 않고 Lazily하게 필요할 때 들고옴. * 함수 만들었다고 그걸 다 쓰는 경우보단 필요한 경우에 뽑아서 쓰는게 많기 때문 - 동적할당: 스택 세그먼트, 파라미터 초기화, 힙 세그먼트 - 초기화: 파일 디스크립터, I/O나 관련된 스트럭쳐 시그널 - 메인 함수로 점프: main() 프로세스 스테이트 new(created..
Inter-Process Communication의 줄임말로, 말 그대로 프로세스 간 통신에 대한 이야기입니다. 더 자세히는 프로세스 끼리 데이터를 전송하고 동기화, 상호작용하는 방법을 의미합니다. 가장 대표적인 것이 파이프일 것입니다. 리눅스 시스템에서 단방향으로 데이터를 전송할 때 사용합니다. 양방향을 원하면 2개 만들면 됩니다. 위 이미지에서 | 가 파이프입니다. 이렇게 하는 것 말고도 시스템 콜 pipe()가 있습니다. 파일 디스크립터를 사용해서 부모 프로세스와 자식 프로세스 간 입력과 출력의 방향을 만들어서 연결시키는 방식입니다. 네임드 파이프는 그냥 파이프가 전혀 모르는 프로세스에는 접근을 할 수가 없다는 단점이 있어 해결하기 위해 사용되는 방식입니다. 이름을 안다면 ..
Client-Server 아키텍처는 네트워크에서 어떠한 리소스나 서비스를 요청하는 클라이언트(엔드 시스템)와, 요청에 응답하는 서버로 이루어집니다. 보통 서버는 다수의 클라이언트의 요청을 받아야 하기에 높은 성능을 갖춥니다. C/S 아키텍처를 사용하면 좋은 점은 클라이언트와 서버 간 분산 처리가 가능하다는 점, 중앙에서 데이터를 관리하기에 효율적으로 데이터 관리 및 보안이 가능하다는 점 등이 있습니다. 그리고 서버는 항상 고정된 IP를 가져야 한다는 특징이 있습니다. 이것은 DoS 공격의 취약점이 됩니다. 서버 - 항상 호스트 - 고정적인 IP 주소 - 확장을 위한 데이터 센터가 있을 수도 - 클라우드 환경을 이용할 수도 클라이언트 - 서버와 통신 - 간헐적인 연결 - 고정적이지 않은 IP 주소 - ..
인터넷을 통해 컴퓨팅 리소스를 제공하는 기술, 모델을 말합니다. 개별적 서버, 네트워크 인프라를 구축하지 않고 인터넷을 통해 이러한 자원을 제공 업체에게 제공받아 사용할 수 있습니다. 필요한 만큼 제공받을 수 있고, 더 필요하면 더 요구하면 됩니다. 거기에 관리도 제공 업체에서 해주니 유지 보수 비용이 크게 줄어듭니다. 초기 투자 비용 또한 줄일 수 있는 등의 장점이 있습니다. 단 클라우드 제공 업체에서 데이터를 잃어버리면 문제가 생기기에, 신뢰성 있는 업체를 고르는 것이 중요합니다. 클라우드 제공 업체는 AWS(Amazon Web Services), Microsoft Azure, Google Cloud Platform 등의 업체가 대표적입니다. 클라우드 제공 서비스의 종류로는 IaaS, PaaS..
웹 어플리케이션 언어 기본적으로는 HTML과 CSS에 대해 이야기할 수 있을 것입니다. 정확히 프로그래밍 언어라고 칭하지는 않지만, 어쨌든 웹 애플리케이션을 개발할 때 많이 사용됩니다. HTML 태그를 통해 웹의 구조를 만들고 CSS를 통해 디자인을 할 수 있습니다. HTML은 다음과 같이 태그로 이루어집니다. HTML5은 HTML의 최신 버전으로 2014년 표준화되었습니다. 문법 면에서 상당히 간결하고 쓰기 편해졌습니다. 과거에 사용하던 외부 플러그인들을 사용하는 대신 자바 스크립트와 연동하여 다양한 기능을 사용할 수 있습니다. 위 이미지처럼 자바스크립트는 다양한 라이브러리를 활용 가능한 프로그래밍 언어로 웹 페이지에서 다양한 기능을 제공할 수 있게 만들어서 웹 애플리케이션으로..